Sunday, January 13, 2008

Mike Griffith Turns the Declaration of Interedependence into a Narrative People Understand Better

I've not yet met Mike Griffith, but I like the way he thinks already.

Here's a recent post from his blog on how to make the Declaration of Interdependence more memorable:


1) We increase return on investment by making continuous flow of value our focus.


1) Amaze your users, keep giving them what they ask for!

Concentrate of developing features the business asks for. This is how we can get the best business benefits and support for the process. When your projects consistently deliver business results they are hard to ignore, cancel or deny requests from.

2) We deliver reliable results by engaging customers in frequent interactions and shared ownership.


2) When planning interaction with the business, try to be more like the good neighbor who you see frequently and can easily call on, than the intrusive relative who moves in for a while and then disappears for a year.


We want business interaction that is regular and engaging, not a huge upfront requirements gathering phase followed by nothing until delivery. Frequently show how the system is evolving and make it clear the business drives the design by listening and acting on their feedback.

3) We expect uncertainty and manage for it through iterations, anticipation, and adaptation.


3) Since software functionality is hard to describe, technology changes quickly and so do business needs, software project typically have lots of unanticipated changes. Rather than trying to create and follow a rigid plan that is likely to break, it is better to plan and develop in short chunks (iterations) and adapt to changing requirements.


4) We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.


4) We manage property and lead people, if you try to manage people they feel like property.

Projects are completed by living, breathing people, not tools or processes. To get the best out of your team we must treat them as individuals, provide for their needs and support them in the job. Paying people a wage might guarantee that they show up, but how they contribute once they are there is governed by a wide variety of factors. If you want the best results, provide the best environment.

5) We boost performance through group accountability for results and shared responsibility for team effectiveness.


5) Everyone needs to share responsibility for making the project, and the team and as a whole, successful.

6) We improve effectiveness and reliability through situationally specific strategies, processes and practices.


6)Real projects and complex and messy, rarely do all the ideal conditions of agile development present themselves. Instead we have to interpret the situation and make best use of the techniques, people and tools available to us. There is no single cookbook for how to run successful projects; instead we need to adjust to best fit the project ingredients and environment we are presented with.

Check out Mike Griffith's blog !

Mike Griffith, a leading agile consultant who is able to "cross over" between the world of agile project management, as expressed by the APLN, and traditional "command and control" project management as expressed by the Project Management Institute and the ubiquitous PMP certification has an outstanding blog, which you can access here.

Sunday, January 6, 2008

What is Agile Project Management ?

Agile Project Management is an approach to project management that differs from the more established "command and control" process oriented "high ritual" approach emphasized by the Project Management Institute, as described in the Project Management Book of Knowledge.

According to Wikipedia:

The PMBOK Guide recognizes 44 processes that fall into five basic process groups and nine knowledge areas that are typical of almost all projects.

The five process groups are:

1. Initiating
2. Planning
3. Executing
4. Controlling and Monitoring
5. Closing

The nine knowledge areas are:

1. Project Integration Management
2. Project Scope Management
3. Project Time Management
4. Project Cost Management
5. Project Quality Management
6. Project Human Resource Management
7. Project Communications Management
8. Project Risk Management
9. Project Procurement Management

Each of the nine knowledge areas contains the processes that need to be accomplished within its discipline in order to achieve an effective project management program. Each of these processes also falls into one of the five basic process groups, creating a matrix structure such that every process can be related to one knowledge area and one process group.

In contrast, Agile Project Management methodologies focus on regular interaction between the people (developers and customers) involved in the project and frequent, iterative delivery of working prototypes of the product or service.

The Agile movement is best described by the 2004 Document known as the Declaration of Interdependence, which describes agile and adaptive approaches for linking people, projects, and value:

We are a community of project leaders that are highly successful at delivering results.

To achieve these results:

1. We increase return on investment by making continuous flow of value our focus.


2. We deliver reliable results by engaging customers in frequent interactions and shared ownership.


3. We expect uncertainty and manage for it through iterations, anticipation, and adaptation.


4. We unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference.


5. We boost performance through group accountability for results and shared responsibility for team effectiveness.


6. We improve effectiveness and reliability through situationally specific strategies, processes and practices.


Agile methodologies were first developed in software development. The professional organization focused in that arena is the Agile Alliance. Subsequently, the methodology has been used throughout the information technology field, especially in the area of software system implementation, in new product development, in quality management, and in any other areas in which projects are an integral part of organizational activity. The professional organization that promotes agile methodologies in these areas is the Agile Project Leadership Network.

What is Project Management ?

Wikipedia defines project management as follows:


Project management is the discipline of organizing and managing resources (e.g. people) in a way that the project is completed within defined scope, quality, time and cost constraints.

A project is a temporary and one-time endeavor undertaken to create a unique product or service, which brings about beneficial change or added value. This property of being a temporary and one-time undertaking contrasts with processes, or operations, which are permanent or semi-permanent ongoing functional work to create the same product or service over and over again.

The management of these two systems is often very different and requires varying technical skills and philosophy, hence requiring the development of project managements.