ROSE Compiler Framework/Best Practices
The goal of this page is to collect input, feedback and comments about best practices in software development. We periodically review the best practices to see if any of them can be applied to ROSE.
Development Process
edit"For most modern software development projects, some kind of spiral-based methodology is used over a waterfall process. ...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."
Requirements
editGathering and agreeing on requirements. A good way is to use Use Cases. Wikipedia On Use Cases
Design
editApply tried and true design patterns. Be aware of anti-patterns which usually fail.
Coding
editPeer Review
editBenefits: problems are eliminated earlier this way and reviews are as effective or even more effective than testing.
What to review: any artifact from the development process, including plans, requirements, architecture, design, code, and test cases, etc.
Testing
editAn integral part of software development. Testing is used to ensure the software meet functionality and performance requirements.
There are testing patterns.
Testing should cover performance/overload testing to catch design or coding problems.
Project Management
editBe aware of best practices in project management
- lessons learned
References:
- Rapid Development by Steve McConnell