My book is mainly about people and what they should do, and most of that hasn’t changed much at all! However, since I wrote the first edition of this book eight years ago a lot has changed in IT, and the second edition reflects those changes.
The methods have changed. Iterative and incremental development methods are now more common than the old-fashioned “waterfall” approaches. There are many less formal “Rapid Application Development” approaches, such as DSDM and eXtreme Programming, which aim to develop systems with less modelling and documentation. I compare these, and provide some guidance on where you might use them.
Object-oriented development was an option eight years ago, but most people were doing something else. Now it’s the most common approach for new systems, and the focus of my examples. In the same way the Unified Modelling Language (UML) has become the standard for system modeling, and I’ve updated my models to use it.
The importance of software architecture and the role of the architect are now much better understood. I’ve extended the Design section to include a number of modern architecture ideas, and design “best practices” which increase your chance of success:
|Design patterns, a way of re-using proven design and programming solutions,|
|Component-based and service-based architectures, which help you to divide a development up, and make better use of existing systems,|
|Multi-tier architectures, the modern way of structuring systems so that different developers concentrate on different concerns,|
|Application integration ideas, technologies and standards,|
|Allowing users to directly manipulate problems via expressive user interfaces.|
We understand much better now than eight years ago that systems don’t stand alone, they have to be integrated with others, and that we have to plan for growth and change. I discuss these issues, and the strategies you should follow to address them.
Finally, I’ve changed. In the last eight years I’ve taken on lots of different roles as an independent consultant. I’ve seen various successes and problems, and if as a result I can improve the advice I gave eight years ago, I’ve tried to do so.