Key to Adopting Scrum
One
of the most common adopted agile approaches in industry today is SCRUM, more so
for agile software development. In order
to adopt the approach, core principles of SCRUM have to be implemented. Various organizations have implemented agile
approach including SCRUM.
Ten
keys that help a company identify changes that have to be implemented for SCRUM
to meet its needs.
1.
Assess its Suitability
SCRUM
is an incremental method which enables a higher level workflow at the team
level. Agile software development has
SCRUM as one of the approaches. Scrum at its core has sprints, daily meetings
and the product backlog maintains work items. Scrum Master, product owner and
the development team are the three roles in SCRUM. Also for the product and
process it includes continuous enhancement feedback loops. However scrum is not
a good fit for organizational and product software development
The
primary key for SCRUM adaptation is to determine the methodology is ideal for
the project or various other projects in the company.
2. Adhere
to Core Principles.
The
most critical part of SCRUM is to understand the core principals and adopt
them. The major cause for failure of a project is not adhering to the core
principals of SCRUM.
The
outcome of this varies from project cancellation to building the system from
scratch. This leads to the project being
delayed, to the over budget and various other issues which affects the user
needs.
3. Tailoring
needs for SCRUM adoption.
Playing
by the book SCRUM can be a good fit for few projects; few companies tailor the
methodology to meet their needs. However
it’s important to play by the book at initial stages of the project so that the
fundamentals are understood & approach adopted. Also it’s absolutely
necessary to stick to the core SCRUM principles.
4.
SCRUM Roles
Scrum
master, Product owner, and development team are the three major roles for
SCRUM. When adopting SCRUM for a project it’s important to understand the
implications of implementing these roles.
Scrum
Master- one who facilitates the scrum process and the team also ensures that
the process is being followed, enable cooperation between team members, help in
decision making.
Also
he has to take care of outside interference and remove barriers.
Product
owner- He defines the features of a product, or organizes the features of a
product according to the business value. He works closely with the development
team.
Development
Team- Determines the set of work that needs to be completed. After completion
of each sprint, a demo of the product is shown to the product owner.
5.
Collaboration.
For
SCRUM to be successfully adopted there has to be an emergence of a self
empowered team. In order to make sure this is done a team must be made up of
indivuials from all disciplines required to define, build, validate, and
prepare the software for release.
6. A
balanced perspective.
During
the adoption of SCRUM, it’s important to determine the long term visibility for
a team in direction of the project. The
long term visibility into the expected functionality of the project is provided
in the product backlog in most of the cases. In order to promote a constant
understanding of the project a near, mid and long term goal has to be adopted.
7.
The Essentials.
A
supporting essential infrastructure is required for a high quality product to
be delivered. As a team plans to work to finish each Sprint, they have to
maintain the required infrastructure and practices for product development
This includes a solid build and a test frame
work, creating and automatically executing unit tests, validating ongoing daily
or continuous builds and developing the guidelines that need to be followed by
the team
This
reduces risk, validates the quality of the product and also enhances the productivity
of the team.
The
maintenance of an essential infrastructure should start from the first Sprint
and continue for the duration of product development.
8.
Supervise the
Architecture.
The
principle of SCRUM is that the requirements, planning and design emerge
throughout the project. However without supervising
the project a company can end up with two undesirable results.
One
a team can over engineer in a particular Sprint building up an infrastructure
and system that’s never required,
Two
a team can spend very little time designing a Sprint and later realise the
fundamentals are too weak to support the objective of the project.
It’s
essential that while adopting scrum a company has to ensure that couple of
indivuials from the team guide the architecture of the product as it is
developed.
- Multiple
aspects of a product.
While
adopting scrum one common mistake that a company usually commits is, designing
a product solely based on the end user value they provide. This doesn’t provide a complete perspective
of all the work necessary to release a product that will meet the end user’s
requirements and comply with all the company constraints.
To
make sure the product does both the below three aspects are recommended.
- The customer value has to be
defined. This should include the
functionality, non functionality requirements such as how scalable, robust
and fast it has to be.
- The technical value of building a new
infrastructure for software development has to be defined.
- The business value for the entire
product development has to be defined.
- In the
end, purpose of adopting Scrum.
When
a company is thinking about deploying a customized version of Scrum, the
methodology will not meet the requirements in the first Sprint of the
project. It’s necessary that the company
deploys short Sprints in the starting of the project and learn from the experience
and make necessary changes where ever required.
Few
common areas that need to be refined during adoption of scrum is
- Change in the definition of
done once the Sprint is over.
- Modifications in how a team
works during the Sprint
- The team composition has to
change
- Scrum Methodology supported by
additional software development. Processes and practices.
- Constant refinements to balance
between change and long term visibility.
No comments:
Post a Comment