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.

--KirkKitchen


CategoryAnalysis

EditText of this page (last edited May 25, 2001) or FindPage with title or text search