Enterprise CI Maturity Model - and how to go insane
Also http://www.anthillpro.com/blogs/anthillpro-blog/2009/09/11/enterprise_ci_cultural_maturity.html for cultural component
Ref: Microsoft Books: Rapid Development - Stee McConnel Ref: Dynamics of Software Dev
Win 95 was released and CI tested all day. Vista was a 4 month cycle. Possibly why Vista sucked and '95 was such a success?
Netscape open sourced Mozilla, but also some tools, including Tinder Box for compiling and testing on multiple (e.g. 14) hardware and software platform combinations.
Tinder box was part of inspiration for Cruise Control project.
Extreme Programming - Kent Beck - came out of C3 project at Chrysler. XP says "if it's good, do it all the time" e.g. peer reviews => pair programming Automated testing => CI and deployment
2001 is when Cruise Control and Anthill came out.
Manual CI - integrate work processes with others Automated CI - tools for fast feedback
People are not consistent - not good at repetitive tasks e.g. checklists - doomed to failure. Computers better at this.
Daily builds lead to 90% increase in productivity, 36% reduced bugs.
The Chasm.... gap b/w early adopters and early majority (the latter only do things when their peers are doing it).
CI got faster adoption than "agile" as it can be implemented by early adopters (devs) and does not rely on organisational culture change as did agile.
Around 2005-2008 Agile crossed the chasm as it became something management saw as valuable and could bring value.
Notice the change in language (book titles) over the years... 2001 - scrum in s/w dev 2004 - scrum for projects 2008 - scrum in the enterprise
Focus shifted from tech to wider biz.
"Agile has a lean future" - lean business and less s/w dev.
Ref: Book: 7 Lean Principals of s/w dev ref: Book: 7 wastes of s/w dev
Manual processes become a bottleneck (wait = waste) Spaghetti diagramming to show analysis of bottlenecks.
CI on $1/day Get the chicken from other dev (or wait for it). Get, merge, test, commit. Ring the bell and release the chicken.
IMVU release 50x/day so need better than the chicken!! If tests pass, release to first cluster... etc.
Cultural aspect needs to be added to CI maturity model.
Goal of Lean is to reduce cycle time / faster feedback.
Get the ops people into your scrum stand-ups.
Ref: Book: The Secrets of Consulting Only promise 5% improvements!
Combination of feedback on broken test (lose points, show red), with positive feedback (gold start on good commit). Non financial rewards.
Cultural change requires some training to be considered - ongoing.
Agitar Blog - extreme feedback devices (eg Lava lamps) - race the lava lamp (fix before it goes molten)