‘Tis the season for the big sales kickoffs, goal communication, quota setting and the inevitable fudding and jockeying that goes with that. We at Armedia are, of course, not much different and have been dutifully working our list for a while. All roads therefore lead to “Are we done yet?!” Well, some things may never be completely done. And, sometimes, you just don’t know if you’re done or how done is done. That’s kind of like dreaming about having a dream about having a dream…will it ever end! As intriguing as such enigma could be chances are you don’t want to deal with it when it comes to software development. In fact, unless you plan on becoming further fodder for Dilbert, that’s about the last thing you want to do.
So, how can you achieve “doneness” in software development? There are, presumably, lots of ways…and likely at least one or two not based on divine intervention! Based on our experience, doneness in development (particularly in large projects) is not as much to do with having a cadre of stud developers but having a thorough, systematic and review-laden process that is consistently adhered to. Who knew?!
Here is the gist of our approach to doneness (formal review steps are highlighted in brackets—cannot proceed to subsequent step unless review passes successfully):
Code Design
- Document requirements (or change to requirements) to scope level
- Get client signoff (FORMAL REVIEW)
- Document code design, changes to object model, peer review
- Review design (FORMAL REVIEW)
- Update system design document
Implementation
- Implement test cases
- Implement compiled stubs
- Review Stubs (FORMAL REVIEW)
- Implement services
- Integration code
- Code review (FORMAL REVIEW)
- Update documentation
- Documentation review (FORMAL REVIEW)
- Implement review changes
- Final commit and addition to main build
Subscribe via RSS