Saturday, November 10, 2007

Agile Development: The Perfect Fit for Financial Institutions

A couple of days ago while at QCon San Francisco, I had a series of conversations with a person involved in software development at a major financial institution. He really wants to start using Agile techniques, but isn't sure of the best approach to take to convince others internally. I gave him some pointers including my recent article "Software Developers Can Learn a Lot from Salespeople." As I was thinking about this I realized that Agile is actually a perfect fit for financial institutions!

Software projects are highly unpredictable. More often than not they are either late, over budget, missing originally planned contents, much lower in quality than originally planned or a mix of all of the above. Another area of the business that has similar problems with predictability is sales.

When was the last time that salespeople were expected to tell you exactly what their financial performance would be? Sales people can't predict exactly which deals will come in during a quarter, nor exactly what the amount of any particular deal will be, but they are expected to hit their quotas and they are expected to show results on a regular basis and CFOs are perfectly happy with how their salesforce goes about their process. They may not be happy with the actual results sometimes, but they approve of their process.

What sales does and what Agile teams do are exactly the same! They are both working with unpredictable quantities. Developers in an Agile team may not be able to predict exactly what will be the result of any particular release and sometimes not even the result of an iteration, but they can be held accountable to produce a regular flow of high business value software on a regular basis and to be able to demonstrate that the software is actually done on a regular basis as well.

So, if the organization is comfortable with the sales process, they should be equally comfortable with Agile development. In fact, anybody involved in the business side of software development should be very uncomfortable with anything other than Agile development and be actively working to figure out how to get their development process to be more like sales.

This post has only briefly touched on the comparison of software development and sales. If you are interested in a full comparison, please take a look at "Software Developers Can Learn a Lot from Salespeople."


Anonymous said...

Sales and engineering are two different beasts.

Attempting to bring in Agile development methods using the excuse that the sales department can't predict the future is absurd.

Developers on an Agile team should be able to tell management where they'll be in two weeks or however long the iteration lasts. Isn't that what planning meetings are about?

Damon Poole said...

I respectfully disagree. Sales and engineering, from the perspective of predictability are nearly identical. Also, I am certainly not trying to make any excuses.

I don't get the feeling that you've read the article mentioned in my post. I believe the article addresses the points you have raised. If after reading the article you'd like to discuss this further, I would be more than happy to do so.

Damon Poole said...

I've updated the post a bit to hopefully make it clearer that the point in the post depends heavily on the arguments made in the article that it references. I also realized that I made too strong of a point on iteration predictability when I really meant release predictability.