Professional Documents
Culture Documents
AGILE IMPLEMENTATION
We are going to learn some clear steps to start an Agile project and create a product that your
customers will love and enjoy. We have seen in the Chapter 1 that there are principles, values
and practises, all of which are part of the framework. Now, we will see how to consolidate them
by starting an Agile initiative.
The idea of this chapter is to help you connect the dots and gain a clear understanding of the
benefits and a concise way to make things happen.
THE BENEFITS
We first encourage people focusing on some key factors at the time of inspiring a shift to the Agile
paradigm.
Quicker delivery and feedback - quicker feedback from clients and end-user
(improving Time To Market) comparing to other traditional approaches. Working in
iterations is a form of regular risk management. Quicker delivery increases customer
satisfaction and minimise handoffs.
Higher quality - high quality, simplicity and maintainability are achieved through
techniques such as Continuous Integration (see more on chapter 12) with developer
regression testing, test-first development, pair reviews and refactoring.
Team morale - people prefer Agile because they can collaborate and self-
organize with others to create better products, they can be more creative in
finding solutions and bring results in a shorter time, creating a product they love.
We have seen many cases where people were doing some practices (like iterations, automated
regression testing, pairing, etc.) and with relatively good communication inside the team but the
problem was many times that even everyone believed they “were already Agile”, they were not
delivering valuable and potentially shippable increments frequently and consistently
(iteration after iteration), nor were changing the way of working in order to improve (not
adapting to the changing business needs, working Business and IT together or keeping
everyone´s motivated).
That is why is critical that the Agile values and principles are understood and set in place in
order for people to go ahead (read more about them in Chapter 3).
These 8 areas in here are important to discuss in order to start moving the wheel and making people
aware of the parts to improve.
I generally spend energy on these actions to minimise the impact/risks and positively re-focus
people on good practices/behaviours:
- Make sure management understand what Agile is and actively sponsor it. In order for
Agile to work, you need support from certain key stakeholders of the company.
- Have a strong reason to justify why you want to use Agile. Know clearly the problems to
solve or how the company can benefits from implementing it.
- Analyse people and idiosyncrasy, especially in the first areas to start, find early
adopters and make sure they align to the Agile principles.
- Remember that Agile requires the people´s willingness to move in that direction, it can’t
be dictated (but can be influenced).
- Find open minded people as they are needed in order to change things. Individuals
curious about new things, willing to learning and collaborate is a must.
- Be sure that the project is relevant for the Business, as you’ll need guaranteed
dedication and commitment from the person who will hold the Product Owner role.
- Be careful of dependency on third parties as they can add risks and tension.
Understanding them in advance can give you an integral vision of the problem.
A good idea is to start with an Agile methodology pilot, but if you do so, make sure you don’t
select a project that will be extremely difficult with high probabilities to fail as your
purpose is “test & learn” on the methodology and start with a successful experience you can
communicate.
Look for a Business individual and an IT team with a previous track of positive collaboration
between them, in business fields and technologies they already know, open minded and
willingness to try new things.
To connect all the dots between practises and reality, you can use the following principles to assist
you identifying the more important aspects to remediate in an initiative.
You can use the previous Readiness criteria as a chechlist and score the initiative from 5 (fully
“Agile-ready”) to zero (not recommended to be developed under Agile principles). Note that not all
criteria need a “high ranking”; though improving them will produce better results and impacts.
For that, you would need to locate a Sponsor who believes in the change and is able to make things
rolling and real; we call this individual Agile Champion.
o He is a high level Manager in charge of the Agile Adoption success. He makes things
happen at an organizational level, so he has the authority to work with the leadership
team and middle management and aligns them. He intervenes with potential people to
alleviate their fears and concerns.
o He creates and communicates the transformation vision and strategy and aligns
them with the change drivers.
An Agile Champion also helps managers understand why the change is important. He sells the concept
and is an Agile evangelist (showing more than telling).
He also works with management to remove roadblocks, reduce complexity and unnecessary activities
that don’t help to produce value. Finally, he makes sure people get use to ask for help/support when
they need.
What we do is little by little improving the practices and here the support of an Agile Coach that
knows how to work in this way is critical.
Scrum values are used at Team level and promote inclusiveness of people to work together as a
single unit moving towards a common goal and a shared commitment, it focuses on rapid
cycles, time to reflect and improving what is done. Everything we do is based on Agile values
and principles.
Focus
Respect Courage
Scrum
values
Commit Openne
ment ss
Scrum also provides a clear set of additional values to be followed when developing a product and
help mitigating risks resulting from erratic behaviours on the system.
Focus - because you focus on only a few things at a time, you work well together
and produce excellent work. In this way, you always deliver valuable items sooner.
Courage - as you are not alone, you feel supported and have more resources at your
disposal. This gives you the courage to undertake greater challenges.
Openness - as you work together, you practice expressing how you're doing and
what's in your way. You learn that it is good to express concerns so that they can be
addressed.
Commitment - because you have great control over your own destiny, you become
more committed to success.
Respect - as you work together, sharing successes and failures, you come to respect
each other and to help each other become worthy of respect.
It is generally a good practise to encourage discussion –but never to impose it- to allow people to
know their benefits.
In this stage, you need to identify the different roles and find the right people that will work on your product (collaborative, open
minded, eager to test & learn, with willingness to try the change and with enough product knowledge and technical skills). Be
aware that some of the roles do not exist in the same way as in the traditional approach.
The support of an Agile coach is particularly useful from the beginning of the implementation
to identify adoption risks, assess the context readiness, help to find the right people, do the
awareness sessions & training, and facilitate the Product Backlog inception (in order to foster
value generation) and other specific Scrum meetings, before transferring the responsibility to the
Scrum Master.
If the team is already working in some projects, the Agile coach is also useful as helps Teams and
members with values, practises and techniques to make sure the product development is
successful.
- Removing impediments.
Check if there is any current Scrum Master in the organisation that can mentor a new Scrum
Master, especially in the initial phases, when the Product Backlog is created.
Fully available.
With previous experience on the product to be developed / business domain (or similar).
With wide knowledge of the technologies to be presumably used in the product and/or
with the technical training needed.
Get along.
They will be “your friends” in other departments; they will help our team flow and get things done for
us in their areas.
Remember to get people take ownership on what each Scrum Role entails for them.
Open the checklist “Finding the right people” to make sure you are not forgetting
anything.
All people involved in the project require different kinds of initial basic explanation on their
roles and the Agile Coach can do it. This is a crucial step as it maps Agile terminology and
concepts on all participants, identifies worries, promotes initial alignment and helps build a
successful culture.
It is recommended that the awareness sessions are done even if some of the people were working
using some Agile “flavour” before.
Complete the checklist “Awareness Sessions” to make sure you don’t forget any
training.
Ideas should slowly be taken down into more detail and it is here where the roadmap is
created, generally following these parts:
A Roadmap, where high level-view goals are defined/reviewed with all the desired
releases and a timeline (for example to help evaluate the Business Portfolio), is
created.
Once everyone agrees and the vision is ready, all the parties should establish a concise definition
of what is important for the company in the coming months or what we call Roadmap.
Roadmap
Elevator
Test
This focuses on creating a very high level medium/long-term goals list that is useful to steer
the direction of travel for your product, and to set expectations within your company/client. It also
helps keep the balance between strategic developments and day-to-day requests and set
clear expectations.
We can build a roadmap simply by setting a time period for each high level goal, or strategic
development initiative.
- Identification of scope and High level Goals in the short, medium and long term.
- Demonstrate where your people, resources and budget are being allocated.
Make sure everyone agrees with it and make it visible. The Roadmap is an excellent
tool to manage expectations.
The process is generally done incrementally and involves a number of meetings/workshops. The
Roadmap and High Level View Backlog mitigates the conflict between viewing the roadmap
features as commitments.
- A prioritised list of smaller goals to be achieved in the short and medium term (a relative
value score can be used).
- Most important features (high level requirements) for the company/client and/or that can be
achieved quicker.
- Indication of backlog items size: big, medium or small (a relative cost score can be used).
- Some initial high-level metrics to make sure that everyone understands what is
targeted/expected by each goal and to verify what has been achieved.
Scrum Taskboard to ease joint project view, facilitate communication and creation of synergies
inside the team.
Access to ALM tools integrated with Continuous Integration and automated testing systems (If
already available, not necessary for starting to work in Agile, but they help).
Prepare Agile Coach logistics (desk, internet connection, access to building, etc.).
Before starting with the next phase (phase zero), all members (P.O., S.M., Development Team,
etc.) should do training on Agile values, principles and practises. Usually a one-day workshop
is sufficient to start experimenting; games and simulations can be used as well. They will be
strengthened by means of “training on the job” by the Coach during the first iterations in the own
reality that the team has to face.
First we will focus on the required agreements and later learn about the Product Backlog.
The Scrum Master may have to play the role of the meeting facilitator helping to come up with
the agreements, but it is the whole team that decides on the agreements themselves. Some
examples:
“Everyone should ask for help if the problem is not solved after half an hour”
The list should be noted down by the Team and placed in a visible space across the working area. As
other sets of Agreements, rules and Definitions/good practises are typically evolved as a result of
Sprint retrospectives and other improvement events.
The Agile team (Product Owner and Development Team) should agree on what it means
before starting to develop the Product Backlog.
This is something as simple as a checklist of the criteria which must be met before a Business
Feature or requirement is considered as "done".
Remember that Business Value must be expressed in the language of the business and that
Stakeholders and Product Owner should fully agree with this definition. A relative value score can
be used.
The main objective of this workshop is to identify characteristics that might be developed in the
project (having just the closest ones in greater granularity). The result is a Product Backlog
which is a prioritized list where Potential Releases are marked containing each a set of
functionality.
This activity is done by very collaborative workshops using flipcharts, white boards, etc. It is
important that this activity involves the whole team, stakeholders, additional technical people, etc.
Remember that the facilitator of these meetings is usually the Scrum Master.
Check chapter 6 “Agile Planning” for more details and specific techniques.
Estimate elements and know how much they will cost (a relative estimated score can be used).
Small items which offer faster return are allocated first.
Identify any kind of dependencies and plan their resolution in specific Sprints.
Check if spikes or prototypes are going to be used to reduce uncertainty in terms of feasibility,
estimation or expectations and where.
Create solution models (architectural maps, domain models, etc.) and Impact Maps.
Have some initial clues about the product Interface, Graphical guidelines and Navigation map.
Business and IT aligned with the releases scope and expected dates.
Establish the size of Sprints and an initial idea of what will be developed in each one
of them.
There is a catch in here which is that the First Release Planning has a special focus: preparing
the foundations for the project and define their scope.
As seen before, this can include creating solution Models and Impact Maps.
REMEMBER
Identify what is the shared need for the change to Agile.
Align middle management to the Agile principles getting support of an Agile Champion.
Accurately plan in detail only for nearby requirements/releases.
Make sure you always produce in short iterations.
Culture change management and Coaching are critical success factors.
BENEFITS
Priorities are based on Business Value, which is directly driven by its natural owner, the Business (not IT).
Time is spent only in crucial activities/important requirements
Quick feedback and flexibility even in late phases of development.
Early warning of problems, more visibility and more predictable delivery.
Business and IT Development Team working together and face-to-face improves performance.
Motivated people do incredible things.
Audience
Target audience of this checklist is quite wide. It is applicable to anyone who is initiating or
participates in the change to Agile way of working.
Context
This checklist may serve as the roadmap for understanding the importance, mechanism and
options to change organization to be aligned with Agile values and principles.
Audience
Target audience of this checklist is quite wide. It is applicable to anyone who is initiating or
participating in the change to Agile way of working.
Context
This checklist helps to validate if all key-people needed to start transformation to Agile are
available (or will be available by the beginning of the change implementation).
Awareness sessions
DATE: __________
Audience
If the development team and Scrum Master are available,
they can also assist in order to gain more visibility.
Context
Below you will find enlisted the steps to be run by Product Owner and stakeholders to elaborate
the roadmap for software product.
Coach logistics