Software Development Life Cycle is a sequence of phases or logical stages in the course of development of an idea into a software application or a product. It is commonly abbreviated as SDLC. A well-known traditional approach to SDLC is known as Waterfall Model. The Waterfall Model lists the stages in the life cycle as:
- Communication (Project Initiation, Requirements Gathering)
- Planning (Estimating, Scheduling, Tracking)
- Modeling (Analysis, Design)
- Construction (Code, Test)
- Deployment (Delivery, Support)
For any software application to be developed, the development team isn’t just constituted of software engineers, analysts, and architects. It also requires people to test and document the processes as well as the product. The group that works on creating and maintaining documentation is known as Documentation or Technical Publications group and it is composed of Technical Writers—people who can create Technical and User Documentation.
The Technical Writers also follow a development cycle for creating documentation, which is known as Documentation Development Life Cycle. The Documentation Development Life Cycle (DDLC) maps with the SDLC such that the entire product team works in close coordination to complete the development, adhering to a common project schedule. Modeled on SDLC, the DDLC has somewhat similar stages as that of SDLC. However, the duration of stages varies according to the difference in availability schedule of inputs for various stages. Let us begin with taking a look at the stages in the DDLC.
- Understand Requirements
The activities to be performed during each of the stages are listed below:
- Understand Requirements
- Understand the Product or Application to be developed
- Gain an understanding of the Domain or Subject Matter
- Understand Client Requirements for Documentation
- Study Legacy Documentation and Writing Style Guides used by the Client
- Provide Content Consulting or Evangelism
- Propose Documentation Deliverables and Tools to be used
- Prepare Effort Estimate
- Propose Team Size and Composition
- Prepare Templates and Stylesheets
- Prepare an Outline or the Table of Contents for documents to be created
- Create Content Strategy for Single-sourcing or writing for multiple user roles
- Create a Documentation Project Schedule
- Gather Information: Read Design Specifications ,Interview Subject Matter Experts (SMEs)
- Create Content Drafts
- Create and Insert Graphics
- Format the Content
- Generate Output(s)
- Language Review
- SME or Technical Review
- Client POC’s Review
- Incorporate agreed changes after each review
- Finalize the Content
- Integrate the Documentation with the Product or Application
- Send for final publishing or distribution
Mapping Documentation Development Life Cycle with SDLC
Mapping the Documentation Development Life Cycle (DDLC) with the Software Development Life Cycle (SDLC) isn’t as straightforward as it seems. Some of the reasons are:
- Documentation starts quite late in the SDLC: Most often, the last few to get on board a project are the documentation people. Even if they aren’t, the requirement understanding stage for technical writers is extended till the time they get to read a formal requirement specification document or see a prototype. However, it doesn’t happen like that always as sometimes technical writers get to document the design specifications too.
- Documentation can’t finish as soon as the Software Development: It is only when the entire software application is developed that the documentation can be given its final shape. Even after all the content in created, there are activities such as language and SME reviews, creating index entries, generating and testing final outputs. All this may take some time until we can announce the completion.
- Trivial Changes in the Application may call for Critical Documentation Updates: Small changes such as change in UI resulting in relocation of a button or field, modification in input type on a form, reorganization or reordering on menu may account for an unexpected volume of change across the documentation. It might also require recapturing and replacing numerous screenshots.
With the above factors, the DDLC may not have all its stages completely go hand-in-hand with the SDLC stages. The Requirement Understanding stage of DDLC goes on till the commencement of Construction or Development phase of SDLC. Typically, there would be a lag in Documentation Finish dates and the DDLC would extend the duration of SDLC, too.