Project methods – Waterfall versus Agile

I have been reading a lot of discussion recently regarding the use  of different methods for planning, implementing, and managing projects.  Many methodologies exist in the industry; two of them are:

  • Traditional Waterfall (some would say PMI PMBoK but not necessarily) model
  • Agile (SCRUM, Extreme, etc.)

I read a really good article last week in the Harvard Business Review Blog — A Better Project Model than the “Waterfall” by Jeff Gothelf. In this post he talked about needing a better model than the traditional waterfall model.

Here is a summary of Jeff’s post:

The main argument is that waterfall methodologies, which have been around for a long time, have a fatal flaw–they depend on accurate requirements. The problem with this dependence is that requirements are often wrong. He discusses giving teams the ability to work with clients to find out what the real requirements are. One of the quotes from his post that I really like was from Josh Seiden, who said, “In software development, reality bats last.” What he means is no matter how much planning or optimism there is about the software product being built, the only true project success is the reality of customers using it to solve real problems.

He goes on to share examples of Agile methods, in which teams use lists of features that are prioritized by product owners (not developers) to drive the project. In addition to prioritized lists, he suggests that each project team should be handed specific success criteria. These  criteria must  be quantifiable and directed to specific outcomes that meet customer’s needs.

My own opinion of this conversation is that it is not either black or white–waterfall vs. Agile.  As both as PMP, certified in waterfall methods, and a PSM, certified in Agile Scrum methods, I contend that a blend of both methodologies is often the right answer. Agile requires small, bite sized “sprints” with smaller teams in order to produce results. However, many projects are quite large, with as many as 300 people working at any one time. In these cases, running lots of small teams with sprints can become a project management nightmare. Using an approach that allows some portions of the project to use a more traditional waterfall method, and other parts of the project to use Agile, can make the overall project more management while still achieving the desired outcomes.

As I’ve stated in prior posts, requirements are not easy to capture, especially in complex software products. There are many techniques today (including Agile) which allow us to work with real users and discover the true requirements and needs and the measurable outcomes that must be produced. One such technique, Performance DNA, is used by my organization to ensure that all requirements are identified and linked back to prioritized outcomes.

In closing, as an experienced project manager who is certified in both methodologies, I am suggesting that “either/or” is not the right discussion.  Instead, I propose that a combination of waterfall and Agile is more likely to be the right approach.

Do you have experience using a blend of waterfall and agile, or do you prefer one over the other?

Professional ScrumMaster Class Offered in Austin Texas

I have written and spoken in the past about agile and the incremental approaches to building solutions.  I am learning more about SCRUM and how it can improve our ability to be successful in our projects.  Scrum provides a framework for software development that is incremental and iterative. Scrum is based on agile principles that involve planning and implementing software deliverables in short time cycles. As described by Ken Schwaber and Jeff Sutherland in “The Definitive Guide to Scrum: The Rules of the Game,” Scrum is simple to understand and “extremely difficult to master.”

As with other agile methods, Scrum works well in development efforts where requirements change frequently and objectives can be broken down into tasks that a team can accomplish in days rather than months (and most of us have experienced the constant requirements change problem). The role of a project manager in an agile development differs from the role served by managers operating under traditional waterfall methods, as discussed in Agile and project management – Advice from the warriors and now a formal certification in the PMI Agile Certified Practitioner (PMI-ACP).

A project using Scrum framework and methods is comprised of a product owner, the execution team and a “ScrumMaster”, who solves problems and facilitates execution. The Wikipedia write up on Scrum states, “The ScrumMaster ensures that the Scrum process is used as intended. The ScrumMaster is the enforcer of rules. A key part of the ScrumMaster’s role is to protect the team and keep them focused on the tasks at hand.”

I am excited to announce that my organization, Cognitive Technologies, in partnership with Improving Enterprises, is offering the Professional Scrum Master (PSM) certification course in Austin Texas. I am planning on going, so that I can increase my knowledge and skills.

The next class is being held in Austin, TX on December 6-7, 2011. Taught by Don McGreal, the 2-day class is the first significant update of the Certified ScrumMaster (CSM) course that Ken Schwaber introduced and shared in 2002. As in the original, the framework, mechanics, and roles of Scrum are covered. The course then goes further by teaching students how to use Scrum to optimize value, productivity, and total cost of ownership of systems and products. Students will learn through instruction and team-based exercises, and will be challenged to think on their feet to better understand what to do when they return to their workplaces. If you or your organization is trying to use SCRUM then you need to send someone to a course like this.
Here are some details from the course information:

Structure of the Course

  • Scrum Basics – What is Scrum and how has it evolved?
  • Scrum Theory – Why does Scrum work and what are its core principles? How are the Scrum principles different from those of more traditional software development approaches, and what is the impact?
  • Scrum Framework and Meetings – How Scrum theory is implemented using time- boxes, roles, rules, and artifacts. How can these be used most effectively and how can they fall apart?
  • Scrum and Change – Scrum is different: what does this mean to my project and my organization? How do I best adopt Scrum given the change that is expected?
  • Scrum and Total Cost of Ownership – A system isn’t just developed, it is also sustained, maintained and enhanced. How is the Total Cost of Ownership (TCO) of our systems or products measured and optimized?
  • Scrum Teams – Scrum Teams are self-organizing and cross-functional; this is different from traditional development groups. How do we start with Scrum teams and how do we ensure their success?
  • Scrum Planning – Plan a project and estimate its cost and completion date.
  • Predictability, Risk Management, and Reporting – Scrum is empirical. How can predictions be made, risk be controlled, and progress be tracked using Scrum.
  • Scaling Scrum – Scrum works great with one team. It also works better than anything else for projects or product releases that involve hundreds or thousands of globally dispersed team members. How is scaling best accomplished using Scrum?

Audience
This training is primarily targeted at those responsible for the successful use and/or rollout of Scrum in a project or enterprise.

Prerequisites

  1. Have read one of the Scrum books.
  2. Have studied the Scrum Guide at www.scrum.org.
  3. Understand the basics of project management.
  4. Understand requirements and requirements decomposition.
  5. Have been on or closely involved with a project that builds or enhances a product.
  6. Want to know more about how Scrum works, how to use it, and how to implement it in an organization.

Cost

This class is normally $1,495 for the 2 day class, but Cognitive Technologies is offering a discount for early signup.To sign up for the course go to http://www.cognitive-technologies.com/products/training/scrum.aspx.

It is time for us to get serious about learning new methods for projects so I encourage you to look at all of the methodologies that are out there today. If you have more information about this type of training or Agile methods, feel free to leave a comment.

The Lazy Project Manager's Blog

The Home of Productive Laziness Thoughts

ProjectManagement.com

Thoughts, experience, tips and tricks on issues affecting managers and project management

A Girl's Guide to Project Management

Project Management musings for one and all

LeadingAnswers: Leadership and Agile Project Management Blog

Thoughts, experience, tips and tricks on issues affecting managers and project management

Project Management Hut

Thoughts, experience, tips and tricks on issues affecting managers and project management

Herding Cats

Thoughts, experience, tips and tricks on issues affecting managers and project management

beyondcenter

Pushing the Edges Out ...

projectxpert

Just another WordPress.com site