Deliver Quality at Speed’ is the success mantra in the current highly-competitive and rapidly changing software development world. Everyone is expecting nothing less than perfection along with faster time-to-market. But is it really feasible to deliver a successful project without any documentation? No.
A couple of decades ago when the businesses were looking for a solution that can accelerate time-to-market agile software development methods came into picture. The focus was on providing differentiation and high-quality product at a faster speed to enrich the customer experience. In order to deliver a high-quality product at a faster speed, documentation plays a very important role. Handling documentation while considering the frequent changes in requirements in terms of in-flow/out-flow, prioritization etc. is difficult. It is mandatory that all the requirement changes must be absorbed in the documents while ensuring speedy delivery of the working product. This can be achieved with the help of LEAN Documentation.
LEAN documents are written using authoring tools to save time. A plenty of open source as well as licensed software documentation tools are available in the market like Slack, Madcap Flare, and Adobe Frame Maker to name a few. These tools help development teams stay ready for the next change. Multiple versions are maintained in a re-usable mode to make life easier.
Why is Documentation Important?
Documentation is an important part of any software development process. However, when it comes to agile development where frequent change in requirements happen the importance of documentation increases manifold. Unlike traditionalists who often see documentation as a risk reduction strategy, agilists typically see documentation as a scheme that reduces overall project risk in terms of timelines. Therefore, it is important to strive hard and be as efficient as possible when it comes to documentation.
Usually, documentation does not get its importance within the project plans. While planning all the technical activities, documentation is either not planned or if planned is not ample. Hence it’s always advisable to integrate it into the sprint schedule and give abundant time to document the requirements.
Amalgamating LEAN and Agile
Today practitioners believe that agile is the best way to manage a software development team as it provides the ability to be flexible and transparent to stakeholders. Teams also understand the way to collaborate in order to achieve result-oriented outcomes. Lean, on the other hand, believes in eliminating waste and complexity from the processes/activities and thus creates more value in the eyes of the customer. LEAN center’s on the separation of ‘value-added’ activities from the ‘non-value-added’ activities and focuses on rapid problem-solving techniques.
Throughout the LEAN documentation, teams must ensure that the context is well arranged, easy to read, and adequate while focusing on identifying, analyzing, and controlling the documentation wastes. This is where benefits of both agile and LEAN concepts can be leveraged during documentation.
Unlike the traditional approach where verbose requirements were written in Microsoft Word or other static word processing software, today businesses are using an adaptive agile mode of documentation using LEAN concepts. In the agile mode of documentation using LEAN concepts, the development team easily document the requirements based on their understanding of the system functionality. Instigating a practice of allowing development teams to create documents is completely in contrast to the earlier approach. In the traditional approach, a separate dedicated technical writer (who is not part of the project and does not understand the technicality or feasibility of the requirement) was used to collect requirements from the client and prepare a document for the development team. The writer works as a mediator between the two parties.
LEAN Documentation—Best Practices
A trend in the LEAN documentation that can be practiced is context-sensitive help. Context-sensitive help is usually interwoven and available on-demand within the user-interface code of the application or the help tour. It provides smaller chunks of information that are related to the immediate needs of the user. As context-sensitive help is part of the development process, it’s crucial that the development stakeholder must do the documentation.
Businesses must also start using the Tim Woods practice of LEAN Methodology (in terms of transport, inventory, waiting, over-processing, over-production, and defects) to minimize the documentation waste. This methodology turns a normal document into an impactful document by including global search capability, indexes, links to source/external documents wherever feasible, guidelines/templates/style guides etc.
- The three most important things for an effective and good quality documentation are Domain Knowledge (knowing the business), System Knowledge (knowing the domain and architecture of the system), and Immediate Product Knowledge (knowledge about what we are building right now)
- Foster a culture where your development team takes complete responsibility for documenting the context in a lighter and reusable manner
- Discourage all kinds of non-lean behavior
- Development team must include all elicited feedbacks/inputs received throughout the development lifecycle – be it from daily stand-ups or sprint reviews or sprint demos
- All communications among stakeholders must be crisp, clear, and comprehensive so as to avoid confusions/misinterpretations