Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Opinion: Do Agile Development Practices Always Help?

Opinion: Do Agile Development Practices Always Help?

Are our efforts in Agile development really helping the organizations we work for?  What does it mean to ‘help’ our organization anyway?  That depends on our organization's goals – if what we are doing moves our organization towards its goals, then the answer is “yes”, otherwise the answer is “absolutely not”, we may even be inadvertently hurting the organization.

To be concrete, let’s consider a publicly traded company whose ultimate goal is to make money for its shareholders.  Anything that helps the organization makes more money helps the organization meet its goal.  Now, back to Agile development and organizational goals:  given that our organization’s ultimate goal is to make money – does Agile development help make more money?  My observation has been varied – sometimes it does, and sometimes it doesn’t.

Goldratt, the originator of Theory of Constraints, tells us if we are not working on the bottleneck then we are wasting our time – the bottleneck limits the throughput of the entire organization.  In fact, if we work on something that is not the bottleneck and is upstream of the bottleneck, then we are probably making things worse by increasing inventory which, in turn, increases operating expense and lead-time.  

Is software development our organization’s bottleneck?  Is improving software development actually translating into more money or are we simply building inventory that increases the operating expenses and lead-time?  Unfortunately, most of us don’t know.  If we are part of the software development group, then we naturally think it is our job to always produce more or be able to respond more quickly – to be agile.  The painful truth is that if we are at an organization where software is not the bottleneck, we may be wasting our efforts by adopting Agile practices to make things better.

Many of us will shrug and say "that's not my problem, I'm a developer (or tester, or project manager, or ...)".  Is it really only the concern of executives?  Or should we all know about our context to be able to more effectively do our jobs?  Don’t we owe it to ourselves and our organizations to know what the bottleneck is?  If software development doesn’t happen to be our bottleneck, then why are we spending time and effort trying to make it better – it will not help the organization’s goals.  Please share your individual experiences here, do you know your organization’s bottleneck?  If so, how did you find it?  Is it software development?    What is your role in your organization and do you think it should be your business to know the goal and bottleneck?

Rate this Article