SpecDD Development Model

 

Quantify requirements to drive development

In SpecDD, requirements and product design are formally represented and  quantified.  Quantified requirements can better drive implementation and testing. 


With specifications serving as the quantified requirements, application development project planning, implementation, and QA testing can all be managed with specifications as their basic units.

 

  • Project planning with specifications is about committing a set of features for development iterations, planning the resources needed for each specification, assigning the proper start and end time for the development work, and providing estimates on the time for the development team to finish the new features, enhancements, and bug fixing specifications.
  • Development implementation tracking becomes about task management around the committed specifications. Each specification may require one or many development tasks, and development teams can update the development task’s status, update the finish date, the time spent and the time remaining. As a result the planned time and resources can be used to display the time and resources used for each development task.
  • QA testing becomes requirement-driven thorough specifications.   As specifications are committed, planned, and implemented, QA test tasks are created for each specification.  Specifications can be used to define a QA test library, and to better quantify and standardize the QA testing process. 
  •  

    The SpecDD development model can be best illustrated with the following picture.  A development consists of a continuous set of iterations.  For each iteration it is about developing a set of features quantified via specifications, and optionally a set of defects can also be committed for the interaction.

    Within the iteration, designing, planning, implementation, and QA testing, are all happening with single or multiple teams working together.

     

    As a specification needs to be changed within an iteration, product owner team and developers must work together to get such change made for a committed specification.

     

SpecDD QA test model

SpecDD encourages all development and QA testing to be driven by specifications.  Within each development iteration, the QA team provides functional testing, regression testing, and automated testing.  

 

SpecDD encourages testing to be performed on daily based and integrated with a daily build.

 

For functional testing, since development tasks are created based on each specification as its parent, test tasks and test case templates are also created and based on such specifications.  Therefore, functional testing for the newly finished features and those enhanced feature, and such features with defect fixed, proper test coverage plan can be easily generated all based on all specification developed or affected by the current iteration.

 

For regression testing, SpecDD makes such testing plan coverage to managed based on the specifications all developed accumulatively from all previous iterations.  Since test caste template can be all created and linked to the specifications, therefore, we can always know the complete set of test caste templates for total testing coverage.  And selectively generate test cycles based on resource and other factor consideration, and make the quality more predictable based on the qualified requirements and hence the quantified QA testing standard.