So, Now You're An Agilist, What's Next?
Upcoming SlideShare
Loading in...5
×
 

So, Now You're An Agilist, What's Next?

on

  • 17,033 views

Doing projects better doesn't stop at agile. In this presentation I attempt to distill new advances in software development from the field of complexity science. ...

Doing projects better doesn't stop at agile. In this presentation I attempt to distill new advances in software development from the field of complexity science.

Complexity science is the study of complex systems, like ecosystems, biological systems, economic systems, etc. "Complexity science" is the scientific approach to "systems thinking". It can be used to understand and explain why complex systems behave the way they do. Ken Schwaber, Jim Highsmith and other experts have explained in their books that a lot of agile concepts have been copied from the study of complex systems. However, agile software development has not covered all there is to learn.

I will show why practices must be agile (self-organized) *and* formal (controlled), why any software development method is doomed to fail, why managing scope is a too simplistic interpretation of the principle of “embracing change”, why most process improvement initiatives are linear and wrong, and why some sets of practices will be show chaotic behavior when combined.

Statistics

Views

Total Views
17,033
Views on SlideShare
10,739
Embed Views
6,294

Actions

Likes
37
Downloads
800
Comments
1

45 Embeds 6,294

http://projektmanagement.wordpress.com 3319
http://pm-blog.com 778
http://www.noop.nl 596
http://www.swe-blog.net 404
http://www.marketingfacts.nl 266
http://www.ryuzee.com 255
http://agileee.org 197
http://www.projekt-log.de 133
http://lib.custis.ru 67
http://team.custis.ru 50
http://www.linkedin.com 32
http://23moments.com 30
http://www.stottmeister.com 26
https://projektmanagement.wordpress.com 20
http://www.slideshare.net 18
http://agilemusings.com 12
http://www.denao.com.br 9
http://agileee.com 9
https://www.linkedin.com 7
http://www.netvibes.com 7
http://feeds2.feedburner.com 6
https://thesource.shoplocal.com 5
http://static.slideshare.net 5
http://agile.dzone.com 5
http://translate.googleusercontent.com 4
http://2010.agileee.org 4
http://nooperation.typepad.com 3
http://bodhuin.blogspot.com 3
https://ssl-account.com 3
http://bodhuin.blogspot.it 2
http://wiki.office.custis.ru 2
url_unknown 2
http://2011.agileee.org 2
http://www.techgig.com 2
http://presentations.tumblr.com 1
http://clickwatchlearn.blogspot.com.au 1
http://blog.fasoulas.com 1
http://fasoulas.posterous.com 1
https://thesource.shoplocal.com:8443 1
http://www.agileee.com 1
http://xss.yandex.net 1
http://www.hanrss.com 1
http://webcache.googleusercontent.com 1
http://static.slidesharecdn.com 1
http://clickwatchlearn.blogspot.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

