Professional Documents
Culture Documents
Jurgen Appelo
http://www.flickr.com/photos/poppacket/4290209522/
Agile ALM
4/20/12
jurgen@noop .nl
4/20/12
http://www.flickr.com/photos/futureshape/4000128011
4/20/12
One
small
change
http://www.flickr.com/photos/laszlo-photo/1899390628/
4/20/12
http://www.flickr.com/photos/schanlaub/5102055360/
4/20/12
http://www.flickr.com/photos/mcfarlandmo/3275420128/
4/20/12
Endless updates
http://www.flickr.com/photos/jngelvezon/3544740238/
4/20/12
Or to say STOP!
We wont change this.
http://www.flickr.com/photos/soamplified/4862757831
4/20/12
4/20/12
technical
http://www.flickr.com/photos/kevinkrejci/3065365140/
4/20/12
Quasimod o software
heart of gold, broken body
Image via Google
4/20/12
http://www.flickr.com/photos/steelmore/221737671/
4/20/12
http://www.flickr.com/photos/hinkelstone/2435823037/
4/20/12
http://www.flickr.com/photos/foxspain/3219577797/
4/20/12
http://www.flickr.com/photos/pmiaki/4566582179/
4/20/12
http://www.flickr.com/photos/pagedooley/1825685405/
4/20/12
http://www.flickr.com/photos/untitlism/2609684221/
http://www.flickr.com/photos/hinkelstone/2765597758 /
http://www.flickr.com/photos/jurvetson/2323537118/
http://www.flickr.com/photos/zyllan/4880446208/
http://www.flickr.com/photos/kevinpoh/3586321697/
involved with it must maintain mastery of its content and behavior to achieve satisfactory evolution. http://en.wikipedia.org/wiki/Lehman's_laws_of_software_evolution
4/20/12
http://www.flickr.com/photos/randysonofrobert/376221775/
http://www.flickr.com/photos/reinante/4413913423/
http://www.flickr.com/photos/pixel_addict/465394708 /
http://www.flickr.com/photos/pagedooley/2845763884/
4/20/12
4/20/12
Definition(s)
Application Lifecycle Management(ALM) is a continuous process of managing the life of an application through governance, development and maintenance.
Wikipedia
http://en.wikipedia.org/wiki/Application_lifecycle_management
4/20/12
Definition(s)
ALM is a set of disciplines that together govern the process of turning business ideas into software.
ALM changing to meet development organizations' needs
http://en.wikipedia.org/wiki/Application_lifecycle_management
4/20/12
Definition(s)
Any tools, technologies, or techniques that attempt to connect and maintain connections between activities over the life of a piece of software from the first glint in the glimmer of an executive's eye, through Just-enough application lifecycle management (ALM) system retirement. http://searchsoftwarequality.techtarget.com/news/column/0,294698,sid92_gci1396258,0
4/20/12
http://en.wikipedia.org/wiki/File:ALM.svg
4/20/12
to absolutely terrible.
http://searchsoftwarequality.techtarget.com/news/article/0,289142,sid92_gci1259517_mem1,00.html
4/20/12
http://www.flickr.com/photos/jeanlouis_zimmermann/570332025/
Conways Law
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. http://en.wikipedia.org/wiki/Conway's_Law
4/20/12
http://www.flickr.com/photos/eirikref/727551264/
ALM 1.0
testi ng
desi gn
http://www.flickr.com/photos/sudhamshu/4379880762/
m ge na ma t en
ALM 2.0
develo pm ent
ti es t ng
de gn s i
http://www.flickr.com/photos/f-oxymoron/5005673112/
Complex Systems
Acomplex systemis a systemcomposed of interconnected parts that as a whole exhibit one or more properties (behavior) not obvious from the properties of the individual parts. Sometimes called the sciences of complexity (plural)
http://cfpm.org/pub/users/bruce/thesis/chap4.pdf
4/20/12
Autopoiesis (how a system constructs itself) Identity (how a system is identifiable) Homeostatis (how a system remains stable) Permeability (how a system interacts with its environment)
4/20/12
Cybernetics
Study of regulatory systems
Norbert Wiener
(mathematician) 1894-1964
Goals (the intention of achieving a desired state) Acting (having an effect on the environment) Sensing (checking the response of the environment) Evaluating (comparing current state with systems goal)
4/20/12
Stability (stable states versus unstable states) Attractors (systems getting sucked into stable states)
4/20/12
Game Theory
Study of co-adapting systems
Competition versus cooperation Zero sum games versus non-zero sum games Strategies (including evolutionary stable strategies)
4/20/12
Evolutionary Theory
Study of evolving systems
Charles Darwin
(naturalist) 1809-1882
Population (more than one instance) Replication (mechanism of making new instances) Variation (differences between instances) Heredity (differences copied from existing instances) Selection (environment imposes selective pressure)
4/20/12
Chaos Theory
Study of unpredictable systems
Edward Lorenz
(meteorologist) 1917-2008
Strange attractors (chaotic behavior) Sensitivity to initial conditions (butterfly effect) Fractals (scale-invariance)
4/20/12
And more...
Study of all kinds of systems
Dissipative systems (spontaneous pattern-forming) Cellular automata (complex behavior from simple rules) Genetic algorithms (adaptive learning) Social network analysis (propagation of information)
4/20/12
Complex systems theory is the study of complex systems using multiple system theories
4/20/12
Structure-Behavior Model
Complex and complicated seen as different dimensions
http://www.noop.nl/2010/09/simplicity-a-new-model.html
4/20/12
9 lessons from
http://www.flickr.com/photos/stevon/3577915624
4/20/12
complexit y thinking
http://www.flickr.com/photos/arcticpuppy/2943901683/
Focus on people
motivation competence
4/20/12
http://www.flickr.com/photos/linhngan/3101950593/
n o s s ip cu sh Fo on ti la re
communicati collaboration on
4/20/12
Expect change
resilience robustness
http://www.flickr.com/photos/jenny-pics/3602368875
4/20/12
Support selforganization
growth alignme nt
http://www.flickr.com/photos/oth313/2084783266/
4/20/12
Embrace emergen ce
http://www.flickr.com/photos/hamed/428063513/
Embrace diversity
adaptabili ty innovation
http://www.flickr.com/photos/meanestindian/478935037/
4/20/12
http://www.flickr.com/photos/zooboing/4743616313 /
empowerme
http://www.flickr.com/photos/pagedooley/4099585916/in/photostream /
unpredictability, unknowns
4/20/12
http://www.flickr.com/photos/speckham/3885641714/
4/20/12
One
4/20/12
People Relationships Change Selforganization Emergence Diversity Decentralizatio n Non-linearity Incompressibili approach to bind ty
http://www.flickr.com/photos/gladius/2332020850/
them all
http://www.flickr.com/photos/sidelong/2909952599/
4/20/12
Definition
An iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by selforganizing teams within an effective governance framework with "just enough" ceremony that produces high quality solutions in a cost effective and timely manner which meets the Agile Modeling changing needs of its stakeholders. http://www.agilemodeling.com/essays/agileSoftwareDevelopment.htm
4/20/12
4/20/12
4/20/12
4/20/12
4/20/12
Add a dimension for Process (suggestion: Alistair Cockburn) Add a dimension for (Business) Value (suggestion: Jim
Highsmith)
1. 2.
People Functionality
3. 4. 5. 6. 7.
4/20/12
People
colocati on
crossfunctional
interacti on
respe ct
small teams
trus t
4/20/12
selforganization
Functionality
minimal marketable features
customer involvement
user demos inch-deep, milewide
user stories
backlo gs
acceptance criteria
4/20/12
Quality
technical excellence
test-driven development
definition of done
emergent design
simplici ty
4/20/12
Tools
task boards
version control
open offices
daily builds
automated testing
4/20/12
continuous integration
burn charts
Time
timebox es
release planning
sprint s
4/20/12
iteratio ns
sustainable pace
Value
increme nts prioritizati on
feedba ck
embracing change
value mapping
frequent delivery
Process
sprint planning
stand-up meetings
veloci ty planning poker
retrospecti ves
spike s
4/20/12
http://www.versionone.com/state_of_agile_development_survey/10/ 4/20/12
http://www.versionone.com/state_of_agile_development_survey/10/ 4/20/12
http://www.versionone.com/state_of_agile_development_survey/10/ 4/20/12
4/20/12
http://www.flickr.com/photos/thebusybrain/2492945625/
Agile ALM
4/20/12
The typical project is a collection of ideas held in the minds of the people on the project. [] A project is not the sum of all of its documents or even its code. A great deal of the context of a project lies in its Matt Heusser participants.
-
http://searchsoftwarequality.techtarget.com/news/column/0,294698,sid92_gci1396258,0
4/20/12
4/20/12
1. High-Bandwidth Communication
ALM tools should support highbandwidth communication, and should not needlessly replace person-person communication with person-tool communication. Example: facilitation and storage of photos, audio, video.
4/20/12
3. Bottom-Up Infrastructure
The ALM infrastructure must be selected, built and maintained by the team(s) themselves. Nothing should be mandated by those who dont have to work with it. Example: a team can select its own favorite automatic build system or Agile planning tools.
4/20/12
4. Multi-Vendor Approach
A healthy ALM strategy will allow for multiple vendors of tools. The benefits of specialization (of tools) often outweighs the cost of integration. There is no single truth. Example: use Visual Studio Team System except source control.
4/20/12
5. Distributed Information
ALM tools should aim for accessibility. The goal is collaboration, not centralization. Information should be radiated, not concentrated. Example: status updates on whiteboard and in task tracking tool.
4/20/12
6. Agile Improvement
Modeling of processes is a form of prediction, and thus unreliable. Allow for emergent design of the ALM infrastructure. Grow it in an Agile way. Example: use a continuous improvement backlog for the ALM infrastructure.
4/20/12
7. Adaptable Tools
ALM tools must be extensible, customizable and adaptable, so that they can grow together with the project. Example: open APIs, web services, plugins, widgets, macros, etc.
4/20/12
3.
Bottom-up Infrastructure Multi-Vendor Approach Distributed Information Agile Improvement Adaptable Tools
4.
5.
6.
7.
http://www.flickr.com/photos/untitlism/2603959306/
4/20/12
Sources
Application lifecycle management (Wikipedia) http://en.wikipedia.org/wiki/Application_lifecycle_management Mea culpa, ALM toolmakers say (SD Times) http://www.sdtimes.com/link/31952 ALM changing to meet development organizations' needs (SearchSoftwareQuality)
http://www.itbusinessedge.com/cm/blogs/vizard/application-lifecycle-management-gets-a cs=39865 What is Agile ALM? (Ezine Articles) http://ezinearticles.com/?What-is-Agile-ALM?&id=3948403 Agile ALM Opposites Attract (CM Crossroads) http://www.cmcrossroads.com/cm-journal-articles/13601-agile-alm-opposites-attract
4/20/12
Sources
Just-enough application lifecycle management (ALM) (SearchSoftwareQuality)
http:// searchsoftwarequality.techtarget.com/news/column/0,294698,sid92_gci1396258,00.html ALM and Agile (RedMonk) http://www.redmonk.com/cote/2006/12/04/alm-and-agile/ Top 7 Key Requirements of an Agile ALM Platform (Top7Business) http://top7business.com/?id=15513 Does Application Lifecycle Management (ALM) add Value or Hinder the Adoption of Agile-Lean Product Development? (AgileJournal)
4/20/12
4/20/12
4/20/12
Q& A
4/20/12
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.
http://creativecommons.org/licenses/by-nd/3.0/
4/20/12