Being Agile
Good evening
toastmaster of the evening & audience. How many of you are using software’s daily?
Software`s have become inseparable part of daily life. Starting from the time
of daily from mobile phone to the time to sleep we are using software
applications without which we can`t survive in the modern world. Today I am
going to share info about the agile practices in software development which is
the progressing trend now. I am also started working on the agile projects.
All major
organizations have started adapting to Agile methodologies. Some of the familiar
organizations are
1.
Apple
2.
Microsoft
3.
IBM
4.
Amazon
5.
Google
6.
Cisco
7.
Etc
The
traditional way of developing any software is to follow a waterfall model. Here
the scope is fixed, Cost & schedule are variables. Strict processes is to
be adhered. Comprehensive documentation has to be maintained for all the
processes.
Below are
the difficulties identified in the traditional model.
1.
Customers
can touch the software only at the end of the project.
2.
If
the project duration is long & in the course of the time if the technology
& requirement changed, it becomes very difficult to accommodate it in the
same project. Sometimes after years of work, projects are getting scrapped.
To address
this issues, agile practices in software development are introduced. Below are
the key principles of Agile manifesto.
1.
Individuals
& interactions over processes & tools.
2.
Working
software over comprehensive documentation.
3.
Customer
collaboration over contract negotiation
4.
Responding
to change over following a plan.
There are many methodologies in Agile practices. Some of the key methods
are
1.
Scrum
2.
Kanban
– got familiar from Toyota
3.
Xtreme
Programming(XP)
4.
Crystal
5.
Etc
The most
popular is Scrum. Below are the roles available in the Scrum methodology of
software development.
1.
Product
owner – Who owns the product & he will be the chief steward officer who
will determine the priority of the items in the product backlog.
2.
Scrum
master – It is equivalent to the project manager role in the traditional method
but here the role is of servant leader role where he has to serve the team
& try to resolve for any impediments.
3.
Development/Testing
team – In scrum, the general expectation of the team is T shaped skills,
meaning members should have a general understanding of wide variety of skills
& a deep understanding of one skill.
A scrum team
can be of 3 to nine members. For bigger teams, there will be scrum of scrums.
Scrum can be
of iterative cum incremental. A typical iteration duration is 2-4 weeks. At the
end of an iteration depending upon the understanding a release can be done in
the production or till the UAT(User acceptance test)
Below is the
flow in the Scrum.
1.
Product
backlog – Which contains the requirements in the form of user stories
2.
Sprint
planning – Product owner & the team will do the planning for the number of
sprints.
3.
Sprint
backlog - Product owner & the team will prioritize the back log for that
particular sprint.
4.
Sprint
execution/Daily standup(15 min meeting-What done yesterday, what will be done
today, impediments)
5.
Sprint
Review
6.
Release(Depends
on iterative/incremental)
7.
Sprint
Retrospective
From step#2
to sprint#7 will be called as an iteration. Iteration will be repeated till all
the requirements are done. The main
philosophy of Agile is that changes are welcome even at the end. In agile,
Scope is variable, Cost & schedule are fixed.
It is
difficult for the organizations to directly switch over to agile from
traditional methodologies. So organizations are using hybrid methodologies
which is a combination of traditional & agile practices. Eg. Till design it
can be waterfall, then agile practices can be followed for development till
release.
Agile
practices in software development are causing major disruptions in software
development. The release are made incremental by which time to reach the market
is reduced. Agile brings visibility, adaptability, accountability & value
at the beginning of the project & minimizes the risks during the project.
It has saved billions of dollars for countless companies. Over to the TMOE.