• Jump to Left Menu
  • Jump to Right Menu
  • Jump to Main Content
  • Jump to Footer
  • Accessibility Page
BARC BI Survey 13 banner
IT-Director.com Logo

 

Main navigation - go to a section of this website:

  • ARCHIVE
  • PAPERS
  • EVENTS
  • NEWSWIRE
  • BLOGS

  

Register For Membership | Member Login

 
 
DOMAINS
  • Business Issues
  • Channels
  • Enterprise
  • Services
  • SME
  • Technology
FEATURED EVENTS
  • Performance and Risk Control
    21st June
    Webinar (online)
  • Brainstorm San Francisco 2013
    24th June - 27th June
    Burlingame CA, USA
POPULAR PAPERS
  • Exploiting the Internet of Things with investigative analytics by Bloor Research
USEFUL LINKS
  • Last 7 Days
  • Archives
  • Top Articles
SHARE THIS PAGE
  • Delicious Icon Delicious
  • Digg Icon Digg
  • reddit Icon reddit
  • Facebook Icon Facebook
  • StumbleUpon Icon StumbleUpon
CONTENT FEED

Sitewide
RSS Feed:

RSS Icon

What is RSS?

RANDOM QUOTE
Observations - "Democracy is the theory that the common people know what they want and deserve to get it good and hard." - H.L. Mencken

PAGE TOOLS
ADVERTISEMENT
MORE FROM AUTHOR
  • June 2013
    Calling a spade a spade
  • June 2013
    ISV survey
  • June 2013
    Informatica World
  • May 2013
    The Internet of Things
  • May 2013
    Data Migration 2013
  • May 2013
    IBM JSON
  • May 2013
    Busy bees at MapR
Analysis

Agile development and change management: are they mutually exclusive?

Philip Howard By: Philip Howard, Research Director - Data Management, Bloor Research
Published: 18th July 2012
Copyright Bloor Research © 2012
Logo for Bloor Research
Tweet

Further to my recent article about change management for business applications I want to discuss a similar issue with respect to agile development. First, let's be clear about what we mean by "agile Development" on the one hand and "change management" on the other.

Agile development is all about speed, responsiveness to change and flexibility. In theory (not always achieved in practice of course) requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.

Change management is all about ensuring that standardised methods and procedures are used to manage all the changes that occur to whatever it is you are building (a product or system) from the planning of that change through to its implementation. The objective is to ensure that no unnecessary changes are made, that any negative impacts are minimised, that resources are used efficiently, and to provide traceability.

So the question is: can you have the one with the other. One is fast and flexible and the other is perceived as not!

Every software project is a compromise: a balancing act between capability, speed and robustness. In an ideal world software would be delivered quickly, it would be function-rich, it would have been thoroughly tested and checked, and it would be provisioned appropriately. Unfortunately this is not an ideal world and we are forever looking for ways to get the product out to the client as quickly as possible.

But you shouldn't compromise functionality or quality simply for the sake of speed. And that's the potential danger with agile development. If not done properly by suitably qualified and competent people using understood and agreed control processes, you can easily compromise 'quality' in turn, causing more problems later on down the line, simply for the sake of speed right at this moment.

When you bear in mind that, according to Capers Jones, Software quality 2011 - A Survey of the state of the art, poor software quality costs $150+ billion per year in the US and over $500 billion worldwide then it is easy to see that this is not a minor issue.

So, how do you manage to have control and still be agile? I put it to you the other way around. How can you be responsive while simultaneously ensuring that solution evolution is going in the right direction and without compromising quality if you do not have effective change management procedures in place? Change Management does not have to be heavy weight and intrusive and nor should it be for an agile environment.

Finally, I would like to make one additional specific point with respect to agile development and version control. What versioning does is enable you to take keep track of your development. What it doesn't help you to do is either make design decisions or to manage collaboration. I mention this because SubVersion, the open source Apache project for version control appears to be wildly popular within the agile community. However, the question is whether it is enough? Change management vendors such as IntaSoft that have integrated their products with SubVersion would say no. Now you could argue that they have an axe to grind but I agree with them. Yes, you need to version your code, data models, test cases and so on but simply versioning these things imposes no control or discipline on the environment and if there is one thing that is important in an agile environment it is discipline. In a way, the real problem with SubVersion is that it is easy to think you have now imposed control on the environment when you have not and that can be extremely dangerous unless other processes, such as change management, are put in place around it: you can end up with a software project going nowhere very fast.

Reader Comments

We have not received any comments against this entry. Why not be the first?

We automatically stop accepting comments 180 days after a post is published. If you would like to know more about this subject, please contact us and we'll try to help.

  • Contact
  • | Site Map
  • | Terms of Use
  • | Privacy Policy
  • | Cookie Policy

Published by: Electronicdawn Ltd.
T: +44 (0)190 888 0760 | F: +44 (0)190 888 0761