A few years ago I wrote about the independent technical reviews any software project must regularly go through in order to make sure everything is under control. I even said recently that there is no excuse for not doing them. Moreover, the more we trust programmers, the higher the necessity to review their projects regularly. Here is a short summary of what a report from a reviewer must include.
I tried to touch on this subject in a few recent talks: Make Customers Trust You at BDMSummit 2017, How to Be Honest and Keep a Client at PMCon Kharkiv 2017, and How to Avoid Outsourcing Disaster at Kyiv Outsourcing Forum 2017. Also, there are a number of blog posts along the same lines, including Seven Deadly Sins of a Software Project, How to Avoid a Software Outsourcing Disaster, and Software Outsourcing Survival Guide. Here, finally, is a more or less complete list of things a good report must include.
Basically itโs a list of questions a reviewer must answer. When all the answers are collected, the report is ready. The most important questions are at the top.
- Is the release procedure documented, automated, and does it work?
- Do releases happen frequently, at least once a week?
- How big is the technical debt (the things that โeventuallyโ should be fixed)?
- Is the delivery pipeline strong enough to reject mistakes?
- How clean is the code? How many anti-patterns appear?
- Are all bugs and features registered as tickets?
- Is the code base covered by unit tests, and is coverage visible?
- Are โWork for Hireโ agreements signed with all developers?
- Are key architectural technical decisions documented?
- Is static analysis in place and mandatory for new changes?
- Is continuous integration in place, and are its reports taken into account?
- Is master branch read-only?
- Are programming metrics collected and regularly reviewed?
- Is the source code repository under the customerโs ownership and control?
- Is the requirements documentation short and up to date?
- Do key classes, methods and functions have in-code documentation?
- Is the source code repository garbage free?
- Are UI/UX interfaces documented?
- Are the production logs visible and regularly reviewed?
- How responsive is the team to the tickets?
- Does the revision control system have a clear history of documented changes?
Essentially, this is a very short compilation of the most important things that you can find in the CMMI. They require all this, and a large list of other things on top. But a small project doesnโt need everything that they ask you to have. My list is shorter and, Iโm sure, will be just enough for most of you.
By the way, you can see the reports volunteers create for the participants of my Software Quality Award. They analyze open source projects and briefly report the problems they find. I believe that they are trying to answer exactly the same set of questions.
Published on Java Code Geeks with permission by Yegor Bugayenko, partner at our JCG program. See the original article here: Software Project Review Checklist Opinions expressed by Java Code Geeks contributors are their own. |
Thank you!
We will contact you soon.
Yegor BugayenkoApril 5th, 2019Last Updated: April 3rd, 2019

This site uses Akismet to reduce spam. Learn how your comment data is processed.