Geeks With Blogs
Murat Uysal

Book: Agile Project Management

Author: Jim Highsmith

Publisher: Addision Wesley

Hardcover: 277 Pages


Introduction: This book review mainly focuses on concepts discussed in the book and gives references to the related sections in the book. Although Highsmith describes Agile Project Management independent of the product being developed and gives examples of different product developments (other than software) in this review I will try to keep the discussion specific for software product development and want to say you can definitely benefit from this book even you are not developing software. 



“When we reduce the cost of experimentation enough, the entire economics of how we do product development changes-it switches from a process based on anticipation (define, design, build) to one based on adaptation (envision, explore, adapt). When the cost of generating alternative plunges and cost of integrating them into a product is low, then great products aren’t built, they evolve” (Highsmith 2004)


“Innovative product development depends on exploring the uncertain to add product value and maintain competitive advantages …” (Highsmith 2004)


1) Core Agile Values:


Here is the Manifesto for Agile Software Development declared:


“Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan


While there is value in the items on the right, we value the items on the left more”


While good processes and tools in place can increase the productivity dramatically, by no means they can replace an individual. At the end it is the individuals following/using these processes and tools and making decisions.


Delivering the actual working product to the customer and getting the feedback reveals the strengths and weaknesses of the products. This way customer would not go into the process of trying to visualize what is described in the documentations instead would have either a working version of the actual product or a prototype (substitute) of the actual product. Documentation here is the output of this delivering and getting feedback process not the substitute of this process.


In the end software becomes useless unless it creates a value for the customer by automating the processes and increasing the productivity and so on. Hence customers define the value and requirements which turns into features of the products. After all nobody would use a software package that creates a tax file with no deductions rightJ


The business is constantly changing and the plan at the beginning of the product development gradually becomes obsolete and needs to be revised. In order to react to the changes occurring in the business an adaptation to change and in turn experimentation needs to be encourages throughout the product development team.


In the first chapter Highsmith did such a good job on showing the requirements for developing innovative product by defining agility and how to implement it in product development cycles.


2) Adaptability:


“Iterative development means that we build a partial version of a product and expand that version through successive short time periods of development followed by reviews and adaptation. Feature-base delivery means that the engineering team builds features of the final product or, particularly with industrial products, at least a close representation of the final product (such as a simulation model).“ (Highsmith 2004 p40)


“For projects and products in which the requirements can evolve over time, it is critical that the results reviewed by customers during the development process be as close to versions of the actual product as possible” (Highsmith 2004 p41)


Iterations are time-constrained development duration where a set of predefined features will be developed and by the end of iteration partial product can be deployed. By getting customer feedback at the end of the iteration, the features are prioritized again and the set of features for the next iteration is determined. By iterative development instead of following a plan and trying to comply with the initial architecture, the architecture and plan evolves and adapts to changes. Iterations allow you to do more experiments identify problems early, manage risks associated with the product sooner which in turn offer a cost effective development.


Creating an organization which is open to adopt and encourage experimentation and change requires building self-organizing, self-disciplined teams which in turn depends on so many factors from management to the people in the teams. Highsmith discusses what a company can do to create adaptive teams in chapter 3.


To look how and wehere we can apply agile software development principles throughout the project development bear with me at Chapter 3...

Posted on Monday, September 5, 2005 8:28 AM Book Reviews , Agile Project Management | Back to top

Comments on this post: Agile Project Management - Jim Highsmith Ch 1 - 2

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © Murat Uysal | Powered by: