A talk about Company Culture, Software, People, Lean Thinking, Agile Software.
This is the Powerpoint for a talk I gave at Tech2020, in Oak Ridge, Tennessee in June, 2012.
2. Adrian CarrAdrian Carr
•I’m a Software Developer with a passion for efficiency.I’m a Software Developer with a passion for efficiency.
•Experience as a business analyst, project manager.Experience as a business analyst, project manager.
•Scrum Product Owner and Scrum MasterScrum Product Owner and Scrum Master
•Director of Software DevelopmentDirector of Software Development
•Founder and Organizer of Agile KnoxvilleFounder and Organizer of Agile Knoxville
(http://agileknoxville.com)(http://agileknoxville.com)
3. Why am I here?Why am I here?
•I'm not trying to sell you anything.I'm not trying to sell you anything.
•I want to see local businesses be successful.I want to see local businesses be successful.
• I also want to see people enjoying their jobs andI also want to see people enjoying their jobs and
their lives.their lives.
5. I travel to L.A. forI travel to L.A. for
install…install…
6. 2011…2011…
•I’m working in KnoxvilleI’m working in Knoxville
• Offered the job of leading the developmentOffered the job of leading the development
team at Voices Heard Media.team at Voices Heard Media.
-Run it however you want…-Run it however you want…
7. I travel to L.A. again…I travel to L.A. again…
Example of chat app to Disney- five days early, in production, no
major bugs
Response from Disney project manager
“You guys are setting the standard”
That was normal for us. And we usually had fun doing it. And it
wasn’t that difficult after a while.
Both of these, we took business and $$ from other companies who
couldn't move as fast and weren't as responsive.
8. Step One:Step One:
• Start with more frequent releases (reduceStart with more frequent releases (reduce
batch size)batch size)
– Reduced cycle timeReduced cycle time
– Faster feedbackFaster feedback
– Greater ability to respond to changesGreater ability to respond to changes
– Increased efficiencyIncreased efficiency
– Greater sense of urgencyGreater sense of urgency
– Defects don't build up unnoticedDefects don't build up unnoticed
9. Step Two:Step Two:
• Agile practices.Agile practices.
– Small cross-functional teamsSmall cross-functional teams
– Frequent deliveryFrequent delivery
– Small batch sizesSmall batch sizes
– Daily standup meetingsDaily standup meetings
– Demos and planning meetings every 2-4Demos and planning meetings every 2-4
weeksweeks
10. The Agile ManifestoThe Agile Manifesto
• Individuals and interactionsIndividuals and interactions over processesover processes
and toolsand tools
• Working softwareWorking software over comprehensiveover comprehensive
documentationdocumentation
• Customer collaborationCustomer collaboration over contractover contract
negotiationnegotiation
• Responding to changeResponding to change over following a planover following a plan
That is, while there is value in the items onThat is, while there is value in the items on
the right, we value the items on the left morethe right, we value the items on the left more..
11. Principles behind the Agile ManifestoPrinciples behind the Agile Manifesto
• Our highest priority is to satisfy the customerOur highest priority is to satisfy the customer
through early and continuous delivery ofthrough early and continuous delivery of
valuable software.valuable software.
• Welcome changing requirements, even late inWelcome changing requirements, even late in
development. Agile processes harness changedevelopment. Agile processes harness change
for the customer's competitive advantage.for the customer's competitive advantage.
• Deliver working software frequently, from aDeliver working software frequently, from a
couple of weeks to a couple of months, with acouple of weeks to a couple of months, with a
preference to the shorter timescale.preference to the shorter timescale.
12. • Build projects around motivatedBuild projects around motivated
individuals. Give them the environmentindividuals. Give them the environment
and support they need, and trust them toand support they need, and trust them to
get the job done.get the job done.
• The most efficient and effective method ofThe most efficient and effective method of
conveying information to and within aconveying information to and within a
development team is face-to-facedevelopment team is face-to-face
conversation.conversation.
• Working software is the primary measureWorking software is the primary measure
of progress.of progress.
13. • Continuous attention to technical excellenceContinuous attention to technical excellence
and good design enhances agility.and good design enhances agility.
• Simplicity--the art of maximizing the amountSimplicity--the art of maximizing the amount
of work not done--is essential.of work not done--is essential.
• The best architectures, requirements, andThe best architectures, requirements, and
designs emerge from self-organizing teams.designs emerge from self-organizing teams.
• At regular intervals, the team reflects on howAt regular intervals, the team reflects on how
to become more effective, then tunes andto become more effective, then tunes and
adjusts its behavior accordingly.adjusts its behavior accordingly.
http://agilemanifesto.org/http://agilemanifesto.org/
14. Warning:Warning:
• Partially agile isn’t very agile.Partially agile isn’t very agile.
• Agile practices without the principles willAgile practices without the principles will
only give marginal benefits.only give marginal benefits.
• A few lean concepts can make anA few lean concepts can make an
amazing difference.amazing difference.
• After a lot of study on this, I’ve come toAfter a lot of study on this, I’ve come to
believe that this won’t happen withoutbelieve that this won’t happen without
systemic cultural changes.systemic cultural changes.
15. Lean ThinkingLean Thinking
• The core idea is to maximize The core idea is to maximize valuevalue while while
minimizing waste. Simply, lean meansminimizing waste. Simply, lean means
creating more value with fewer resources.creating more value with fewer resources.
http://lean.orghttp://lean.org
16. • Eliminating waste creates processes thatEliminating waste creates processes that
need less human effort, less space, lessneed less human effort, less space, less
capital, and less time to make products andcapital, and less time to make products and
services at far less costs and with muchservices at far less costs and with much
fewer defects, compared with traditionalfewer defects, compared with traditional
business systems.business systems.
http://lean.orghttp://lean.org
18. Lean Cultural ChangesLean Cultural Changes
• Culture of problem solvingCulture of problem solving
– Problems shouldn't carry blame, or they willProblems shouldn't carry blame, or they will
be suppressed, and you can't solve them.be suppressed, and you can't solve them.
– Stop going around them and solve themStop going around them and solve them
insteadinstead
• The fact that we know more today, and are more capable today,The fact that we know more today, and are more capable today,
is good news about today, not bad news about yesterday.is good news about today, not bad news about yesterday. RonRon
JeffriesJeffries
• A manager at an auto plant that used to be a manager in aA manager at an auto plant that used to be a manager in a
Toyota plant:Toyota plant: “When I was a manager at the Toyota plant, I had“When I was a manager at the Toyota plant, I had
2000 problem solvers working in “the plant. Now I have 10. How2000 problem solvers working in “the plant. Now I have 10. How
am I going to compete?”am I going to compete?” From “Leading Lean Development”From “Leading Lean Development”
19. Lean Cultural ChangesLean Cultural Changes
• Continuous improvementContinuous improvement
• Who is responsible for quality at yourWho is responsible for quality at your
company?company?
• ExpectExpect employees to look for waste andemployees to look for waste and
ways to eliminate it.ways to eliminate it.
20. Lean Cultural ChangesLean Cultural Changes
• ““Stop the line” cultureStop the line” culture
• This can be painful at first, but yields greatThis can be painful at first, but yields great
results.results.
21. Lean Cultural ChangesLean Cultural Changes
• 5 Whys5 Whys
– Powerful tool. To get to root cause.Powerful tool. To get to root cause.
– Avoid trap of turning into 5 BlamesAvoid trap of turning into 5 Blames
• Try to keep it simple. Don’t try to solve aTry to keep it simple. Don’t try to solve a
massive, multi-faceted problem with this.massive, multi-faceted problem with this.
22. Be PreparedBe Prepared
• This will probably be hard, and willThis will probably be hard, and will
probably cause some clashes.probably cause some clashes.
• It will expose things that some peopleIt will expose things that some people
(including you) hold dear.(including you) hold dear.
• This is where your company culture getsThis is where your company culture gets
really important. Some people won’t fit thisreally important. Some people won’t fit this
24. What values and behaviors are rewarded at your company?
Is it ok to lie to make a sale?
(Slide borrowed from Netflix)
25. How do you create a greatHow do you create a great
culture?culture?
• Reward the values that matter.Reward the values that matter.
• Eliminate waste and make your employee’sEliminate waste and make your employee’s
jobs easierjobs easier
• Encourage employees to ask why and lookEncourage employees to ask why and look
for better ways of doing things.for better ways of doing things.
• Care about people.Care about people.
• Be a coach, not a policemanBe a coach, not a policeman
26. A Few ResourcesA Few Resources
• Leading Lean DevelopmentLeading Lean Development By Mary andBy Mary and
Tom PoppendieckTom Poppendieck
• The Lean StartupThe Lean Startup By Eric ReisBy Eric Reis
• http://lean.orghttp://lean.org
• http://agileknoxville.comhttp://agileknoxville.com
First, I want to thank you all for being here. You had other options, and you chose to be here.
I’ve held a lot of different roles, so I have a unique perspective. Most of my professional career has been in software development, so that’s the emphasis of this talk, but a lot of this will apply to any business. This is what worked for me.
-The rising tide floats all boats. I don't want one without the other, and I don’t believe these have to be mutually exclusive.
I’m a Jr programmer working at Alltel Information Services/Fidelity Business analysts, project managers, Gantt charts, lots of plans. -Carefully planned project, with two phases of about a year each. I assume that this is the best way to handle software projects.
-Epiphany when an end user said “This won’t work.”
Example of chat app to Disney- five days early, in production, no major bugs Response from Disney project manager “ You guys are setting the standard” That was normal for us. And we usually had fun doing it. And it wasn’t that difficult after a while. Both of these, we took business and $$ from other companies who couldn't move as fast and weren't as responsive.
Some people will say it’s too hard, or too much work. Do it more often. Automate it if possible.
There are practices, and there are principles -Small cross-functional teams -Frequent delivery -Small batch sizes -Daily standup meetings -Demos and planning meetings every 2-4 weeks
Our highest priority is not to “follow a plan”
When decisions are made, these principles should be the decider.
Not one department, or optimize by department. Examples: -Sales process at VHM -Support processes Be careful what you measure
Expose and welcome problems "That's not my job" – A serious warning sign that you don’t have the right culture.
Hint: It should be everyone .
You may find that some people simply don’t fit this culture. They may be on the wrong bus. Have compassion.
Sounds good right?
Ambler’s question about status reports They have to trust you, and know it's not a waste of their time.