AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha
ABSTRACT Agile process focus on code rather than documentation. RUP and CRYSTAL are two software development processes. Agile processes are adaptable not rigid.
INTRODUCTION Agile Software Development is an emerging philosophy producing new processes which effectively address the two prevailing Questions of cost and time. The new processes focus more on people interactions and early development of code than on documentation and planning
AGILE PROCESS PHILOSOPHY The basic ideas of philosophy are introduced through four basic values. 1. Individuals and interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan
CRYSTAL Crystal is a family of processes each applied to different kinds of projects. Crystal approach includes principles for tailoring the methodologies to fit the varying circumstances of different projects.
Selecting a Crystal process requires that a project be matched to one of four criticality levels 1. Comfort 2. Discretionary money 3. Essential money 4. Life
Each of these processes shares common policy standards. Incremental delivery Progress tracking by milestones based on software deliveries and major decisions rather than written documents. Direct user involvement Automated regression testing of functionality
Two user viewings per release Workshops for product and methodology tuning at the beginning and in the middle of each in crement
Crystal Clear and Crystal Orange are the two family members that have been constructed and used. Crystal Clear is designed for very small projects comprising upto six developers. Crystal Orange is designed for medium sized projects
Rational Unified Process(RUP) The Rational Unified Process is a generic process frame work that uses a specific methodology to accomplish the tasks associated with it. The RUP uses the Unified Modeling Language developing use cases for the software system design
The RUP embodies many proven software development practices. Six of them are Iterative development Model visually Manage requirements Control changes Continuously verify quality Use component based architectures
RUP PHASES There are four phases in RUP Inception phase Elaboration phase Construction phase Transition phase
In the inception phase the life cycle objectives of the project are stated so that the needs of every stake holder are considered. The elaboration phase is where the foundation of the software architecture is laid
In the construction phase all remaining components and application features are developed and integrated into the product and tested The transition phase is entered when the software product is mature enough to be released to the user community
Conclusion While not a panacea agile processes can help an organization to better compete in a volatile and rapidly changing market by helping to deliver high quality software at a competitive price and in a timely manner to a market moving at blinding speed