Software Development Books

August 17, 2010

Software Development Books provides reviews on books covering all topics of software development and software engineering: UML, Agile Methodologies (eXtreme Programming, Scrum, TDD, FDD,..), Software Testing, Software Configuration Management, Database Modeling, Java, .NET, RUP, Software Project Planning and Management, Test Automation, Programming, Software Analysis and Design, Quality Assurance, Software Process Assessment and Improvement, Software Development Tools, Risk Management, Refactoring.

Thinking Tools for Scaling Lean and Agile

March 17, 2009

This book from Craig Larman and Bas Vodde is a classic example of the fact that it is better to teach somebody to fish than to give him fish. It emphasizes that it is important to “be agile” more than to “do agile”. Approaches like Scrum or Lean are more frameworks to think about continuous improvement than tools that should be applied blindly like cooking recipes. The book will therefore tell you that “large-scale Scrum is Scrum” or that lean is not just kanban or waste reduction. The first part of the book is focused on thinking tools (systems thinking, lean thinking, queueing theory) that are presented with software project management related examples. Those who are looking for practical advice should not believe that the book remains only at the conceptual level. The authors distill many “try…” and “avoid…” recommendations that will help you implement agile and lean ideas in your organization. The second part of the book is devoted to organizational tools and the final chapter proposes frameworks to adapt Scrum to larger contexts.

This book is a must for those who believe that software development project management goes beyond the simple application of “silver bullet” recipes. It is a rich source of both thinking and practical content that is well suited for non-linear reading. A very good “Scrum primer” chapter at the end of the book will provide an introduction for those who are not familiar with this approach and a large number of “recommended readings” items will allow readers to explore more in details each concept.

Get more details on this book or buy it on

Ajax In Practice

August 18, 2008

This book by Dave Crane, Bear Bibeault and Jord Sonneveld aims to be of a second-generation Ajax book. It should go beyond just explaining the technology and explore in details the different client-side Ajax technologies and show what you can do with them. The target audience is a developer that has already a background of developing web applications and a basic knowledge of JavaScript. I can say that the book achieves its goals and provides practical concepts and code excerpts that can be readily used. For every topic that is discussed in the book, there is a detailed code example that shows how to use it in practice. I like also the fact that the specific goal of important lines are put in evidence in the code examples.

The book is divided in two parts. The first part contains four chapters that present the basic concepts of Ajax. After an introduction, it discusses the various communications techniques like Json or XML. A chapter is then dedicated to object-oriented JavaScript, that the authors present as a must to build scalable Ajax code. Finally, the book takes a closer look at the different JavaScript libraries (Prototype, Dojo and JQuery) used for Ajax applications.

The second part presents the various practices that could be used in client-side programming and are related to Ajax, either directly or indirectly: events, data entry and validation, navigation, drag-and-drop, usability, state management. Each topic is clearly explained in a dedicated chapter. A chapter is also dedicated to integrating outside API like Yahoo! or Google maps. A last chapter is dedicated to a sample mash-up application.

Source code and sample chapters for this book can be find on

Get more details on this book or buy it on

Get more details on this book or buy it on

Managing Iterative Software Development Projects

April 22, 2008

As agile software development approaches are more and more adopted in software development organizations, the title of this book from Kurt Bittner and Ian Spence seems to be right on the target. The book contains two major parts. The first gives an overview of iterative project management. It defines the concepts, discuss controlling and gives tips to assess your readiness for iterative project management. The second is a more detailed walk-through to the planning and management of iterations at different levels. It provides also information on how to assess the results of iterations, discuss the relation between iterative project management and project scales. The last chapter is dedicated to the information needed to start your first iterative project. Finally, appendices provide material on use case development (the topic of a former book from the same authors), templates, checklists and an example of 50 pages.

The process behind the book is widely based on the RUP approach; thus practitioners of a “pure” agile approach could be disoriented by the content. However, this book contains very valuable and pragmatic material about managing iterative project management that could be used in any iterative context. It will also provide good transition information towards an iterative process for project managers that operate in a more traditional organization. With 600 pages, it is a not an easy book that is quickly digested. It will nevertheless helps you to improve you grasp on iterative project management, whether you read the book sequentially or you pick sections according to your current project management questions.

Get more details on this book or buy it on
Get more details on this book or buy it on

Agility and Discipline Made Easy

February 19, 2007

The goal of this book is to present good practices for software development that are based on OpenUP and RUP, but independently from these processes. The practices are grouped according to six principles:
* Demonstrate value iteratively
* Focus continuously on quality
* Balance stakeholder priorities
* Collaborate across teams
* Elevate the level of abstraction
* Adapt the process

For each practice, the authors propose a definition, practical advices on how to apply and adopt the practice, related practices and further readings. This material is very practical and contains many references to “real life” situations. The practices are selected from RUP and OpenUP and each chapter has a section devoted to compare the situation in other approaches, mainly XP and Scrum.

This book is full of practical knowledge and I will recommend it to every software developer. The only thing that bothers me is that the authors seemed to be forced to apply the “agile” label on their UP practices, with the implicit assumption that “if it is not waterfall, it is agile” and “if it is not agile it is not good”.

Click here to get more details on this book or buy it on

Click here to get more details on this book or buy it on

References on the Web:
Eclipse Process Framework Project (EPF)

Enterprise Architecture for Integration

January 23, 2007

This book presents a top-down approach to define an information system architecture at the enterprise level. It begins with a short presentation of the Zachman Framework that is used as the basic tool to analyse enterprise architecture. A first part is then devoted to present approaches used to express the strategy. A second part describes the techniques used to translate the strategic goals at the information system level with data and process modelling. Finally, a third part discusses current technologies and products involved to integrate applications and deploy the enterprise architecture. A CD-ROM is provided with the book. It contains problems and solutions to apply the concepts presented in the book, products information and some modelling tools.

Clive Finkelstein is a founding father of Information Engineering and he continues to apply its principles. The goal is to help large organisations to manage their complex information systems. Being strategic doesn’t imply always multi-years projects. The book states that the enterprise architecture portfolio plan for a large company can be created in 8-12 weeks. It also recommends 2 days workshops to define sub-systems that have a 3 months delivery objective. Many examples are provided in the book.

This book is recommended for people that are managing applications or portfolios of applications at the enterprise level. It provides also valuable knowledge for business analysts/architects with a detailed examination of the data and process modelling activities and the definition of coherent and autonomous sub-systems. The book has close to 500 pages of dense material, but each chapter could be used separately according to your needs.

Get more details on this book or buy it on

Get more details on this book or buy it on

%d bloggers like this: