Agile methodology is a way of managing software project in a better way. The motive of Agile methodology is basically to bring agility in project management and handling process.. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change .It has basically 4 functions/motives :
-> To increase the individuals interactions over processes and tools
-> it supports Working software over comprehensive documentation
-> Customer collaboration over contract negotiation
-> manage and respond to change over following a plan
-> Active user Involvement should be there to get the feedback and requirements clearly communicated to the team so that software can be built in accordance with the need of end user. In this the user representative checks the requirement and product on daily basis and discuss with the team.
-> The project team must be empowered to make decisions in order to ensure that it is their responsibility to deliver the product and that they have complete ownership. Any interference with the project team is disruptive and reduces their motivation to deliver.
->In Agile Development projects, requirements are allowed to evolve, but the timescale is fixed. So to include a new requirement, or to change a requirement, the user or product owner must remove a comparable amount of work from the project in order to accommodate the change.
-> In Agile development we have flexibility to develop and test even a small feature having less requirements. further we can update/enhance the functionality. XP is one of the Agile methods which are extensively followed. We break the requirement into small pieces and work on it.
-> Analyse, develop, test - yes this is what we follow in Agile. We take one feature , do requirement analysis on it and then develop it and then we go for testing.
Advantages of this iterative approach to software development include:
Reduced risk: clear visibility of what’s completed to date throughout a project
Increased value: delivering some benefits early; being able to release the product whenever it’s deemed good enough, rather than having to wait for all intended features to be ready
More flexibility/agility: can choose to change direction or adapt the next iterations based on actually seeing and using the software
Better cost management: if, like all-too-many software development projects, you run over budget, some value can still be realized; you don’t have to scrap the whole thing if you run short of funds
Frequent delivery of products : Agile believe in frequent delivery of product and further feedback is taken to improve it in iterative cycles.Iterative cycles are also called sprints.
-> Completeness of one feature in one go : Each sprint consists of a feature and once the sprint is completed we are done with the development of complete feature.So, in agile development, make sure that each feature is fully developed, tested, styled, and accepted by the product owner before counting it as “DONE!”. And if there’s any doubt about what activities should or shouldn't be completed within the Sprint for each feature, “DONE!” should mean shippable.
-> Integration of testing in development life cycle - we start testing early in development phase to get the software more in accordance with the requirements.
There are various agile methodologies. The famous among them are :
Scrum (an agile development method), concentrates particularly on how to manage tasks within a team-based development environment. Scrum is the most popular and widely adopted agile method – I think because it is relatively simple to implement and addresses many of the management issues that have plagued IT development teams for decades.
XP (Extreme Programming) is a more radical agile methodology, focusing more on the software engineering process and addressing the analysis, development and test phases with novel approaches that make a substantial difference to the quality of the end product.
-> To increase the individuals interactions over processes and tools
-> it supports Working software over comprehensive documentation
-> Customer collaboration over contract negotiation
-> manage and respond to change over following a plan
-> Active user Involvement should be there to get the feedback and requirements clearly communicated to the team so that software can be built in accordance with the need of end user. In this the user representative checks the requirement and product on daily basis and discuss with the team.
-> The project team must be empowered to make decisions in order to ensure that it is their responsibility to deliver the product and that they have complete ownership. Any interference with the project team is disruptive and reduces their motivation to deliver.
->In Agile Development projects, requirements are allowed to evolve, but the timescale is fixed. So to include a new requirement, or to change a requirement, the user or product owner must remove a comparable amount of work from the project in order to accommodate the change.
-> In Agile development we have flexibility to develop and test even a small feature having less requirements. further we can update/enhance the functionality. XP is one of the Agile methods which are extensively followed. We break the requirement into small pieces and work on it.
-> Analyse, develop, test - yes this is what we follow in Agile. We take one feature , do requirement analysis on it and then develop it and then we go for testing.
Advantages of this iterative approach to software development include:
Reduced risk: clear visibility of what’s completed to date throughout a project
Increased value: delivering some benefits early; being able to release the product whenever it’s deemed good enough, rather than having to wait for all intended features to be ready
More flexibility/agility: can choose to change direction or adapt the next iterations based on actually seeing and using the software
Better cost management: if, like all-too-many software development projects, you run over budget, some value can still be realized; you don’t have to scrap the whole thing if you run short of funds
Frequent delivery of products : Agile believe in frequent delivery of product and further feedback is taken to improve it in iterative cycles.Iterative cycles are also called sprints.
-> Completeness of one feature in one go : Each sprint consists of a feature and once the sprint is completed we are done with the development of complete feature.So, in agile development, make sure that each feature is fully developed, tested, styled, and accepted by the product owner before counting it as “DONE!”. And if there’s any doubt about what activities should or shouldn't be completed within the Sprint for each feature, “DONE!” should mean shippable.
-> Integration of testing in development life cycle - we start testing early in development phase to get the software more in accordance with the requirements.
There are various agile methodologies. The famous among them are :
Scrum (an agile development method), concentrates particularly on how to manage tasks within a team-based development environment. Scrum is the most popular and widely adopted agile method – I think because it is relatively simple to implement and addresses many of the management issues that have plagued IT development teams for decades.
XP (Extreme Programming) is a more radical agile methodology, focusing more on the software engineering process and addressing the analysis, development and test phases with novel approaches that make a substantial difference to the quality of the end product.
No comments:
Post a Comment