Thursday, December 4, 2014

Introduction to software development approaches

As the world around us grows more complex, custom software development companies in India strive to build more complex products. In parallel with the growth of complexity, there has been a need for increased predictability, predictability, risk management, and control—both of the development processes itself and the resultant products. At the same time, our need to be flexible, nimble and adaptable has increased. As of now, more organizations are employing agile processes and techniques to develop and sustain complex products than those that continue to employ more traditional techniques. Of those using agile techniques, 84% of them employ an agile framework process, Scrum (Elizabeth Woodward, Steffen Surdek, and Matthew Ganis, 2010).

Software Engineering is an engineering discipline which concerns the entire process of software production from setting up requirements to testing and maintaining the system. Problems existed such as high maintenance costs, late deliveries, communication gaps, over-budget projects and low reliability. This resulted in a search for increasing quality and number of tools and methods for software engineering. Software processes became a helpful approach for controlling the process from creating requirements through the testing and maintenance of the final system. A software process entails a set of methods, activities, practices and transformations that are used within the process of producing a software product. The success of using a software process for a software project heavily depends on the characteristics of the project itself and the characteristics of the process in use.

A survey was conducted four years before for the methodology used for the product. (Cranky, 2008). The different software methodologies involved in the survey were Waterfall, Scrum and agile methodologies which were not scrum. In 2006, it was reported that a sizable majority of product development used a waterfall methodology (55%), with Scrum garnering a mere 7%.  Software development companies in India have started giving more emphasis and importance to SCRUM and Agile development methodologies.