Wheel and spoke model
Encyclopedia
The Wheel And Spoke Model is a sequentially parallel software development model. It is essentially a modification of the spiral model
Spiral model
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model , it is a systems development method used in information technology...

 that is designed to work with smaller initial teams, which then scale upwards and build value faster. It is best used during the design
Design
Design as a noun informally refers to a plan or convention for the construction of an object or a system while “to design” refers to making this plan...

 and prototyping stages of development. It is a bottom-up
Bottom-up
Bottom-up may refer to:* In business development, a bottom-up approach means that the adviser takes the needs and wishes of the would-be entrepreneur as the starting point, rather than a market opportunity ....

 methodology.

The Wheel And Spoke Model

The wheel and spoke model retains most of the elements of the spiral model
Spiral model
The spiral model is a software development process combining elements of both design and prototyping-in-stages, in an effort to combine advantages of top-down and bottom-up concepts. Also known as the spiral lifecycle model , it is a systems development method used in information technology...

, on which it is based. As in the spiral model, it consists of multiple iterations of repeating activities:
  1. New system requirements
    System requirements
    To be used efficiently, all computer software needs certain hardware components or other software resources to be present on a computer. These pre-requisites are known as system requirements and are often used as a guideline as opposed to an absolute rule. Most software defines two sets of system...

     are defined in as much detail as possible from several different programs.
  2. A preliminary common API is generated that is the greatest common denominator across all the projects.
  3. Implementation stage of a first prototype
    Prototype
    A prototype is an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from.The word prototype derives from the Greek πρωτότυπον , "primitive form", neutral of πρωτότυπος , "original, primitive", from πρῶτος , "first" and τύπος ,...

    .
  4. The prototype is given to the first program where it is integrated into their needs. This forms the first spoke of the wheel and spoke model
  5. Feedback is gathered from the first program and changes propagated back to the prototype.
  6. The next program can now use the common prototype, with the additional changes and added value from the first integration effort. Another spoke is formed.
  7. The final system is the amalgamation of common features used by the different programs – forming the wheel, and testing/bug-fixes that were fed back into the code-base - forming the spokes.


Routine changes and additions are eventually seen by every program that uses the common code, and the experience gained by developing the prototype for the first program is shared by each successive program using the prototype.

Applications

The wheel and spoke is best used in an environment where several projects have common architecture or feature-set that can be abstracted by an API.

Advantages

  1. Low initial risk. Since one is developing a small-scale prototype instead of a full-blown development effort, much fewer programmers are needed initially. If the effort is deemed successful, the model scale very well by adding new people as the scope of the prototype is expanded
  2. Gained expertise applicable across different programs. The core team developing the prototype gains experience from each successful program that adapts the prototype and sees an increasing number of bug fixes and a general rise in code quality. This knowledge is directly transferable to the next program since the core code remains mostly similar.

See also

  • Iterative
  • Incremental
  • Software engineering
    Software engineering
    Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

  • List of software engineering topics
  • Waterfall model
    Waterfall model
    The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation and Maintenance.The waterfall...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK