His name is Darius Blasband and he is a codeaholic. This is how one of the first chapter of the book The Rise and Fall of Software Recipes is titled. You should therefore expect to read this book as a conversation that you could have with a colleague in his 50s around a glass of nice (Belgian) beer. There are some recipes and a lot of software in this book, but everything is written from a very personal point of view.
You have been warned in the introduction of the book: “It is made of a collection of loosely connected essays, which makes it immensely entertaining to write, because of the myriad of subjects, topics and domains one can choose from to make a point. Technical matters, personal anecdotes, facts, opinions, business issues – nothing is off-limits. Everything goes”. And in this book you can read about everything: software reviews, garbage collectors, comments, domain-specific languages, Microsoft’s Word, Pacbase, literate programming, UML, failure, Agile, SAP, etc.
So why should you care about the software development life and opinions of Darius Blasband? I will start with a disclaimer saying that my age and background have some similarities with him. Thus some of the stories bring back memories from my software development life, even if I don’t know Darius. Nevertheless, I think the main value of this book is providing a very personal perspective on software development. This perspective is backed by the experience of having founded and developed a software tool company since 1999. And there are not many companies in this domain that are still operating independently after all these years. So whether you are a software developer with some gray hairs or if you have just started your professional careers, you might find in this book some interesting opinions about code and software development projects that you could relate and integrate in your current programming practice.
Reference: “The Rise and Fall of Software Recipes”, Darius Blasband, Reality Bites Publishing, 330 pages, IBSN 978-94-90783-42-6
Web site: http://www.dariusblasband.com/
The quality of the people is the single most important factor contributing to success in software development projects, but good people are hard to find.
Iterations in the development process are the acceptance that one cannot develop half-decent software without reconsidering, refactoring, redesigning as the project advances. The waterfall is a delusion. Completion is uncertain. The past must be questioned, over and over again.
But iterations defeat the purpose of methodologies. How much of a methodology is it still? How much of a measure of completion does it allow for? How much of a structure does it put on software development? How more manageable and more measurable does the resulting process become?
Iterations are not an advance in the state of the art. They are a concession of defeat. They are the admission that formalizing the software development process is pointless.
On top of all the other techniques that can be applied at the code level to improve quality, understandability and maintainability, comments are useful, but they should be used as a last resort only, when the structuring and informational capabilities of the language at hand prove insufficient to adequately express the developer’s knowledge and intention.
Software architecture is an important activity, but it only works when architects stick with the project until delivery, when they use the feedback from the development team to amend their design when needed, where it is too complex, too simple, too fragile, too rigid or too cumbersome. Quality and success will only come if the architects take their share of responsibility, stay with the project to the end, the good, the bad and the ugly. And by the way, software architects are not architects.