Subscribe by Email

Sunday, May 13, 2012

What is meant by evolutionary and adaptive development?

There are so many models designed for the development of the software systems or applications and a good tester needs to have knowledge of every software development model in order to decide for the best development model for building his/ her project. 

Types of Software Development Models

There are so many software development models available today like:
     1. Waterfall development model
     2. Spiral development model
     3. Iterative and incremental development model
     4. Agile development model
     5. Code and fix development model
     6. CMMI
     7. ISO 9000
     8. B – methods
     9. Petri nets
    10. Automated theorem proving
    11. RAISE
    12. VDM
    13. Z notation
    14. Chaos model
    15. Extreme programming
    16. ICONIX
    17. Incremental funding technology
    18. Software prototyping
    19. Rational unified process
    20. V model
    21. Service oriented modelling
    22. Evolutionary development model
    23. Adaptive development model
     This article has been written to discuss about the last two development models i.e., the evolutionary model and the adaptive model of software development. The water fall model is viable even today for the software products whose features do not change with time. 
     But what about the software applications whose features have to be redefined every now and then?? 
     The waterfall model does not hold to be appropriate. 

About Evolutionary Development Model

     - Under the evolutionary development model, the whole development cycle is broken down in to smaller waterfall models which can be incremented and the software product is accessible by the users when each cycle ends. 
     - Based on this product the users provide their feedback based on which the development plan for the next stage is created.
     - These incremental cycles can take up to 3 – 4 weeks and continue till the shipping of the software product. 
     - The business results as well as the internal and marketing operations are also benefited by the evolutionary development model if it is performed well. 
     - The best benefit of the business being a huge reduction in the associated risks like:
  1. Missing scheduled deadlines
  2. Wrong set of features
  3. Poor quality
  4. Unusable products and so on.
- Since the whole development process is broken down in to smaller ones, these risks become easily manageable. 
- Apart from this the evolutionary development helps in reducing the cost budget by the means of disciplined and structured avenue for doing the experimentation.
- The evolutionary development model has also been praised for the below mentioned matters:
  1. Production of software systems and applications that fit the market requirements and needs of the users better.
  2. Early deliveries in the marketing development.
  3. Facilitation of the demonstration and the documentation.
With the constant feedback from the users in an evolutionary development model the team members are constantly motivated and encouraged. Now let us move to the other development model i.e., the adaptive development model that we had to discuss. 

About Adaptive Development Model

- In contrast to the evolutionary development model, the adaptive development model consists of shorter iterations, frequent releases of the working and useful softwares and continuous integration. - For an adaptive software development model the agile iterative approach is followed however no perspective set of rules has been defined. 
- Instead a couple of practices and principles have been identified.
- The adaptive development model has been inherited from the RAP or rapid application development. 
- This model is another attempt to replace the waterfall cycle with a development process that consists of speculative, collaborative and learning cycles.
- ASD is just the development process and is quite dynamic so as to provide adaptation to the state of project emergent in need. 
- Below mentioned are some of its characteristics:
  1. Mission focused
  2. Feature based
  3. Iterative
  4. Time boxed
  5. Risk driven
  6. Change tolerant

No comments:

Facebook activity