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 | edit source]
"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[edit | edit source]
Gathering and agreeing on requirements. A good way is to use Use Cases. Wikipedia On Use Cases
Design[edit | edit source]
Apply tried and true design patterns. Be aware of anti-patterns which usually fail.
Coding[edit | edit source]
Peer Review[edit | edit source]
Benefits: 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[edit | edit source]
An 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[edit | edit source]
Be aware of best practices in project management
- lessons learned
- Rapid Development by Steve McConnell