Original article:
Best practices for software development projects
Highlight résumé :
- Development process
There are several choices, including the Rational Unified Process (RUP), IBM® Global Services Method, and eXtreme Programming (XP). Having a process is better than not having one at all, and in many cases it is less important on what process is used than how well it is executed.
Recommended books:- Ambler, Scott and Constantine, Larry, The Unified Process Inception Phase, ISBN 1929629109
- Ambler, Scott, The Unified Process Elaboration Phase, ISBN 1929629052
- Ambler, Scott and Constantine, Larry, The Unified Process Construction Phase, ISBN 192962901X
- Ambler, Scott and Constantine, Larry, The Unified Process Transition and Production Phases, ISBN 157820092X
- Requirements
Quality requirements are broken up into two kinds: functional and non-functional. A good way to document functional requirements is using Use Cases.
Recommended reading:Recommended books:
- Armour, Frank and Miller, Granville, Advanced Use Case Modeling, ISBN 0201615924
- Architecture
Recommended books:- Gamma, E., Helm, R., Johnson, R., and Vlissides, J., Design Patterns, ISBN 0201633612
- Grand, Mark, Patterns in Java, ISBN 0471258393
- Marinescu, Floydd, EJB Design Patterns, ISBN 0471208310
- Alur, D., Crupi, J., Malks, D., Core J2EE Patterns, ISBN 0130648841
And do NOT forget: antipatterns
- Design
The two basic principles here are “Keep it Simple” and information hiding. For many projects, it is important to perform Object-Oriented Analysis and Design using UML.
Recommended books:- Booch, G., Rumbaugh, J., and Jacobson, I., The Unified Modeling Language User Guide, ISBN 0201571684
- Larman, Craig, Applying UML and Patterns, ISBN 0130925691
Recommended reading:
- A Realistic Look at Object-Oriented Reuse, a résumé for quick read is here
- WebSphere application design
- Construction of the code
- Peer reviews
Experience has shown that problems are eliminated earlier this way and reviews are as effective or even more effective than testing.
Recommended reading:- Seven Deadly Sins of Software Reviews, a résumé for quick read is here
- Testing
It is also important that testing is done proactively; meaning that test cases are planned before coding starts, and test cases are developed while the application is being designed and coded.
Recommended reading:- Plan Your Testing, a résumé for quick read is here
- Software Testing Patterns
- Performance testing
One method to catch some architectural defects is to simulate load testing on the application before it is deployed and to deal with performance issues before they become problems.
Recommended reading: - Configuration management
Recommended reading:Recommended books:
- Stephen P. Berczuk, Brad Appleton Software Configuration Management Patterns: Effective Teamwork, Practical Integration, ISBN 0201741172
- Quality and defects management
By using defect tracking, it is possible to gauge when a project is ready to release.
Recommended reading: - Deployment
- System operations and support
- Data migration
- Project management
- Measuring success