Prototype Reverse Engineer Refactor Test Validate

Development Process Model:

  1. Prototype: Build a prototype that proves the concept and embodies all or part of the understood problem solution but no more than that. Observe: DoTheSimplestThingThatCouldPossiblyWork
  2. ReverseEngineer: Create and modify requirements and design from the prototype and user feedback. This creates the documentation.
  3. Refactor: Adjust implementation for clarity and simplicity of design.
  4. Test: UnitTest and IntegrationTest until the SoftwareEngineers are happy.
  5. Validate: BlackBoxTest? in the user environment until requirements are covered.

In large scale projects, the DivideAndConquer principle is applied before attempting to prototype, if possible. The objective is to produce a comfortable chunk that is practical to prototype. The process is recursive until this comfort objective is felt for each subcomponent.

In VeryLargeScale? systems, the need to prototype a MetaModel may be present. Complexity of inter-relationships of components may present a significant case. Here, a MetaModel realized by a collection of TestStub?s that simulate portions of the ExternalBehavior? as presented to the interface (such as message timings) may be desirable. For example, a function that draws a complex shape or queries a complex database may return a message when completed. The granular level is only interested in the completion message. Putting in a test stub with a simple pseudo-random number generator to produce reasonable reply timing may be sufficient to test functionality of the MetaModel as realized in code.



View edit of May 25, 2001 or FindPage with title or text search