So, Now You're An Agilist, What's Next? So, Now You're An Agilist, What's Next? Presentation Transcript

  • So, Now You’re an Agilist... So, Now You’re an Agilist... What’s Next? Jurgen Appelo jurgen@noop.nl version 3
  • Jurgen Appelo writer, speaker, entrepreneur... www.jurgenappelo.com
  • Get my new book for FREE! m30.me/ss
  • A. psychological profiles B. leaders vs. rulers C. organization types D. organizational structures E. risk management F. organizational optimization G. adaptive methods H. non-linear improvement J. tuning process dependencies K. classification of methods Agile... what’s next? My ideas, taken from complexity science
  • photo by blumpy disclaimer: this is a... (I sometimes change my opinion)
  • photo by Randy Son of Robert complexity what is it?
  • complex systems are self-organized photo by judepics
  • photo by ClintJCL complex systems show emergent behavior
  • photo by DavidHR complex systems behave in a non-linear way
  • photo by Noël Zia Lee (many) complex systems are adaptive
  • “For example, an ant colony, the brain, the immune system, a Scrum team, and New York City, are self-organizing systems.” - Ken Schwaber Agile Software Development with Scrum “At the heart of complex adaptive systems theory’s relevance to software development is the concept of emergence, and the factors leading to emergent results.” - Jim Highsmith Adaptive Software Development
  • some books I read…
  • The 12 Laws of Software Development Reduce Risk Measure Performance Evaluate Feedback Acquire Knowledge Manage Uncertainty Evolve Practices Motivate People Empower Teams Align Results Optimize Communication Enforce Discipline Restrain Growth which led me to “discover”…
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : a complex system ? : Agents Connections Rules
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #1: the agents must be active
  • photo by MikeBlogs
  • The 1st Law of Software Development Motivate People
  • diversity brings robustness and flexibilityphoto by woodleywonderworks
  • what motivates one demotivates another
  • Don’t agree? There exists a selection of practices for which the sum of people’s motivational balances is optimal. therefore... “In a software project the optimal method is a function of the psychological profiles of its team members.” Agreed? A
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #2: the system controls itself
  • photo by Andrew Mason
  • The 2nd Law of Software Development Empower Teamsphoto by Elvire.R.
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #3: the system is unaligned ? ? ? ?
  • unaligned self-organizationphoto by aviplot
  • aligned self-organizationphoto by john w
  • The 3rd Law of Software Development Align Resultsphoto by The Wandering Angel
  • self-organization this was the result of… photo by hive
  • photo by Mike Licht and this too…
  • ordered complex chaotic empowerment alignment ordered organizations need empowerment chaotic organizations need alignment The Edge of Chaos
  • Don’t agree?Agreed? “How to implement agile depends on whether you come from an ordered or a chaotic situation.” C
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #4: the agents communicate
  • photo by woodleywonderworks
  • Optimize Communication The 4th Law of Software Development photo by foxypar4
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #5: the agents stick to rules 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. -----1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. -----
  • photo by anna pearson
  • The 5th Law of Software Development Enforce Disciplinephoto by kaibara87
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #6: the system tends to grow ? : ? : ? : ? : ? : ? : ? : ? : ? :
  • photo by **Maurice**
  • The 6th Law of Software Development Restrain Growthphoto by mountainamoeba
  • photo by daisybush Parkinson’s Law organizations tend to get bigger
  • Cope’s Rule species tend to get biggerimage by Bogdanov
  • Prevent systems from growing... 1. Limit input and output (keep it simple) 2. Make resources scarce (small budgets) 3. Reduce complexity (remove waste) 4. Clean up regularly (refactoring)
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #7: the system is exposed to risk
  • photo by Aaron Escobar
  • The 7th Law of Software Development Reduce Riskphoto by rednuht
  • Self-Organized Criticality a critical state of high riskphoto by lrargerich
  • Don’t agree?Agreed? Someone needs to try and reduce the system’s exposure to risk... “Risk management (mitigating potential impediments) can best be done by stepping outside the system.” E
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #8: the system must know how it’s doing +/+ -/-
  • The 8th Law of Software Development Measure Performancephoto by xmatt
  • The Tragedy of the Commons: using shared resources photo by ojbyrne
  • optimize the whole
  • optimize the whole = manage shared resources
  • Don’t agree?Agreed? “Optimize the whole means to optimize to the largest possible span of control, which can mean: don’t optimize the individual software projects.” F
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #9: the system responds to the input +/- -/+
  • The 9th Law of Software Development Evaluate Feedbackphoto by JasonRogers
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #10: the system needs ways to learn !
  • The 10th Law of Software Development Aquire Knowledgephoto by procsilas
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #11: the system must cope with uncertainty
  • Adaptation to change…
  • The 11th Law of Software Development Manage Uncertaintyphoto by rednuht
  • The Butterfly Effect small variations, big impactphoto by Hamed Saber
  • ? : ? : ? : ? : ? : ? : ? : ? : ? : ? : #12: the system figures out how to change 1. ----- 2. --- 3. ----- 1. ----- 3. --- 4. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. -----1. ----- 4. --- 5. ----- 1. ----- 2. --- 3. ----- 1. ----- 2. --- 3. ----- 4. ----- 5. --- 6. ----- 2. ----- 3. --- 5. ----- 1. ----- 2. --- 3. -----
  • photo by Sukanto Debnath genotype (genes) phenotype (body)
  • The 12th Law of Software Development Evolve Practicesphoto by Hulagway
  • fixed practices = not complex at all
  • Don’t agree?Agreed? Adaptive phenotype... changing requirements Adaptive genotype... changing environment “Not just the project, but the method itself must be adaptable too.” G
  • Fitness Landscapes evaluating performancephoto by Hulagway
  • “It takes all the running you can do, to keep in the same place.” - Louis Carroll Through the Looking Glass The Red Queen Effect
  • PDCA QIP AIM Pr2imer CPI-7 1. Determine Problems Plan Understand Assess Analysis Managing 2. Set Goals Set Goals Analyze Target Targets 3. Define Metrics Plan 4. Identify Improvements Act Choose Improve Analyzing 5. Implement Improvements Pilot Improving 6. Execute Processes (implicit) Do Execute -- -- -- 7. Check Measurements Check Analyze Metricate -- Managing process improvement
  • ? linear improvement stuck on local optimum or walk through the valley (things get worse before they get better)
  • Crossover photo by Kevin N. Murphy mixing practices from two sources
  • non-linear improvement find higher peaks by averaging prior high performers
  • Don’t agree?Agreed? “Linear improvement works up to a point, but to find the optimal development process you need a non-linear approach.” H
  • moderately connected system (several optimums) sparsely connected system (one optimum) intensively connected system (no real optimum)
  • Don’t agree?Agreed? “Methods are strong when it’s easy to replace individual practices.” J
  • sudden burst of solutionsimage by Karl J. Niklas Punctuated Equilibrium
  • Attractors convergence of formsphoto by Okko Pyykkö
  • Don’t agree?Agreed? “We now experience a burst of methods and tools, due to environmental change. This could converge into a few main forms with many small variations.” K
  • The 12 Laws of Software Development Reduce Risk Measure Performance Evaluate Feedback Acquire Knowledge Manage Uncertainty Evolve Practices Motivate People Empower Teams Align Results Optimize Communication Enforce Discipline Restrain Growth ANY creative team project
  • A. psychological profiles B. leaders vs. rulers C. organization types D. organizational structures E. risk management F. organizational optimization G. adaptive methods H. non-linear improvement J. tuning process dependencies K. classification of methods Agile... what’s next? Don’t agree?Agreed?
  • @jurgenappelo slideshare.net/jurgenappelo noop.nl linkedin.com/in/jurgenappelo jurgen@noop.nl
  • www.management30.com
  • http://creativecommons.org/licenses/by-nd/3.0/ This presentation was inspired by the works of many people, and I cannot possibly list them all. Though I did my very best to attribute all authors of texts and images, and to recognize any copyrights, if you think that anything in this presentation should be changed, added or removed, please contact me at jurgen@noop.nl.