Archive for the ‘Books’ Category
What Lean and Agile really means in development
The latest book of Craig Larman, Scaling Lean & Agile Development, written with Bas Vodde is a very well written guideline and collection of suggestions how Scrum can be scaled to larger teams (meaning more than 7 members). Instead of suggesting more organizational clutter like “Scrum-of-Scrums” it focus an really challenging topics like how to handle large backlogs without loosing the view for the big picture. Besides providing practical suggestions, the book does also a very well job in providing introductions to the values and ideas behind Scrum which are rooted in the Lean and Agile movement as well as in classical ones such as System Thinking. This is the first book I’ve seen which combines a long time of personal experience with all important values and ideas from the domains of Lean, Agile and Scrum (and their foundations) in a very compact form.
Highly recommended!
Unnecessary ghosts from the past
I have recently read a book about the last big cholera epidemic in London which leads to one of the first great data visualisations, Snow’s Map. He counted the number of deaths at every location so this is how he found the center of the epidemic at the Broad Street pump and discovered that the contaminated water was responsible. Currently cholera is back in Zimbabwe on large scale. The most important thing of the treatment is simply clean water, which seems not to be available any more in a country which was one of the highest developed ones before 1980 and destroyed by the criminal regime of Robert Mugabe. It is time that the neighbour countries take care of this mess.
There are other admirable companies besides Toyota
I have currently read the book Maverick! from Ricardo Semler who is CEO and owner of Semco Group, a Brazilian company. Normally you can read today a lot of Toyota and it’s sophisticated and very successful practices and general management style. But Semco is a company which started as very traditional managed company, with a very unspectacular product range, hydraulic pumps and dishwashers in a country which was definitely not known as successful economy. Ricardo Semler and his very creative co-workers have build up a company which seems to be very unique in the world: the structure is build on the best values of democracy, capitalism and socialism, it survived a hard economic system and produce very low organizational overhead. The Semco Way is based on fairness has proven that if you trust people and keep them responsible a more effective and agile company can emerge.
I highly recommend to read this book, it helps to understand why traditional management structures are ineffective and no way to go in our fast changing world …
UPDATE: His second book, The Seven-Day Weekend, is different from his first. Maverick! is basically a biography of Semco, the newer one is written from a more outsider like position and, more interesting, after Semco has become a very large, diversified group of different companies. So this book is written in a bit more like style of an general management advisor, but never the less highly recommended.
Randy Pausch died today
Today Randy Pausch finally died of cancer. He gets famous by the creation of the Alice software project and lately by the book “The Last Lecture” which he wrote fully aware of his cancer. In his book he tells about what was really important in his life and how he handled the diagnosis for cancer. It is worth reading!
Contribute to a book
O’Reilly has started their first trial for a open book content contribution project. Because it is about software engineering I think most people working in this very sophisticated and world changing domain have a strong opinion to some points. It will also be interesting how well this works for O’Reilly. The concept was and is used for a lot of smaller book projects but I think O’Reilly ist the first big commercial publisher who is using this technique.
A comprehensive overview of useful data mining algorithm
The book Programming Collective Intelligence from Toby Segaran is a practical useful guide through the most common data mining, more exact classification, algorithms. The book covers the traditional algorithms as decision trees, naive Bayesian classifier, neural networks, clustering and not so common ones as support-vector machines and non-negative matrix factorization. The last one was new for me. The first paper seems not to have surfaced before 2000 so it is relatively new technique and has shown very good results in the case of feature extraction of large numerical spaces. Also optimizing functions like simulated annealing and genetic algorithm are mentioned. Interestingly, there is also a small example for genetic programming.
All algorithms are explained with examples and small programs in Python. The only thing I’ve missed is a mathematical representation in addition to the explanation itself, but at least all utility functions are explained more formal in the appendix.
Found a missing piece
I’ve currently read the book Agile Management for Software Engineering written by David J. Anderson and I have to say that the book really fill a gap in the description of agile practices. Anderson describes very well why agile methods work and that maybe have the same impact as the Toyota production system models had on the manufacturing side. Besides explaining the advantages very well, the book provides to not so common highlights: the comparison of a cost oriented management method against throughput oriented, the reasoning why most resources used for software development are constrained ones and, unique for a book on this topic, metrics to keep track of an project, plan buffers and quantify the output value.
An other interesting point, and rightfully so, is that he emphasis that the phases of software development are always the same, analysis, design, implementation, test and deployment, only the the time then and the way how they are executed are different.
The second part of the book makes a very good comparison between traditional management methods and various agile ones, namely XP, SCRUM and FDD (Feature Driven Development). All methods are presented with metrics for planning, tracking and costs so he can directly show how and then each has advantages.
The book is available since some years but because I was not so fond of the ideas behind FDD, which I misunderstood somehow, I never read it until now. After reading, I highly recommend it for everyone who thinks that a piece of knowledge was missing if you have to argument in favor of agile methodologies and practices.
Best book so far of 2007
The book Beautiful Code edited by Andy Oram and Greg Wilson is a collection of 33 essays about what experienced developers declare as beautiful code. The essays cover a wide range of languages or have you lately seen any book where you can find code snippets from Java, C#, Lisp, Perl, C/C++ and Fortran? Nearly all articles are well written and tell a story about a neat peace of code which solves a mostly not so simple problem well. My five favorites are the following ones:
- A Regular Expression Matcher by Brain Kernighan
A story how interesting and simple a regular expression method could be … - Beautiful Tests by Alberto Savoia
Why binary search implementation is not so simple as most people think … - A Spoonful of Sewage
Handle concurrency is hard, handle it in the Solaris kernel well is a challenge … - Beautiful Debugging by Andreas Zeller
How delta debugging came into the world … - Writing Programs for “The Book” by Brain Hayes
A simple geometric problem which is not so simple as it seems on the first glance …
All other stories are also worth to read, although sometimes I had to admit I got lost in code (especially in Fortran or Lisp).
Release It!
Michael T. Nygard’s book is one a rare one because it tells something about the time after a project was finished and is released for the first time into the world. The basic message is that you can not anticipate failures which certainly will occure if the system is used. Besides failures caused by programming failures, a lot of failures occure because the capicity of the system was never tested and the constraints of it indifferent situations were not correctly identified. He presents patterns and anti patterns for stability and capacity. Some are well known, but often not easy to handle (e.g. resource pooling), others are interesting as the circuit breaker which has the purpose to “break” the normal handling of operations if the failure rate becomes to high. After it has “opened”, all calls will fail immediately, but all ongoing transactions can be completed and the resources can recover, so no cascading failure happens. Another favorite is that we have always the wrong intuition about scaling, we always think linear, so as example I’ve clearly underestimated the change of database size from 100 GB to 1 TB and 2TB and so on.
So QA and load tests are not needless, far from it, but you should expect that the only accurate model of the world is the world itself. Building script able management interfaces, decouple systems as much as possible and expect that users will do unspeakable things will help. With the time and accurate data about the system’s health, it will become more predictable.
The book is a bit web site centric, but nearly all is true for all large system deployments. It covers a lot of points in very few pages but this can be a advantage because it is fast to read and will certainly help to smooth deployment and troubleshooting in operations.
The Art of the Start
This book from Guy Kawasaki is the most compact list of sticky notes for starting a company. It is written for for the American market, certainly for the fast changing Bay Area, but it is fast to read, is very direct in his speech and provides valuable tips for providing presentations, what is important in the different phases of a startup and tells something about the common pitfalls on the way. What makes the book serious is for one thing, it is clear that he made sometimes the same mistakes and on the other side, whoever was part of one or more Startups has already made sometimes the same experiences … interesting that they seem not so different from the American soil.
The book is something you should read every time you are involved in processes mentioned in there, as making speeches, presentations, recruiting, business plans and so on. But beware, Austria is different in a lot of ways and and besides books you should speak who to someone who has successful started a company (the are a rare species after all
).
Besides, the most common ignorance of Austrian companies is to recognize that they are in the bootstrap phase, most decide if they got funded they are out of it. Nothing can be further from the truth!
Leave a Comment
Leave a Comment
Leave a Comment