ROSE Compiler Framework/Best Practices

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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

Quoted from...

Wikipedia Article on Software Development Processes

Waterfall Model

Spiral Model

Agile Model

Extreme Programming Model

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.

Wikipedia on Design Patterns from the Gang of Four Book

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


References:

  • Rapid Development by Steve McConnell

References[edit | edit source]