There has been a lot of news recently about increasing transparency in government. While government operations pose significant challenges to ensuring transparency, agile projects can suffer from these challenges as well. At its core, what makes an agile project successful is the level of transparency it brings to a project.
Transparency is about openness, communication, and accountability. These qualities make it easy to see how a project is progressing each step of the way. In a perfect world, all work that is being done is obvious to all stakeholders, the backlog of work is well known, and priorities are clearly defined. After having been involved in many agile projects, the areas where teams often struggle to ensure transparency are technical debt and documentation.
Voicing technical debt
Agile teams are made up of people with integrity who want to ensure the success of the project. They don't intend to be dishonest about the status of the project or the level of work required to reach a milestone, but there are pressures that can drive individuals to leave out certain details. Agile teams work to communicate progress regularly through daily standups, burndown charts, and sprint reviews, yet it's still possible to leave out critical facts that impact the success of the project.
The most common area where the development team fails to achieve transparency is technical debt. As a project progresses, the pressures of completing a sprint can lead to code that is unwieldy to maintain or downright risky to execute in a production environment. Tools like Sonar can help bring light to some areas of technical debt, but it is still up to the development team to point out the critical areas that need to be addressed. As long as technical debt is known it can be prioritized, scheduled into a sprint, and resolved before it becomes a drag on the project's velocity.
Documentation is not a four-letter word
In many agile projects, documentation seems like a four-letter word. Waterfall projects are notorious for requiring the development of excessive documentation that provides little to no value. This has created a backlash from development teams all under the Agile Manifesto mantra of "Working software over comprehensive documentation." Yet, documentation is still critical to ensuring the transparency of a project. Each step of the way, a team should make documentation available that describes what the software achieves and clearly delineates where the gaps remain.
Documentation of the current state of APIs and user interfaces is critical to allowing stakeholders to determine what still needs to be done. Tools like wikis and lightweight markup languages can help to simplify the documentation effort for a development team. Team members should always remain vigilant about ensuring the documentation they are developing adds value, but this doesn't mean that documentation should be eliminated altogether.
So if you want to ensure transparency in your next agile project, have a close look at technical debt and documentation; it just might help your team achieve that perfect world scenario.
Jacob Orshalick is a software consultant, open source developer, speaker, and author. He is the owner of solutionsfit and co-author of the best-selling Seam Framework: Experience the Evolution of Java EE His software development experience spans the retail, financial, real estate, media, telecommunications, law enforcement, and health care industries.