The Project Management Institute (PMI®) has come a long way in standardizing the
"accidental profession" of project management. The Project Management Body of Knowledge (PMBOK®) helps unify the language and structure of
how we manage projects. Unfortunately, the PMBOK® doesn't teach methodologies, leaving us to learn them 'on the job'.
Just like opinions, seems like everybody has a project management methodology (and an opinion on what is a methodology and what isn't), and
there is no one 'right answer'.
Maybe the best selling author and Microsoft Program Manager (for their biggest projects) says it best:
"Few people agree on how to plan projects....
It's not surprising then that the planning-related books in the corner of my office disagree heavily
with each other...
But more distressing than their disagreements is that these books fail to acknowledge that other approaches even exist."
-- Scott Berkum, The Art of Project Management/Making Things Happen
So here's a high level overview of some of the project management & software development methodologies I've used or read about over the years as a reference.
Hopefully this information is useful to you.
Adaptive Project Framework
Similar to the concept of “rolling
” from the PMBOK, the fundamental concept underlying the
adaptive project framework (APF) is that scope is variable
, and within
specified time and cost constraints, APF maximizes business value by adjusting
scope at each iteration
. It does this by making the client the central
figure in deciding what constitutes that maximum business value. http://www.mariosalexandrou.com/methodologies/adaptive-project-framework.asp
Agile Software Development (Overview)
Refers to a group of software
development methodologies based on iterative development, where requirements
and solutions evolve through collaboration between self-organizing
cross-functional teams. Most agile methods attempt to minimize risk by
developing software in short timeboxes
, called iterations, which typically
last one to four weeks. Each
iteration is like a miniature software project of its own
Agile methods emphasize real-time
communication, preferably face-to-face, over written documents. Most agile
teams are located in a bullpen and include all the people necessary to finish
The term was coined in the
year 2001 when the Agile Manifesto was formulated.
Agile: Crystal Methods
Crystal methods are a family of ‘lightweight’ methodologies (the Crystal family) that were developed
by Alistair Cockburn
and sixteen other software engineers in 2001. The methods
come from years of study and interviews of teams by Cockburn. Cockburn’s
research showed that the teams he interviewed did not follow the formal
methodologies yet they still delivered successful projects. The Crystal family
is Cockburn’s way of cataloguing what they did that made the projects
Based on 4 assumptions about
- People are communicating beings, doing best face-to-face, in person, with real-time question and answer.
- People have trouble acting consistently over time.
- People are highly variable, varying from day to day and place to place.
- People generally want to be good citizens, are good at looking around, taking initiative, and doing ‘whatever is needed’ to get the project to work.
Agile: Dynamic Systems Development Model (DSDM)
A software development methodology
originally based upon the Rapid Application Development methodology. DSDM is an
iterative and incremental approach that emphasizes
continuous user involvement
Its goal is to deliver software
systems on time and on budget while adjusting for changing requirements along
the development process. DSDM is one of a number of Agile methods for
developing software, and it forms a part of the Agile Alliance. http://en.wikipedia.org/wiki/Dynamic_Systems_Development_Method
Agile: Feature Driven Development (FDD)
Is an client-centric,
architecture-centric, pragmatic, iterative and incremental software development
process. It is one of a number of Agile methods for developing software and
forms part of the Agile Alliance. FDD blends a number of industry-recognized
best practices into a cohesive whole. These practices are all driven from a
client-valued functionality (feature
perspective. Its main purpose is to deliver
tangible, working software repeatedly in a timely manner. http://en.wikipedia.org/wiki/Feature_Driven_Development
Agile: Lean Development (LD)
Is a translation of lean
manufacturing principles and practices to the software development domain.
Adapted from the Toyota Production System, a pro-lean subculture is emerging
from within the Agile community.
are 12 principles of Lean Development:
- Satisfying the customer is the highest priority.
- Always provide the best value for the money.
- Success depends on active customer participation.
- Every LD project is a team effort.
- Everything is changeable.
- Domain, not point, solutions.
- Complete, don't construct.
- An 80 percent solution today instead of 100 percent solution tomorrow.
- Minimalism is essential.
- Needs determine technology
- Product growth is feature growth, not size growth.
- Never push LD beyond its limits.
Is an iterative
incremental framework for managing complex work (such as new product
development) commonly used with agile software development.
”, “process skeleton”, “Scrum Master”, “Product Owner”,
At the Daily Scrum all
are welcome, but only key people can speak - the "pigs" - which are
the team, the "scrum master" and the " Product Owner" who
represents the stakeholders.
is 15-20 minutes long and happens - on time - at the same time and place each
During the meeting, each team
member answers three questions:
have you done since yesterday?
What are you planning to do by
Do you have any problems
preventing you from accomplishing your goal? (It is the role of the Scrum
Master to remember these impediments.)
formal meetings occur between "sprints" (Iterations to review the
last sprint and plan the next.)http://www.significantdatasystems.com/ProjectManagement/Scrum.html
Developed by Eliyahu Goldratt, Critical chain focuses on resources by keeping them 'levelly loaded' but asks that they be flexible and adaptable to changing
start times to benefit the project schedule.
Wikipedia Article on Critical Chain
From Wikipedia: "Event chain methodology is an uncertainty modeling and schedule network analysis technique that is focused on identifying and managing events and event
chains that affect project schedules. Event chain methodology is the next advance beyond critical path method and critical chain project management."
Wikipedia Article on Event Chain
Extreme Programming (XP)
XP is a deliberate and disciplined
approach to software development. Risky
projects with dynamic requirements are perfect for XP
. These projects
will experience greater success and developer productivity.
XP is a refreshing new approach. XP is
successful because it emphasizes customer involvement and promotes team work. http://www.extremeprogramming.org/rules.html
GEDPRO is a consulting company that has published an "Open Project Management Methodology" and provides templates that make it 'easy to manage projects'.
GEDPRO/Open Project Management Methodology
Developed by the Swiss government and based on the German V-Modell, HERMES is a 6 step 'concrete' process:
Including two different project types (System development & System adaptation) that determine
steps 3 and 4 (hence the "/" in the list above).
The HERMES Method
Information Technology Infrastructure Library (ITIL)
Is a set of concepts and policies for managing information technology (IT) infrastructure, development and operations.
ITIL is published in a series of books, each of which covers an IT management topic. The names ITIL and IT
Infrastructure Library are registered trademarks of the United Kingdom's Office
of Government Commerce (OGC). ITIL gives a detailed description of a number of
important IT practices with comprehensive checklists, tasks and procedures that
any IT organization can tailor to its needs.
The IT Service Management sets are:
- Service Delivery,
- Service Support,
- ICT Infrastructure Management,
- Security Management,
- The Business Perspective,
- Application Management,
- Software Asset Management
- Planning to Implement Service Management,
- ITIL Small-Scale Implementation
Integrated Master Plan/Integrated Master Schedule (IMP/IMS)
From PM Toolbox: "IMP/IMS is a project planning and controls paradigm that defines done not only in physical
percent complete but also in the planned maturity of the deliverables."
PM Toolbox's IMP/IMS Reference
Iterative and Incremental
Developed in response to the weaknesses of the waterfall method, Iterative is characterized by loops (iterations) back through the core steps of the project
to facilitate 'progressive elaboration' (peeling the layers of an onion) to work towards the needed deliverable(s).
Author of "The Project Manager's Desk Reference", Dr. James P. Lewis has a 16 step
methodology described as a 'logical path'. There are other versions of this methodology
using fewer steps.
The full 16 steps are:
The Lewis Method Introduction
- Concept is Developed
- Develop a Problem, Vision, and Mission Statement
- Generate Alternative Project Strategies
- Select and Evaluate the Strategy
- Ask: Is the Evaluation OK?
- Develop an Implementation Plan
- Ask: Is the Plan OK for all Stakeholders?
- Signoff Project Plan and Setup a Project Notebook
- Execute the Plan
- Ask: Is Progress OK?
- Ask: Is the Definition OK?
- Ask: Is the Strategy OK?
- Ask: Is the Plan OK?
- Ask: Is all work complete?
- Conduct Lessons Learned Review
- Closeout Project
Managing Successful Programs (MSP)
From the MSP website: "A methodology that comprises a set of principles and processes for use when managing a programme.
A programme is made up of a specific set of projects identified by an organisation that together will deliver some defined objective,
or set of objectives, for the organisation. The objectives, or goals, of the programme are typically at a strategic level so that the
organisation can achieve benefits and improvements in its business operation."
A four phased life cycle approach (Initiation, Planning, Execution, Closure)
each phase has several steps. What makes Method 123 stand out is that they have a software solution
that provides templates, and "Everything you Need" to manage a project from end-to-end, making it more of a PMIS than just a methodology.
Method 123 Lifecycle
PRINCE2 is a process-based
approach for project management, providing an easily tailored and scaleable
project management methodology for the management of all types of projects. The
method is the de-facto standard for project management in the UK and is
practiced worldwide. http://www.prince2.com/
Rapid Application Development (RAD)
A type of software development
methodology which uses minimal
planning in favor of rapid prototyping
Rational Unified Process (RUP-IBM)
Is an iterative software
development process framework created by the Rational Software Corporation, a
division of IBM since 2003. RUP is not a single concrete prescriptive process,
but rather an adaptable process framework, intended to be tailored by the
development organizations and software project teams that will select the
elements of the process that are appropriate for their needs. http://en.wikipedia.org/wiki/IBM_Rational_Unified_Process
The spiral model is a software
development process combining elements of both design and
prototyping-in-stages, in an effort to combine advantages of top-down and
bottom-up concepts. Also known as the spiral lifecycle model, it is a systems
development method (SDM) used in information technology (IT). This model of
development combines the features of the prototyping model and the waterfall
model. The spiral model is intended for large, expensive and complicated
Systems Development Life Cycle (SDLC)
In systems engineering and
software engineering, is the process of creating or altering systems, and the
models and methodologies that people use to develop these systems. The concept
generally refers to computer or information systems.
In software engineering the SDLC
concept underpins many kinds of software development methodologies. These
methodologies form the framework for planning and controlling the creation of
an information system: the software development process.
SDLC: Joint Application Development (JAD)
Is a process used in the Systems
Development Life Cycle (SDLC) to collect business requirements while developing
new information systems for a company. "The JAD process also includes approaches
for enhancing user participation, expediting development, and improving the
quality of specifications." It consists of a workshop where “knowledge
workers and IT specialists meet, sometimes for several days, to define and
review the business requirements for the system.” The attendees include high
level management officials who will ensure the product provides the needed
reports and information at the end. This acts as “a management process which
allows Corporate Information Services (IS) departments to work more effectively
with users in a shorter time frame.” http://en.wikipedia.org/wiki/Joint_application_design
Also called the "traditional" model, was one of the first software methodologies adopted from manufacturing and construction.
Called 'highly structured', 'stiff', 'unflexible', etc., the waterfall method is a linear, step-by-step methodology commonly used
for projects where re-work or iterations are too costly or prohibited by time or other constraints.
Self described as "The World Standard For New Product Development", Stage-Gate® appears to be a proprietary methodology, highlighted by:
- Assess (Idea-to-Launch Maturity)
- Implement (New Product Development, XPress, Technology Development)
- Improve (Lean and Advanced)
Sure Start Methodology: (Microsoft Solutions Framework)
Sure start is the methodology created by and for Microsoft's Dynamics suite of ERP solutions, including NAV, AX, GP, SL, CRM, etc.
The methodology is similar to the Method123 offering in that it includes templates and a very structured approach, and is Microsoft's
"official" ERP implementation methodology.
V-Modell (V Model)
Developed in Germany, the V Model is largely regarded as an extension of the waterfall method. The "V" in the name comes from the fact that the
visual depitcion of the model is based on the "V" shape. The top left (starting point) of the "V" is Requirements Analysis, down to the bottom of the "V",
Coding, then back up to the top right Acceptance Testing.
Here's a great link for V Model (Thanks Edmund Kiensat). Edmund also notes that the V Model is required for IT projects for the Federal Goverment in Germany:
V Model In-Depth