21-Point Checklist for Effective Software Development
Check your development team against this list of procedures. While few teams do everything here, a good team will be doing most of them, and if you're missing any of them, it should give you something to look into.
Planning and Estimating
The Product Owner is the primary source for requirements and approval of work.
A detailed work breakdown (WBS) to the ticket level is performed for all work within the next three months.
Past performance / velocity is used for estimating the schedule.
Regular retrospectives or feedback sessions are held after every sprint to recognize good work and identify areas for improvement.
Implementation Process
Production work tickets must be broken down into increments close to a single day and no bigger than three days of effort.
A time-based estimate is included with every ticket in a sprint.
Analysis tickets (spike tickets) are strategically placed wherever there is required information missing. These may have uncertain duration, so the Product Owner must be aware of them and approve their affect in scope.
The technical requirement and the business use case for the ticket are stated clearly at the top.
Anyone can work a ticket. Tickets can be worked by different members of the team, because there is no one person that MUST work certain tickets.
The developer outlines a simple test procedure for a ticket BEFORE starting to code.
An AI coding assistant is used to check code standards and expected outcomes.
Asking for help is never a problem, whenever any team member gets stuck.
Quality
A final test procedure is written by the developer, and code is tested and reviewed by the developer BEFORE it is submitted for team review.
Developers routinely write unit tests for the code they produce with every ticket.
Every ticket must pass code review before it can be submitted for integration.
Tickets are open to most or all of the developers on a team to be code reviewed.
Reviews are thorough and free of contention. Reviewers look hard for defects, and developers are unafraid to accept their findings.
Regression testing occurs on the integration level.
Automated testing is part of deployment.
AI-based smoke testing is used to evaluate the product in beta before launch
If a ticket fails a test at any stage for any reason , it can be sent back to the developer for correction.
~Tom/*
Comments