In part 6, I discussed the creation of a product roadmap. In this part, I list the various aspects of software development that I aim to cover in the next ten or so installments of this series.
Here are the aspects that come to mind:
- programming language(s)
- coding standards
- development tools
- development methodology
- code and design reviews
- API design
- UI design
- testing
- documentation
- installation
- issue tracking
- support
- collaboration tools
If there is a topic that is missing that you'd like to hear my thoughts on, please let me know. Once all these topics have been covered, I will turn my attention to other aspects of producing software, such as building and maintaining a good software development team.
In the next part, I'll discuss specifics of the iterative development process.
I look forward to the obligatory debate about coding standards :-)
Posted by: Roger L. Cauvin | Mar 20, 2005 at 01:22 PM
Hi Graham! Just thinking through the work streams of the MSF and RUP, the obvious things missing from your lists are requirements and architecture. I would love to hear your specific thoughts on how that fits in and how your views differ from the traditional idea of a whiteboard architect or an architecture-first practice. Also, how do you balance requirements gathering activities so you don't get analysis paralysis yet think ahead enough that you don't iterate forever, slowly arriving at what could have been easily conceived in a top-down mode of thinking?
Posted by: Todd Girvin | Mar 22, 2005 at 04:34 AM
Can you also cover any collaboration tools you use, e.g. wiki, etc.
Thanks.
Duke
Posted by: Duke Tantiprasut | Apr 04, 2005 at 04:46 PM
Hi Duke,
Thanks for your suggestion! I've added "collaboration tools" to my list of topics to cover.
Cheers,
Graham
Posted by: Graham Glass | Apr 04, 2005 at 07:48 PM