pragmatic agility
Embed Size (px)
TRANSCRIPT

©2016 Binary Star [email protected]
Agenda
What Agile is (and isn’t)
Why you want to use it
Advice on how to succeed with it
Q&A
2

©2016 Binary Star [email protected]
Who is this guy?Kevin Matheny
16 years in ecommerce, 10 years in advertising
Agile since 2002, full-time since 2008
Anthropologist, not an engineer
3

©2016 Binary Star [email protected]
What it isn’tA silver bullet
A magic formula
Anti-planning
Anti-documentation
A goal
5

©2016 Binary Star [email protected]
What it is“Agile Software Development is an umbrella term for a set of methods and practices based on the values and principles expressed in the Agile Manifesto.
Solutions evolve through collaboration between self-organizing, cross-functional teams utilizing the appropriate practices for their context."
https://www.agilealliance.org/agile101/what-is-agile/
6

©2016 Binary Star [email protected]
12 Principles• Our highest priority is to satisfy the customer
through early and continuous delivery of valuable software.
• Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
• Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
• Business people and developers must work together daily throughout the project.
• Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
• The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
• Working software is the primary measure of progress.
• Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
• 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.
• At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

©2016 Binary Star [email protected]
Universal* agile practices• Daily communication inside the team• Short planning cycles• Frequent delivery and feedback• Documentation focused on why and who
(rather than how and what)• Commitment to getting better over time• Retrospectives
11

©2016 Binary Star [email protected]
Common agile practices
• Direct engagement with customers• Physical co-location• Shared ownership of code• Automated testing• Test Driven Development• Continuous Integration
12

©2016 Binary Star [email protected]
That's all well and good, but why would I
want to use these methods?
13

©2016 Binary Star [email protected]
Because it’s not 1911• Shift from artisanship to
industrial production• Scientific Management
separates planning from execution to gain efficiency
• Managers from Workers• Design from Production• Still informs how we work today
14

©2016 Binary Star [email protected]
Estimating is hard
From “Day 73 - CY365 - Mark The Spot” © 2041 Makia Minich, CC BY-SA 2.0,https://flic.kr/p/m3eNVR
16

©2016 Binary Star [email protected]
Predictions are hard
© Copyright N Chadwick CC BY-SA 2.0, http://www.geograph.org.uk/photo/2684629
17

©2016 Binary Star [email protected]
Delivery has an impact
© Copyright Eren Eris, CC BY 2.0, https://flic.kr/p/e3G6MJ
18

©2016 Binary Star [email protected]
Things change
“Netscape Navigator 1.1 Diskette” © 2009 Robert Occhialini, CC BY-NC 2.0, https://flic.kr/p/6L8FEv
19

©2016 Binary Star [email protected]
Use the right tools
• High certainty: plan up front• Low certainty: iterate and experiment
21

©2016 Binary Star [email protected]
Be careful with words
Original image ©1987 Twentieth Century Fox
23

©2016 Binary Star [email protected]
Words are complex things
Denotations (direct meanings)
Connotations (implied meanings)Image © User:SuHoGo / Wikimedia Commons / CC-BY-SA-3.0
24

©2016 Binary Star [email protected]
The meaning of words is contextual and social
The meaning of words is not fixed
Words are given meaning by the listener, not the speaker
25

©2016 Binary Star [email protected]
An example would be handy right about now
I’m shopping for a pickup
I want to replace the one I have now
I’m open to either new or used
Quality and reliability are key considerations
Can you recommend a brand?
26

©2016 Binary Star [email protected]
Probably not this
• Image ©Vonvon / Wikimedia Commons / CC-BY-SA-3.0
27

©2016 Binary Star [email protected]
Seek to understand• Sit together – maximize opportunities for
learning• Treasure your new people• Ask for definitions• Restate for understanding• Capture everything!

©2016 Binary Star [email protected]
Maximize communication
• http://www.agilemodeling.com/essays/communication.htm
29

©2016 Binary Star [email protected]
Plan for change• The further out something is, the higher
the chance it will change
• Don’t make detailed plans more than 2-3 months out
• Key events are worth planning for (Black Friday for retail, for example)
• Regard old requirements with deep suspicion
30

©2016 Binary Star [email protected]
Book utilization at no more than 70%…
©2012 Harvard Business Review, https://hbr.org/2012/05/six-myths-of-product-development/ar/1
31

©2016 Binary Star [email protected]
… because this is 95%
32
© Copyright 2008 Lingaraj G J, https://flic.kr/p/4FpWpn