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."

Quoted from...

Wikipedia Article on Software Development Processes

Waterfall Model

Spiral Model

Agile Model

Extreme Programming Model

Requirements edit

Gathering and agreeing on requirements. A good way is to use Use Cases. Wikipedia On Use Cases

Design edit

Apply tried and true design patterns. Be aware of anti-patterns which usually fail.

Wikipedia on Design Patterns from the Gang of Four Book

Coding edit

Peer Review edit

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

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

Be aware of best practices in project management

  • lessons learned


References:

  • Rapid Development by Steve McConnell

References edit