Agile methodology is one of the hot topics
in Software development. But what exactly is Agile?
Simply put it is different way of software
development. Waterfall software development life-cycle has been traditional
software development methodology. However waterfall software development
life-cycle has many drawbacks. Projects developed using this methodology take
too long to develop and tend to fail too often. This is because Waterfall
software development is a linear and rigid approach. In Waterfall method all the requirements has
to be confirmed at the start, all the code has to be finished before it can be
tested.
A small group of people came together and
put forward Agile manifesto. The Agile manifesto values Communication over
following processes, Working software over documentation, Customer Cooperation
over Requirements approval. Agile puts more importance on flexibility with
change over following a plan. Due to its flexibility and excess use in industry
training institute start agile certification for spread the knowledge of agile
in all over the industry.
Agile places importance on
User Involvement
Agile places greatest importance on
involving users on every stage of Software development life-cycle. If it is not
practical to have direct user involved every step of the development. However
at least some user representative should be there.
Development Team must be able to make decisions
Software development team should be
complete unit responsible for End to end solution delivery. If a decision needs
to be made they should have some senior representatives who can make that
decision.
Requirements can change but time limit does not
The goal of the agile is to be flexible
with the requirements. However at the same time it is responsible in delivering
solution in fixed time frame. So change in requirements should be able to fit
in existing time frame.
Requirements can be Bare minimum
Agile recognizes that the requirements are
always evolving. So it is possible that at the start of Agile projects the
requirements are bare minimum.
Develop small release and repeat
The Agile focuses on delivering small
changes that can be put in production in short amount of time without major
impacts rather than complete overhaul of the system.
Frequent delivery is important
Agile is fast moving method so frequently
delivering small changes to the system is important. Small changes are easier
to manage and develop and they can be deployed with very little or no impact to
existing system
Complete each change before moving on
An agile sprint should deliver the results
it was intended to deliver. Each sprint has definition of “DONE” defined at the
start and Agile sprint should make sure that the “DONE” Status is achieved
Deliver Minimal Viable product
Agile focuses on delivering changes that
are most important and vital to project success. This ensures that project
delivery can be done with less cost with greater rate of return
Testing should be done at each step
Agile places importance on testing. Testing
should be done as early and as often as possible. Testing make sure any
potential issues are recognized and fixed early in the project
Cooperation is important
Agile relies heavily of cooperation between
team members. So that the team as a whole can achieve the goal.
No comments:
Post a Comment