Just do it – on agile vs. waterfall

Agile Project Management

Like many of my colleagues, I love the conceptual idea of agile software development – forgo with the ancient ways of a long release cycle and move forward with quick bursts, course-correcting when needed. The lure, for the feature greedy product manager, is immense: you quickly “see” results, and have higher transparency into the product development cycle.

Are you also aware of the risks?

Getting “something out, quickly” (be honest, that’s the name of the game) means you draw short-term plans, even if by priority. That can mean that the “early features will get the worm”. In places where you just can’t issue partial features to customers, the early features will get completed and perfected while the features coming later into the game will remain “dark” – waiting for a later iteration before seeing the light of day.

There are distinct advantages to having the full “project plan” out, with rough estimations. Those “pesky customers” will need visibility (and sometimes commitment”) to roadmap. That means setting a date, communicating it, and sticking to it. If the capabilities being developed are complex (i.e. can be sold for a high margin) they cannot really be perfected in a matter of weeks, and need to be placed on a calendar. Good plans will need estimations (rough as they may be before starting to code). Good estimations will require good, detailed, product specifications and good end-to-end product specifications will require time.

On the other hand, the situation where  all knowledge needed for development, including customer requirements, is available beforehand is rare. In the real world you want to get a certain capability out there, and quickly. You (and your customers) are not always sure of the finer details of the capability. Very often, the capability can be sold before both parties realize the full extent of the project. Even more often, it is very worthwhile getting real world traction with initial products and expanding where you can effectively benefit from the 20/80 rule.

For me, it’s all about value to the customer: if the customer can rarely upgrade, and needs the product down per spec (imaging an on-premise university system you can upgrade only during summer break) – be wary of cutting corners the agile way. However, if the customer is a SaaS user, and you can benefit from iterating, measuring customer behavior – by all means get results out there, quickly, and iterate.

I have worked in “main train release” companies – where the release is once every 18 months, and installation is on-premise. I also participated in wild startups where the releases came twice a month. One last thing – agile is usually more fun, too!

About these ads

2 thoughts on “Just do it – on agile vs. waterfall

  1. Good point. The “best” process for software development is situational. We should begin every new project by asking questions about the environment, the culture and the situation. Only then can we determine how to approach the project. Thanks for sharing!

  2. Agility is anything from a philosophical view of how to run a large company to the details of who you manage your daily team meetings. I think that for a product mgr in a B2B company the main advantages you have are:
    (1) having short release cycles >> you don’t have to plan months in advance only to find out that the business priorities have changed and your development teams are 2 months late so only 30% of the original plan is going happen.
    (2) you write less of those documents that devs “forget” to read before they implemented and, instead, become more involved in the development process itself.
    (3) Things are much better accounted for. So you end up actually having the feature that you wanted. In the classic waterfall there are like 7 handovers of ownership on a feature. So many times the original reason to have the feature in the first place gets lost in translation.

    Glad to see you on the Agile wagon. It IS so much more fun!

    p.s. some of my pondering on the subject are here- http://thenullterminator.wordpress.com/category/agile/

    Ethan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s