Wednesday, March 2, 2011

Adaptive Management

Conventional project management methodologies, such as the critical-path method and the traditional "waterfall" method, are suitable for projects with limited uncertainties, variables, and timeframes. The focus on predictive planning, and corrective actions as a project progressed, was a generally well-understood and intuitive approach: use proven processes and tools, define all requirements early-on, develop a step-by-step plan, and follow the plan while measuring progress with previously selected metrics. Simple, right?

Unfortunately, this approach may be too simple for modern project-based organizations. No longer will document and artifact-intensive planning, which can become overloaded with unnecessary features and requirements, dictate the course and final deliverable of a project. To be successful, contemporary project managers must transition from a focus on planning to a focus on execution. This includes the ability to adapt to changing circumstances and changing requirements, and requires constant collaboration with clients and stakeholders.

The Agile Manifesto provides an excellent starting point for contemporary project managers: "Individuals and interactions over processes and tools," "Customer collaboration over contract negotiation," and "Responding to change over following a plan" are three broad tenets aimed at delivering higher-quality results to the mutual satisfaction of clients and the provider. The iterative approach taken by Agile management, and other methodologies such as SCRUM, lead to earlier value realization, reduced conflict, and provide the ability for project managers to quickly adapt the project plan when new developments call for change.

Let's face it - requirements churn is a fact of life in most projects, and it's not necessarily a negative. Our goal, and the customers ultimate requirement, is the best possible solution to their need - this is probably not going to be the solution that most closely conforms to the initial needs analysis or project scope document. Our approach, based on SCRUM's empirical approach, is to accept a problem cannot always be fully understood or defined. So we must maximize the team's ability to respond to changing requirements. This entails a short-term work cycle based on an overarching project strategy and high-level project plan.
 
The plan is divided into multiple phases or iterations, with a more detailed plan created for the next phase (similar to the daily SCRUM meeting that answers these questions: What did you do yesterday? What will you do today? What obstacles are in your way?). Future phases can be changed based on the outcomes of the completed phases, or to meet any new or changing requirements. This allows us to refine plans and estimates as-needed, and to deal with schedule/requirements issues as soon as they are identified.

This adaptive approach provides much more strategic flexibility to the project team and the client. Decisions can be made at the end of each iteration based on the outcomes of previous decisions; when this is combined with a much more collaborative process, the result is a better deliverable that is much more likely to meet actual customer requirements (as opposed to the comprehensive, up-front list of requirements typically found in conventional project artifacts).