Balancing Agile & Documentation Needs

Balancing Agile & Documentation Needs


For companies that have been following the traditional or waterfall system of development, one of the biggest concerns they have is how to handle documentation in an Agile world. Coming from this linear approach to software development, the adage for companies using this model was almost “Document the world before starting on a project”. It is hence not very surprising to see organizations and management raising such a grave concerns about how this phase will be handled if they adopt an Agile model.

One of the key reasons for this apprehension is this line from the Agile Manifesto - “Working software over comprehensive documentation”.

The focus of Agile is on getting things done and adding value to the stakeholders. It is built in such a way that the model intentionally avoids getting to work on the peripherals and on activities that do not directly and immediately add value to business. If a customer is able to start seeing something working from the first couple of Sprints, the expression on the customer’s face is anyone’s guess. Not only does this make the client happy but also helps in building confidence on the development team and the vendor. (or the seller in Agile parlance).

If the approach was traditional, most of the initial phases before start of development would have gone into someone working on creating elaborate documents trying to capture end to end requirements and the needs of the customer. While it is okay to document, in today’s world, the pace of change is so dynamic, that the needs of an organization would have completely changed twice over by the time, we complete the documentation phase rendering the entire activity useless. Maybe this process does work when the requirements are completely clear and we know with surety that nothing will change from what has been captured and base-lined.

However we know that this is not true, and that, in itself is the reason for the popularity of Agile. Agile clearly accepts change and believes change is a given and we need to be ready to respond to it. This is a far cry from the predictive approach where as much as we knew that requirements would change, in some way no one wanted to accept it and the whole team went ahead as if things were written in stone.

Having said that, Agile is all about adding value even if that means documentation. Agile would deal with documentation based on the type expected :

  • Regulatory Compliance related - Agile is bound to get a buy-in from its teams to allocate effort and time to get compliance items done. Which means Agile, will deal with this item because Agile focuses on what is critical for the success of the project and not being compliant could put the entire project at risk. 
  • User related artifacts - If there is value to the user in terms of how to use the software and if user manuals are required, Agile will consider this and help develop artifacts although as per the model this will be taken up as a last minutes activity after completion of the core project related activities. Agile will only implement basic, to the point documents, nothing flowery
  • Elaborate Requirements capture - Agile believes in change and in adding value to stakeholders. It does not believe in wasting time creating huge documents as there is no direct value added by doing so. Agile teams would rather spend time working on the minimal requirements it has and get out a piece of code that works and demonstrates the captured requirements before moving to the next set of requirements without having to wait for elaborate documents. 
  • More documents - If your needs do or dot not fit into any of the above and you still have documentation needs, sorry Agile can't help out.

Given the above, based on organization’s requirement, it really is a call the management will have to take on how to progress without rupturing the Agile model.

One typical example could be, if my concern was, let’s say attrition. What if my key team members leave before the project ends or even after. If new resources join, how will they know what’s been implemented and where what exists. Although Agile supports a model where all resources are expected to know the entire code base, it still would make sense to have some level of documentation that would give a new comer some insights into what has been implemented.

If the management finds such needs critical, then they can take a decision that someone will be assigned the task of documentation for this specific purpose. However this resource need not be from the core Agile team so as to not impact the ongoing Agile flow. This could be one approach. Likewise, management can tweak the processes by introducing parallel streams of resources or tasks that can be done while the Agile model is in progress. Basically find out ways to use a Hybrid Agile model which helps balancing out Agile practices with organizational needs.

However on a broad scale, for companies looking to get into Agile, the suggestion would be to move away from the traditional approach of having to have detailed overloaded documents to having what is really needed. If some level of retrospection is done on completed projects in the traditional flow, it will become obvious that most of the documentation done for those projects have hardly ever been used and is just lying there on some hard drive.

So, although companies can take an alternate approaches using hybrid models to ensure documentation is done based on the gravity of the need, it is more important that they move away from the traditional mindset and embrace a more meaningful - value driven, incremental delivery oriented, open approach which focuses on having just enough documents and not documenting for the sake of documentation.

要查看或添加评论,请登录

Vinod S.的更多文章

  • Are you a slave to your mobile ?

    Are you a slave to your mobile ?

    By now, we should have all figured out, the term Digitox is a combination of the two words - Digital & Detox. Two words…

    1 条评论
  • Want to Re-energize yourself ? Close your eyes

    Want to Re-energize yourself ? Close your eyes

    Among all the senses we have, the eyes are the most used and also the one sense organ that gathers and provides the…

    2 条评论
  • Simple Meditation to deal with a Chaotic World

    Simple Meditation to deal with a Chaotic World

    The most common thing we see these days in an urban environment is people being super busy. Not having enough time to…

    2 条评论
  • Simplest explanation to Cloud based Services

    Simplest explanation to Cloud based Services

    This is by far the simplest explanation to understanding various Cloud based services that exist in the market. (Source…

  • 5 Reasons why Microsoft could be back Big Time

    5 Reasons why Microsoft could be back Big Time

    Being an open source proponent myself for many years and all the while not being a big fan of the more closed…

    3 条评论
  • Upgrade your Skills through Free, Online MOOCs

    Upgrade your Skills through Free, Online MOOCs

    A few years ago, if one wanted to do a course on managing finances better or learning about astronomy or Economics of…

    2 条评论
  • 5 Life & Business Lessons from Superman

    5 Life & Business Lessons from Superman

    Superman started as a strip comic in 1938. The popularity of the strip prompted the publishers to start the Superman…

    2 条评论
  • You can Learn Anything

    You can Learn Anything

    Very interesting video on why we can learn anything.

    1 条评论
  • Being Spiritual in Today's World

    Being Spiritual in Today's World

    A lot of folks are astounded when they hear the word "Spirituality", many others are curious to know what it is and a…

    4 条评论
  • Facebook Addiction could be Impacting your Life

    Facebook Addiction could be Impacting your Life

    Some of my friends and I had come across an article in the newspapers on how to kick start your mornings and so we…

    2 条评论

社区洞察

其他会员也浏览了