Softwaredevelopment is accomplished through different developmental lifecycles all of which have strengths and weaknesses. There are fivemajor software development models, which are considered in thispaper. First, the waterfall model is mainly applied in governmentprojects as well as major companies. The model emphasizes on theimportance of planning before starting the process of design. The twomajor benefits of the model include reinforcement of good habits(define before design and design before code) and the ease ofimplementation (Munassar & Govardhan, 2010). The waterfall modelhas two major weaknesses, including the failure to reflect theinteractive nature of the development process and delayed discoveryof serious errors.
Secondly,the interactive model was developed to resolve the shortcomings ofthe waterfall model. The interactive model gives faster results, hasgreater flexibility, and needs less upfront information (Munassar &Govardhan, 2010). Strengths of this model include the availability ofdeliverable in each developmental phase, high probability of successbecause of the development of early test plans, and the ease of use.Major weaknesses of the interactive model include failure to providea clear path that indicates problems detected during the testingstage and limited flexibility that makes adjustments expensive anddifficult.
Third,the V-shaped model is a sequential path in which each phase ofsoftware development should be completed before starting the nextphase. The strengths of the model include the ease of use and itsability to work well for small projects because all requirements areeasy to understand. However, this model has two major weaknesses,including the high rigidity and lack of early prototypes of softwarebecause software is developed in the implementation stage (Munassar &Govardhan, 2010)
Fourth,spiral model places more emphasis on risk analysis and it has fourphases, including planning, risk analysis phase, engineering phase,and evaluation. The strengths of the spiral model include itssuitability for mission critical and large projects and reasonableamount of risk analysis that reduce the chances for the occurrence offaults. Its weaknesses include the high cost of implementation, itsfailure to work for small projects, and the requirement forspecialized expertise in the phase of risk analysis (Munassar &Govardhan, 2010).
Fifth,extreme programming or incremental programming model is implementedthrough the development of small increments of system functionality.The model relies on user improvement, constant code improvement, andpair-wise programming (Munassar & Govardhan, 2010). Its strengthsinclude the reasonable level of interactivity, focus on the finalproduct, and enhancement of team cohesion. Weaknesses of the modelinclude the high cost of programming pairs, the need for experience,and the difficulty of scaling up the model to large projects.
Thereare two major current trends in life cycle modeling. First, the useof script-less automated testing is increasing with a highprobability for its growth in the future. Script-less automation isan approach that is used in building a test automation engine, whichis accomplished through empowerment of testing teams. The testingteams are empowered to build automated test cases more quickly bysequencing ready and reusable sets of code. This approach ensuresthat the test coverage is 100 % (Sudipto, 2008). Secondly,cloud-based application in software development is currentlyincreasing and it will continue for a foreseeable future. Cloudcomputing will resolve the challenges of existing developmentapproaches by reducing the cost and speeding up the process ofdevelopment (Staisch, Peters, Stueckl & Sergua, 2012). Firmsthat will adopt cloud-based applications will grow faster than firmsthat ignore this application.
Munassar,N. & Govardhan, A. (2010). A comparison between five models ofsoftware engineering. InternationalJournal of Computer Science Issues,7 (5), 94-101.
Staisch,A., Peters, G., Stueckl, T., & Sergua, J. (2012). Currenttrends in product lifecycle management.Munich: Munich University of Applied Science.
Sudipto,P. (2008). Script-lesstest automation: Next generation technique for productivityimprovement in software testing.Mumbai: Geometric Limited.