© Ca 2016 D. Mckenna, The Art of Scrum, Doi 10.1007/978-1-4842-2277-5 - 1
© Ca 2016 D. Mckenna, The Art of Scrum, Doi 10.1007/978-1-4842-2277-5 - 1
© Ca 2016 D. Mckenna, The Art of Scrum, Doi 10.1007/978-1-4842-2277-5 - 1
The Agile
Principles
Welcome to the fourth industrial revolution
When I was in grade school, I read books about what could be expected to
happen in the twenty-first century. It was predicted that things like flying cars,
one-piece suits that looked like they were made of aluminum foil, and vaca-
tions on Mars would be commonplace by now. None of that stuff has come
to pass yet, but there are some amazing things happening. Nobody is happier
than me that cars can now parallel park by themselves. Cell phones now pack
more computing power than early mainframes. In fact, the primary function of
a smartphone is no longer making or receiving phone calls. People are using
3D printers to print robotic, prosthetic limbs.
And software runs it all.
We live in an age where software literally touches everything. It is the great
equalizer. Software is not built just by traditional software companies, but by
companies like banks, insurance companies, car manufacturers—you name it
and software is an integral part of it.
Welcome to the fourth Industrial Revolution…
Time for a little history lesson. The Agricultural Revolution occurred when
human beings started planting crops and domesticating animals. They became
less nomadic. In other words, people stopped wandering around and stayed in
one place. They worked the land and herded animals.
© CA 2016
D. McKenna, The Art of Scrum, DOI 10.1007/978-1-4842-2277-5_1
4 Chapter 1 | The Agile Principles
The Industrial Revolution caused people to leave their farms. Humans started
working with machines in factories. Villages were abandoned for big cities.
Factory work was structured, measured, and steeped in command and control.
The Information Revolution relies on knowledge workers. The term
knowledge worker does not just refer to software developers. Anybody who
handles or uses information can be classified as a knowledge worker——
folks like doctors, teachers, and scientists. Knowledge work is different. For
example, the emphasis is more on changing things than running things. Less
structure and continuous innovation is required as the work is constantly
changing and evolving.
The fourth Industrial Revolution refers to quickly emerging, disruptive tech-
nologies that fundamentally will not only change the way we live and work,
but how we relate to each other. The ability to collaborate, pivot, and adapt
to change is critical to survival in the age in which we now find ourselves.
Technology is everywhere and is impacting both business and society. The
lines between physical and digital are being blurred—requiring, dare I say, agil-
ity to survive and thrive.
Figure 1-1. Once water goes over the falls, there is no going back
When you think about how you build software, the Waterfall model describes
a method that is linear, gated, and sequential. You take a development project
and you break it up into stages or phases of development. Each one of these
phases has a goal. You move onto the next phase once you achieve the goal.
I have seen Waterfall described as resembling a track and field relay race. A
runner takes a baton, runs his leg of the race, and passes the baton to the next
runner.
Figure 1-2 shows the phases of the Waterfall method.
8 Chapter 1 | The Agile Principles
In other words, they would figure out what we were going to build, and what
both customers and the business require out of this project. The goal for
the requirements phase is usually some kind of requirements document that
details the team’s findings.
The Art of Scrum 9
As shown in Figure 1-4, the team did all planning in the design phase. Design
work consists of stuff like deciding how the team will write the code. They
would figure out the languages and techniques to use, to best deliver func-
tionality and value, and even who would work on what. The result of all this
work would be the development staff producing an internal requirements
document, as shown in Figure 1-5.
Makes sense, right? At first glance, Waterfall looks like a sound way to pro-
duce quality software. Truth be told, I was involved in the creation of some
best-of-breed products using Waterfall.
However, there are some major flaws with Waterfall that are severely prob-
lematic here in the application-driven economy of the twenty-first century.
If requirements change in a Waterfall project after the requirements phase,
everything has to stop and the new requirements need to be evaluated. This
causes a domino effect where all of the other phases get “pushed out.” This
adds cost to the project, and it makes the GA date a whole lot harder to hit.
As you can probably imagine, management would not be happy about this
turn of events. We now live and work in a world where requirements change
rapidly, so there is ample opportunity for requirements to change quite a bit
during a twelve or eighteen month release.
You may be asking yourself “Why does Waterfall take so long? Twelve to
eighteen months is a long time.” One of the biggest reasons I can think of is
that customers were used to that cadence. They would try to get as many
requirements as possible into the next release because it took a long time to
get releases out. That was a big pile of requirements that may or may not be
relevant when the functionality is delivered.
It is also problematic that the Quality Assurance folks do not get their hands
on anything until the code is finished. Look, I like developers. I really do, but
everybody needs to understand that every new line of code is a potential
defect. I am not accusing anybody of writing bad code. That being said, we are
The Art of Scrum 13
all human. Mistakes are made. Couple that with the fact that teams are work-
ing on incredibly complex products, and you are going to have some bugs. The
earlier you find a bug in the development process, the easier it is to fix. It also
costs a lot less to fix. In Waterfall, the bugs did not show up until the very end
of the project, in the verification phase. Think about that for a second. How
do you predict how many defects were going to be found? How do you plan
for that?
In my experience, the verification phase always threatened to push out the
GA date because of the amount of time required to fix all of the defects. This
resulted in a stress-filled mad scramble to make the GA date. The quality
assurance engineers and developers were also two separate teams. This led
to an “us versus them” attitude——especially when stress levels were high.
Most importantly, customers and stakeholders did not get to see the new
product until Beta or GA. The customer would make their requirements
known, and a year later, we would produce a shiny, new thing.
However, how do we know we built the correct shiny, new thing?
Allow me to give you an example. I play bass guitar at my church. I am by no
means anywhere near a musician, but I can play in the correct key, most of the
time. Figure 1-9 shows the instrument that I play is an old Peavey Foundation
four-string rig. It stays in tune, and fits me well.
Figure 1-9. My bass guitar is not flashy; however, I can move furniture when I hit an open
E string
14 Chapter 1 | The Agile Principles
I found out that my daughter Bailey was going to buy me a new bass guitar for
Christmas, and I stopped her. I was touched by the fact that she would put that
much thought into a present for me, but there is no way she would be able
to buy an instrument that I would be happy with. I am very particular about
how my bass plays. The action, the feel of the fretboard, how the pickups are
situated on the body. There is no way I can tell if I am going to like a particular
bass guitar until I play it.
Same thing with our customers. The team tries to build something that satis-
fied what was asked for, but more often than not, this was not the case. Sure,
we had a Beta period, but that was to make sure the software worked, not to
change functionality.
Waterfall development was impacted by changing requirements, unrealistic
deadlines, and bad estimating. The biggest impact was on the people. Notice I
said people, not resources. A resource is something you use up, like toilet paper.
People are amazing and talented. Waterfall caused low morale, burnout, and
even health problems. Something had to be done…
to deliver small slices of what we plan to build at regular intervals. This way
customers can get their hands on what we are building. They get to try the
new functionality and give us feedback.
And expect disruptive change to come from the customer feedback we get.
That means that we do not plan 10 months ahead in intricate detail. A team’s
release plan and Backlog priority should be constantly changing and evolving
due to changing requirements and feedback.
The power is in the ability to pivot and adapt quickly. This ensures that what
the team builds is what the customer wants. Even if it isn’t what was originally
planned.
team is comfortable with this idea. The team needs to understand that it is
better to get something wrong upfront and have time to pivot and deliver
what the customer really wants.
Think of it like a wedding cake. Let us say that you are paying for a wedding.
Yes, that is extremely frightening. Trust me, I have two daughters.
I think everybody would agree that next to the bride’s dress, the wedding cake
is the most important decision to be made. Knowing this, as the person buying
the cake, you want it to be perfect. I am sure that the pastry chef making the
cake wants to delight you.
However, if a huge, seven-tier cake shows up the day of the wedding and
the bride does not like it, there is a good chance we have a living, breathing
Bridezilla on our hands.
Trust me; nobody wants that, so we have a tasting. We get to taste the cake
and see what it is going to look like. I would not expect to see the huge cake
here. I would expect a Minimally Viable Product. A smaller version of the fin-
ished product that stands on its own. We get to taste the cake, icing, filling,
and whatever. We could also possibly see some of the decorating techniques
that are planned, but we are not seeing the finished cake. This way, we can give
feedback and let the pastry chef know what we want.
Maybe we wanted strawberry filling between the layers, but now we do not
like the idea, or we like flowers instead of birds, or fondant instead of butter
cream icing.
The idea is that we get an idea of what the final product will be by working with
a small prototype. We can then give feedback and get exactly what we want. In
the wedding cake example, we might only do this one or twice. When develop-
ing software, the team delivers early and frequently so that there is plenty of
opportunity for feedback from the people who are going to use the software.
That ensures that what you are building is not the wrong thing but the right thing.
Which brings us to the most important point. In the end, all the customer
cares about is that what you have produced is something valuable to them.
That is what the team needs to focus on.
Agile teams work in a manner that expects and embraces change. This way,
customer requirements can be satisfied—even if they change late in the
project.
customer as much as possible. It may not be possible for the team and cus-
tomer to interact every day, but contact should be as often as possible.
When I was in basic training, the drill sergeant was fond of saying that if we
were supposed to have a family, it would have been issued to us and grounded
at the right side of our foot locker. This should not be the prevailing attitude
of the people you work with. Work-life balance is important. A sustainable
pace supports a healthy work-life balance.