the meaning of agile - software design & development...

32
The Meaning of Agile @KevlinHenney [email protected]

Upload: others

Post on 10-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The Meaning of Agile

@KevlinHenney [email protected]

Page 2: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 3: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 4: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Um. What's the name of the word for things not being the same always. You know, I'm sure there is one. Isn't there?

There's must be a word for it... the thing that lets you know time is happening. Is there a word?

Change.

Oh. I was afraid of that.

Neil Gaiman The Sandman

Page 5: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 6: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Scrum can't have it's cake and eat it too. It can't be a simple framework that

is not prescriptive and then start certifying people on how to do all this stuff.

Mike Cottmeyer

http://www.leadingagile.com/2010/02/having-your-cake-some-thoughts-around.html

Page 7: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

nomic, noun & adjective

a game in which changing the rules of the game is a

legal move and part of the game

the original Nomic was invented by Peter Suber, but

the term is now generalised to describe any game that

has these properties

political constitutions, legal systems, software

development processes and many games that children

spontaneously evolve over an afternoon of play are

nomic in nature

http://facebook.com/WordFriday

Page 8: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Scrum works by making visible the dysfunction

and impediments that are impacting the Product

Owner and the team’s effectiveness, so that they

can be addressed.

The Scrum framework will quickly reveal these

weaknesses. Scrum does not solve the problems

of development; it makes them painfully visible,

and provides a framework for people to explore

ways to resolve problems in short cycles and with

small improvement experiments.

http://scrumprimer.com

Page 9: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 10: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 11: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Science is what we have learned

about how not to fool ourselves

about the way the world is.

Richard Feynman

Page 12: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

empirical, adjective

based on, concerned with, or verifiable by

observation or experience rather than theory

or pure logic

pertaining to, or derived from, experience

capable of being verified or disproved by

observation or experiment

Concise Oxford English Dictionary ∙ Oxford English Dictionary ∙ Merriam-Webster's Collegiate Dictionary

Page 13: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The "defined" process control model

requires that every piece of work be

completely understood. Given a well-

defined set of inputs, the same

outputs are generated every time.

Ken Schwaber

Agile Software Development with Scrum

Page 14: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The empirical process control model,

on the other hand, expects the

unexpected. It provides and exercises

control through frequent inspection

and adaptation for processes that are

imperfectly defined and generate

unpredictable and unrepeatable

results.

Ken Schwaber

Agile Software Development with Scrum

Page 15: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Agile methods balance two things. One is the maximizing of value creation. The other thing is the maximizing of the chances of actually delivering something.

Niklas Bjørnerstedt http://www.leanway.no/?p=280

Page 16: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

These two goals are sometimes in conflict!

Niklas Bjørnerstedt http://www.leanway.no/?p=280

Page 17: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Projects that dogmatically focus on stakeholder value are working on the right things but still risk failing completely.

Niklas Bjørnerstedt http://www.leanway.no/?p=280

Page 18: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The simple reason agile focuses on “working software” is that this is one of the primary ways of insuring that the system being worked on will actually work.

Niklas Bjørnerstedt http://www.leanway.no/?p=280

Page 19: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Technology

Unknown/ Unstable

Known/ Stable

Certain Uncertain

Requirements

Simple

Complicated

Chaotic

Complex

Page 20: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm
Page 21: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Let us examine [software's]

difficulties. Following Aristotle, I

divide them into essence — the

difficulties inherent in the nature

of software — and accidents —

those difficulties that today

attend its production but that

are not inherent.

Page 22: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

How much of what software

engineers now do is still

devoted to the accidental, as

opposed to the essential?

Page 23: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Continuous attention to technical excellence and good design enhances agility.

Simplicity--the art of maximizing the amount of work not done--is essential.

The best architectures, requirements, and designs emerge from self-organizing teams.

Page 24: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Firmitas

Utilitas

Venustas

Page 25: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Anyway, the point I'm making is that we need to be very careful. Just as they're doing with management consultants, sooner or later our customers will figure out that the management practices of Agile don't deliver working software any more than they can grill cheese or power an electric bicycle.

Jason Gorman, "We Emulate Management Consultants at Our Peril" http://www.codemanship.co.uk/parlezuml/blog/?postid=946

Page 26: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The business of software is software. We don't make bean bags and we don't sell ice cream, even if that's what will solve the customer's problems. We make working software. And the Manifesto for Agile Software Development is a manifesto for doing it better.

Jason Gorman, "We Emulate Management Consultants at Our Peril" http://www.codemanship.co.uk/parlezuml/blog/?postid=946

Page 27: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

If you don't know how to make software, then I'm afraid you've boarded the wrong train, my friend. This train is going to Better Software. The train for Management Snake Oil leaves from a different platform. You can't miss it. It's made of invisible gold and it runs on magic beans.

Jason Gorman, "We Emulate Management Consultants at Our Peril" http://www.codemanship.co.uk/parlezuml/blog/?postid=946

Page 28: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Da

vid

Sc

hp

ilb

erg

, S

teve

Be

rez, R

ud

y P

ury

ea

r a

nd

Sa

ch

in S

ha

h

"A

vo

idin

g t

he

Ali

gn

me

nt

Tra

p in

In

form

ati

on

Te

ch

no

log

y"

MIT

Slo

an

Ma

na

ge

me

nt

Re

vie

w

Page 29: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

The four conditions that characterize wise crowds: diversity of opinion, independence, decentralization, and aggregation.

Page 30: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

There's little correlation between a

group's collective intelligence and

the IQs of its individual members.

But if a group includes more

women, its collective intelligence

rises.

"What Makes a Team Smarter? More Women" http://hbr.org/2011/06/defend-your-research-what-makes-a-team-smarter-more-women/

Page 31: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

Software development:

a social activity with

technical practices

Helen Sharp

Page 32: The Meaning of Agile - Software Design & Development 2021sddconf.com/brands/sdd/library/The_meaning_of_Agile.pdf · 2014. 5. 23. · things not being the same always. You know, I'm

agile, adjective

able to move quickly and easily

having the faculty of quick motion

easily moved

nimble, active, ready

having a quick resourceful and adaptable

character

Oxford English Dictionary ∙ Concise Oxford English Dictionary ∙ Merriam-Webster's Collegiate Dictionary