Slide 1

Slide 1 text

"Advanced(Agile(Prac.ces:( (The(Evo(Method(in(prac.ce:### Through(Gilb’s(Ten(Key(Agile(Principles( (and(several(case(studies !! Tom(Gilb( “(( Agile(Singapore(Thursday(7(Nov.(2013((2H3PM( [email protected]( @imtomgilb( www.gilb.com( (These(slides(are(on(gilb.com(downloads((( ( Paper:(ValueHDriven(Development(Principles(and(Values(–(Agility(is(the(Tool,(Not( the(Master( July(2010(Issue(3,(Agile(Record(2010((www.AgileRecord.com)( hTp://www.gilb.com/.kiHdownload_file.php?fileId=431( ( ( ( ( November(11,(2013( ©(Gilb.com((((((Agility(is(the(Tool( 1(

Slide 2

Slide 2 text

Agile(Credibility( •  Agile ‘Grandfather’ (Tom) –  Practicing ‘Agile’ IT Projects since 1960 –  Preaching Agile since 1970’s (CW UK) –  Acknowledged Pioneer by Agile Gurus and Research •  Beck, Sutherland, Highsmith, Cohn, Larman etc. •  Ask me for details on this! I am too shy to show it here! •  Agile Practice –  IT: for decades (Kai and Tom) –  Organisations: for Decades (Citigroup, Intel, HP, Boeing) •  Books: –  Principles of Software Engineering Management (1988) the book Beck and others refer to –  Competitive Engineering (2005) –  Evo: (Kai, evolving, 55 iterations) Monday,(11(November,(13( ©(Gilb.com( 2(

Slide 3

Slide 3 text

OK(I(am(not(that(shy!( (the(most(influen.al!)( Agile References: "Tom Gilb invented Evo, arguably the first Agile process. He and his son Kai have been working with me in Norway to align what they are doing with Scrum. Kai has some excellent case studies where he has acted as Product Owner. He has done some of the most innovative things I have seen in the Scrum community." Jeff Sutherland, co-inventor of Scrum, 5Feb 2010 in Scrum Alliance Email. “Tom Gilb's Planguage referenced and praised at #scrumgathering by Jeff Sutherland. I highly agree" Mike Cohn, Tweet, Oct 19 2009 “I’ve always considered Tom to have been the original agilist. In 1989, he wrote about short iterations (each should be no more than 2% of the total project schedule). This was long before the rest of us had it figured out." Mike Cohn http://blog.mountaingoatsoftware.com/?p=77 Comment of Kent Beck on Tom Gilb’s book , “Principles of Software Engineering Management”: “ A strong case for evolutionary delivery – small releases, constant refactoring, intense dialog with the customer”. (Beck, page 173). In a mail to Tom, Kent wrote: “I'm glad you and I have some alignment of ideas. I stole enough of yours that I'd be disappointed if we didn't :-), Kent” (2003) Jim Highsmith (an Agile Manifesto signatory) commented: “Two individuals in particular pioneered the evolution of iterative development approached in the 1980’s – Barry Boehm with his Spiral Model and Tom Gilb with his Evo model. I drew on Boehm’s and Gilb’s ideas for early inspiration in developing Adaptive Software Development. …. Gilb has long advocated this more explicit (quantitative) valuation in order to capture the early value and increase ROI” (Cutter It Journal: The Journal of Information Technology Management, July 2004page 4, July 2004). November(11,(2013( ©(Gilb.com((((((Agility(is(the(Tool( 3(

Slide 4

Slide 4 text

Polish(Papers( hTp://.nyurl.com/k7d5ere( November(11,(2013( ©(Gilb.com((((((Agility(is(the(Tool( 4(

Slide 5

Slide 5 text

Here(is(a(recent(example! (from(our(prac.ce( (SANITISED,#OF#COURSE)# •  A(presenta.on(to(the(CEO( and(8(top(managers(in(1( hour( •  Their(ques.on(to(us(was:( •  WHAT(THE(HELL(IS(AGILE?( •  SHOULD(WE(BE(DOING(IT,( AND(HOW?( •  NOT(ONLY(IN(IT,(BUT(FOR( RUNNING(THE( ORGANIZATION( •  Amer(we(had(worked(in( some(detail(on(their( biggest(IT(investment(( •  And(amer(analyzing( their(published(top( management(plans(and( objec.ves( November(11,(2013( ©(Gilb.com((((((Agility(is(the(Tool( 5(

Slide 6

Slide 6 text

Defining(‘Agile’( •  “Any(set(of(tac.cs(that(enable#a# priori

Slide 7

Slide 7 text

Can(we(understand(Agile(in(terms(of( technology/PM(&(organisa.onal(agility(and( s.pulate(any(similari.es(and(differences.?( •  Tradi

Slide 8

Slide 8 text

8! Copyright:([email protected]( Stakeholders( Values( Solu.ons( Decompose( Develop( Deliver( Measure( Learn( Value(Management(( Process( Monday,(11(November,(13( ©(Gilb.com( 8(

Slide 9

Slide 9 text

Copyright:([email protected]( Copyright:([email protected]( Stakeholders( Values( Measure( Learn( Value(Management(( Process( 9! Solu.ons( Decompose( Develop( Deliver( Scrum( Monday,(11(November,(13( ©(Gilb.com( 9(

Slide 10

Slide 10 text

How do Lean & Agile Intersect? 10( !  Agile(is(naturally(lean(and(based(on(small(batches( !  Agile(directly(supports(six(principles(of(lean(thinking( !  Agile(may(be(converted(to(a(con.nuous(flow(system( Womack, J. P., & Jones, D. T. (1996). Lean thinking: Banish waste and create wealth in your corporation. New York, NY: Free Press. Reinertsen, D. G. (2009). The principles of product development flow: Second generation lean product development. New York, NY: Celeritas. Reagan, R. B., & Rico, D. F. (2010). Lean and agile acquisition and systems engineering: A paradigm whose time has come. DoD AT&L Magazine, 39(6). "( #( $( Economic View( Decentralization( Fast Feedback( Control Cadence & Small Batches( Manage Queues/ Exploit Variability( WIP Constraints & Kanban( Flow Principles( Agile Values( Customer Collaboration( Empowered Teams( Iterative Delivery( Responding to Change( Lean Pillars( Respect for People( Continuous Improvement ( Customer Value( Relationships( Customer Pull( Continuous Flow( Perfection( Value Stream( Lean Principles( •(Customer(rela.onships,(sa.sfac.on,(trust,(and(loyalty( •(Team(authority,(empowerment,(and(resources( •(Team(iden.fica.on,(cohesion,(and(communica.on( Lean & Agile Practices( •(Product(vision,(mission,(needs,(and(capabili.es( •(Product(scope,(constraints,(and(business(value( •(Product(objec.ves,(specifica.ons,(and(performance( •(As(is(policies,(processes,(procedures,(and(instruc.ons( •(To(be(business(processes,(flowcharts,(and(swim(lanes( •(Ini.al(workflow(analysis,(metrica.on,(and(op.miza.on( •(Batch(size,(work(in(process,(and(ar.fact(size(constraints( •(Cadence,(queue(size,(buffers,(slack,(and(boTlenecks( •(Workflow,(test,(integra.on,(and(deployment(automa.on( •(Roadmaps,(releases,(itera.ons,(and(product(priori.es( •(Epics,(themes,(feature(sets,(features,(and(user(stories( •(Product(demonstra.ons,(feedback,(and(new(backlogs( •(Refactor,(test(driven(design,(and(con.nuous(integra.on( •(Standups,(retrospec.ves,(and(process(improvements( •(Organiza.on,(project,(and(process(adaptability/flexibility( Source:( David(Rico( Monday,(11(November,(13( ©(Gilb.com( 10(

Slide 11

Slide 11 text

How do Lean & Agile Intersect? 11( "( #( $( Economic View( Decentralization( Fast Feedback( Control Cadence & Small Batches( Manage Queues/ Exploit Variability( WIP Constraints & Kanban( Flow Principles( Agile Values( Customer Collaboration( Empowered Teams( Iterative Delivery( Responding to Change( Lean Pillars( Respect for People( Continuous Improvement ( Customer Value( Relationships( Customer Pull( Continuous Flow( Perfection( Value Stream( Lean Principles( •(Customer(rela.onships,(sa.sfac.on,(trust,(and(loyalty( •(Team(authority,(empowerment,(and(resources( •(Team(iden.fica.on,(cohesion,(and(communica.on( Lean & Agile Practices( •(Product(vision,(mission,(needs,(and(capabili.es( •(Product(scope,(constraints,(and(business(value( •(Product(objec.ves,(specifica.ons,(and(performance( •(As(is(policies,(processes,(procedures,(and(instruc.ons( •(To(be(business(processes,(flowcharts,(and(swim(lanes( •(Ini.al(workflow(analysis,(metrica.on,(and(op.miza.on( •(Batch(size,(work(in(process,(and(ar.fact(size(constraints( •(Cadence,(queue(size,(buffers,(slack,(and(boTlenecks( •(Workflow,(test,(integra.on,(and(deployment(automa.on( •(Roadmaps,(releases,(itera.ons,(and(product(priori.es( •(Epics,(themes,(feature(sets,(features,(and(user(stories( •(Product(demonstra.ons,(feedback,(and(new(backlogs( •(Refactor,(test(driven(design,(and(con.nuous(integra.on( •(Standups,(retrospec.ves,(and(process(improvements( •(Organiza.on,(project,(and(process(adaptability/flexibility( Source:( David(Rico( Monday,(11(November,(13( ©(Gilb.com( 11(

Slide 12

Slide 12 text

Agile World View !  “Agility”(has(many dimensions(other(than(IT( !  It(ranges(from(leadership(to(technological(agility( !  The(focus(of(this(brief(is(program management(agility % ( & ( Agile Leaders Agile Organization Change Agile Acquisition & Contracting Agile Strategic Planning Agile Capability Analysis Agile Program Management Agile(Tech. Agile(Informa.on(Systems Agile(Tools Agile(Processes(&(Prac.ces( Agile(Systems(Development( Agile Project Management 12( Monday,(11(November,(13( ©(Gilb.com( 12( Source:( ( David(Rico( (

Slide 13

Slide 13 text

Agile Project Leadership 13( !  Agile(management(is(delegated(to(the(lowest(level( !  There(remain(key(leadership(roles(&(responsibili.es( !  Communication,(coaching,(and(facilitation(key(ones( Customer Communication Product Visioning Distribution Strategy( Team Development Standards & Practices Telecom Infrastructure( Development Tools( High Context Meetings Coordination Meetings F2F Communications( Performance Management( Facilitate(selec.on(of(methods(for(obtaining(and(maintaining(execu.ve(commitment,(project(resources,( corporate(communica.ons,(and(customer(interac.on( Facilitate(selec.on(of(methods(for(communica.ng(product(purpose,(goals,(objec.ves,(mission,(vision,( business(value,(scope,(performance,(budget,(assump.ons,(constraints,(etc.( Facilitate(selec.on(of(virtual(team(distribu.on(strategy(to(sa.sfy(project(goals(and(objec.ves( Facilitate(selec.on(of(methods(for(training,(coaching,(mentoring,(and(other(team(building(approaches( Facilitate(selec.on(of(project(management(and(technical(prac.ces,(conven.ons,(roles,(responsibili.es,( and(performance(measures( Facilitate(selec.on(of(high(bandwidth(telecommunica.on(products(and(services( Facilitate(selec.on(of(agile(project(management(tools(and(interac.ve(development(environment( Facilitate(selec.on(of(high(context(agile(project(management(and(development(mee.ngs( Facilitate(selec.on(of(mee.ngs(and(forums(for(regular(communica.ons(between(site(coordinators( Facilitate(selec.on(of(methods(for(maximizing(periodic(face(to(face(interac.ons(and(collabora.on( Facili.es(selec.on(of(methods(for(process(improvement,(problem(resolu.on,(conflict(management,( team(recogni.on,(product(performance,(and(customer(sa.sfac.on( "( #( $( Maholtra, A., Majchrzak, A., & Rosen, B. (2007). Leading virtual teams. Academy of Management Perspectives, 21(1), 60-70. Hunsaker, P. L., & Hunsaker, P. L. (2008). Virtual teams: A leadership guide. Team Performance Management, 14(1/2), 86-101. Fisher, K., & Fisher, M. D. (2001). The distance manager: A hands on guide to managing off site employees and virtual teams. New York, NY: McGraw-Hill. Monday,(11(November,(13( ©(Gilb.com( 13( Source:( ( David( Rico( (

Slide 14

Slide 14 text

Agile Recap !  Agile(methods(DON’T(mean(deliver(it(now(&(fix(it(later( !  Lightweight,(yet(disciplined(approach(to(development( !  Reduced(cost,(risk,(&(waste(while(improving quality 14( Rico, D. F. (2012). What’s really happening in agile methods: Its principles revisited? Retrieved June 6, 2012, from http://davidfrico.com/agile-principles.pdf Rico, D. F. (2012). The promises and pitfalls of agile methods. Retrieved February 6, 2013 from Rico, D. F. (2012). How do lean & agile intersect? Retrieved February 6, 2013, from http://davidfrico.com/agile-concept-model-3.pdf What( How( Result( Flexibility( Use lightweight, yet disciplined processes and artifacts( Low work-in-process Customer( Involve customers early and often throughout development# Early feedback Prioritize( Identify highest-priority, value-adding business needs# Focus resources Descope( Descope complex programs by an order of magnitude# Simplify problem Decompose( Divide the remaining scope into smaller batches# Manageable pieces Iterate( Implement pieces one at a time over long periods of time( Diffuse risk Leanness( Architect and design the system one iteration at a time( JIT waste-free design Swarm( Implement each component in small cross-functional teams# Knowledge transfer Collaborate( Use frequent informal communications as often as possible# Efficient data transfer Test Early( Incrementally test each component as it is developed# Early verification Test Often( Perform system-level regression testing every few minutes# Early validation Adapt( Frequently identify optimal process and product solutions( Improve performance & & & & & & & & % % % % % % % % Monday,(11(November,(13( ©(Gilb.com( 14( Source:( David(Rico( (

Slide 15

Slide 15 text

14#PITFALLS#OF#AGILE#METHODS#( ( ● Change – Use of top-down, big-bang organization change, adoption, and institutionalization. ● Culture – Agile concepts, practices, and terminology collide with well-entrenched traditional methods. ● Acquisition – Using traditional, fixed-price contracting for large agile delivery contracts and projects. ● Misuse – Scaling up to extremely complex large-scale projects instead of reducing scope and size. ● Organization – Unwillingness to integrate and dissolve testing/QA functional silos and departments. ● Training – Inadequate, insufficient, or non-existent agile training (and availability of agile coaches). ● Infrastructure – Inadequate management and development tools, technologies, and environment. ● Interfacing – Integration with portfolio, architecture, test, quality, security, and usability functions. ● Planning – Inconsistency, ambiguity, and non-standardization of release and iteration planning. ● Trust – Micromanagement, territorialism, and conflict between project managers and developers. ● Teamwork – Inadequate conflict management policies, guidelines, processes, and practices. ● Implementation – Inadequate testing to meet iteration time-box constraints vs. quality objectives. ● Quality - Inconsistent use of agile testing, usability, security, and other cost-effective quality practices. ● Experience - Inadequate skills and experience (or not using subject matter experts and coaches). •  (Note. Firms may prematurely "revert" to inexorably slower and more expensive traditional methods or "leap" onto lean methods that may not adequately address common pitfalls of adopting agile methods.) •  Source: David Rico http://davidfrico.com/agile-pros-cons.pdf 2012 Monday,(11(November,(13( ©(Gilb.com( 15(

Slide 16

Slide 16 text

14#PROMISES#OF#AGILE#METHODS#( ( ● Value – Delivers highest-priority customer capabilities, features, requirements, and needs. ● Risk – Reduces project scope, requirements, size, complexity, and risk. ● Discipline – Fast, flexible, and cost-effective, yet highly disciplined planning and delivery method. ● Efficient – Small strategy, portfolio, planning, process, work in process, batch, queue, and team size. ● Feedback – Uses planned and unplanned daily, bi-weekly, and release feedback cycles. ● WIP Constraints – Uses portfolio, capability, feature, user story, and iteration size constraints. ● Teamwork – Small, high-performing, fast, and cost-efficient cross-functional, multi-disciplinary teams. ● Requirements – Uses collaboration and rapid feedback to elicit hidden, inexpressible user needs. ● Architecture – Uses lean, just-enough, just-in-time, and high-performing architectures and designs. ● Design – High-performing, loosely-coupled functional slices validated and delivered one-at-a-time. ● Flexibility – Fast, inexpensive, and abstractive workflow, development, and delivery technologies. ● Quality – Automated verification, validation, configuration mgt., documentation, and deployment. ● Complete – Combines of state-of-the-art business, lean, and technical principles and practices. ● Improvement – Built-in daily, bi-weekly, and release process improvement cycles. •  Source: David Rico http://davidfrico.com/agile-pros-cons.pdf 2012 Monday,(11(November,(13( ©(Gilb.com( 16(

Slide 17

Slide 17 text

Wow!( • That(is(a(((l(o(n(g(((‘shopping(list’( of(nice(ideas( • We(will(try(to(focus(and(simplify( now,(for(your(immediate( purposes( Monday,(11(November,(13( ©(Gilb.com( 17(

Slide 18

Slide 18 text

+ Product Owner Build Test Maintain Detailed Technical Design System Owner Stakeholders Values Business Values System Functions November 11, 2013 © Gilb.com Agility is the Tool 18

Slide 19

Slide 19 text

+ 19 Business Goals! Stakeholder Value 1! Stakeholder Value 2! Business Value 1! -10%! 40%! Business Value 2! 50%! 10%! Resources! 20%! 10%! Stakeholder Val.! Product Value 1! Product Value 2! Stakeholder Value 1! -10%! 50 %! Stakeholder Value 2! 10 %! 10%! Resources! 2 %! 5 %! Product Values! Solution 1! Solution 2! Product Value 1! -10%! 40%! Product Value 2! 50%! 80 %! Resources! 1 %! 2 %! Prioritized List! 1. Solution 2! 2. Solution 9! 3. Solution 7! We measure improvements Learn and Repeat Prioritized List! 1. Solution 2! 2. Solution 9! 3. Solution 7! Copyright: [email protected] Value Decision Tables Scrum Develops November 11, 2013 © Gilb.com Agility is the Tool

Slide 20

Slide 20 text

+ 20 Business Goals! Training Costs! User Productivity! Profit! -10%! 40%! Market Share! 50%! 10%! Resources! 20%! 10%! Stakeholder Val.! Intuitiveness! Performance! Training Costs! -10%! 50 %! User Productivity! 10 %! 10%! Resources! 2 %! 5 %! Product Values! GUI Style Rex! Code Optimize! Intuitiveness! -10%! 40%! Performance! 50%! 80 %! Resources! 1 %! 2 %! Prioritized List! 1. Code Optimize! 2. Solution 9! 3. Solution 7! We measure improvements Learn and Repeat Copyright: [email protected] Value Decision Tables Scrum Develops Jeffsutherland Twitter: Very cool product backlog management by Tom and Kai Gilb http:// ad.vu/2h4d Sat 28 March 2009 November 11, 2013 © Gilb.com Agility is the Tool

Slide 21

Slide 21 text

+ 21 Copyright: [email protected] Jeffsutherland Twitter: Very cool product backlog management by Tom and Kai Gilb http://ad.vu/2h4d Sat 28 March 2009 November 11, 2013 21 © Gilb.com Agility is the Tool

Slide 22

Slide 22 text

1. Control projects by quantified critical-few results. 1 Page total ! (not stories, functions, features, use cases, objects, ..) 2. Make sure those results are business results, not technical Align your project with your financial sponsor’s interests! 3. Give developers freedom, to find out how to deliver those results 4. Estimate the impacts of your designs, on your quantified goals 5. Select designs with the best impacts in relation to their costs, do them first. 6. Decompose the workflow, into weekly (or 2% of budget) time boxes 7. Change designs, based on quantified experience of implementation 8. Change requirements, based in quantified experience, new inputs 9. Involve the stakeholders, every week, in setting quantified goals 10. Involve the stakeholders, every week, in actually using increments November 11, 2013 © Gilb.com Agility is the Tool 22 Copyright 2004-13 Gilb, may be used citing source

Slide 23

Slide 23 text

Main Idea: Get early, and frequent, real, stakeholder net-value - delivered November 11, 2013 23 Deliver! Value !! © Gilb.com Agility is the Tool

Slide 24

Slide 24 text

(not stories, functions, features, use cases, objects, ..) November 11, 2013 24 © Gilb.com Agility is the Tool

Slide 25

Slide 25 text

!  Defined Scales of Measure: ◦  Demands comparative thinking. ◦  Leads to requirements that are unambiguously clear ◦  Helps Team be Aligned with the Business November 11, 2013! © Gilb.com Agility is the Tool Sli de 25! 1. Central to The Corporations business strategy is to be the world’s premier integrated service provider. 2. Will provide a much more efficient user experience 3. Dramatically scale back the time frequently needed after the last data is acquired to time align, depth correct, splice, merge, recompute and/or do whatever else is needed to generate the desired products 4. Make the system much easier to understand and use than has been the case for previous system. 5. A primary goal is to provide a much more productive system development environment than was previously the case. 6. Will provide a richer set of functionality for supporting next- generation logging tools and applications. 7. Robustness is an essential system requirement (see rewrite in example below) 8. Major improvements in data quality over current practices Real Example of Lack of CLARITY This lack of clarity cost them $100,000, 000

Slide 26

Slide 26 text

Version November 11, 2013 www.Gilb.com Sli de 26

Slide 27

Slide 27 text

Sli de 27 !  Example of one of the Objectives: Customer Service: Type: Critical Top level Systems Objective Gist: Improve customer perception of quality of service provided. Scale: Violations of Customer Agreement per Month. Meter: Log of Violations. Past [Last Year] Unknown Number 'State of PERSCOM Management Review Record [NARDAC] 0 ? ' NARDAC Reports Last Year Fail : 'CG Goal [This Year, PERSINCOM] 0 “Go for the Record” ' Group SWAG . November 11, 2013 www.Gilb.com

Slide 28

Slide 28 text

Align your project with your financial sponsor’s interests! November 11, 2013 28 © Gilb.com Agility is the Tool

Slide 29

Slide 29 text

5( ◦  Support(( !  the(Fundamental#Objec.ves((Profit,( survival)( !  SoRware#Produc

Slide 30

Slide 30 text

6( ◦  Support#the#Strategic#Objec

Slide 31

Slide 31 text

November 11, 2013 31 © Gilb.com Agility is the Tool

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

If you cannot, then your knowledge is of a meagre and unsatisfactory kind (Lord Kelvin) !  November 11, 2013 © Gilb.com Agility is the Tool 33

Slide 34

Slide 34 text

Version November 11, 2013 www.Gilb.com Sli de 34

Slide 35

Slide 35 text

Sli de 35 November 11, 2013 www.Gilb.com

Slide 36

Slide 36 text

November 11, 2013 36 © Gilb.com Agility is the Tool

Slide 37

Slide 37 text

Decomposition of Projects: How to Design Small Incremental Steps INCOSE 2008 http://www.gilb.com/tiki- download_file.php? fileId=41 !  November 11, 2013 © Gilb.com Agility is the Tool 37

Slide 38

Slide 38 text

Design is the servant of the requirement. If it does not work ‘fire’ it. !  November 11, 2013 © Gilb.com Agility is the Tool 38

Slide 39

Slide 39 text

11 November 2013 © Gilb.com 39 “ I attended a 3-day course with you and Kai whilst at Citigroup in 2006” Richard Smith REAL EXAMPLE, OF USE OF OUR METHODS (EVO)

Slide 40

Slide 40 text

!  “However, (our old project management methodology) main failings were that !  it almost totally missed the ability to track delivery of actual value improvements to a project's stakeholders, !  and the ability to react to changes ◦  in requirements and ◦  priority ◦  for the project's duration” 11 November 2013 © Gilb.com 40 Richard Smith

Slide 41

Slide 41 text

!  “The (old) toolset generated lots of charts and stats !  that provided the illusion of risk control. !  But actually provided very little help to the analysts, developers and testers actually doing the work at the coal face.” 11 November 2013 © Gilb.com 41 Richard Smith

Slide 42

Slide 42 text

!  “The proof is in the pudding; •  I have used Evo !  (albeit in disguise sometimes) !  on two large, high-risk projects in front-office investment banking businesses, !  and several smaller tasks. “ 11 November 2013 © Gilb.com 42 Richard Smith

Slide 43

Slide 43 text

•  “On the largest critical project, •  the original business functions & performance objective requirements document, •  which included no design, •  essentially remained unchanged •  over the 14 months the project took to deliver,….” 11 November 2013 © Gilb.com 43 “ I attended a 3-day course with you and Kai whilst at Citigroup in 2006”, Richard S Richard Smith

Slide 44

Slide 44 text

!  “… but the detailed designs ◦  (of the GUI, business logic, performance characteristics) ! changed many many times, !  guided by lessons learnt !  and feedback gained by !  delivering a succession of early deliveries !  to real users” 11 November 2013 © Gilb.com 44 “ I attended a 3-day course with you and Kai whilst at Citigroup in 2006”, Richard Smith Richard Smith

Slide 45

Slide 45 text

◦  “ In the end, the new system responsible for 10s of USD billions of notional risk, ◦ successfully went live ◦ over one weekend ◦ for 800 users worldwide, ◦  and was seen as a big success ◦ by the sponsoring stakeholders.” 11 November 2013 © Gilb.com 45 “ I attended a 3-day course with you and Kai whilst at Citigroup in 2006” , Richard Sm Richard Smith

Slide 46

Slide 46 text

Reduce the level or delivery time, of lower-priority requirements, in order to deliver high priority requirements on time, within budget, or at Goal levels. !  November 11, 2013 © Gilb.com Agility is the Tool 46

Slide 47

Slide 47 text

!  “Software Engineering began to emerge in FSD” (IBM Federal Systems Division, from 1996 a part of Lockheed Martin Marietta) “some ten years ago [Ed. about 1970] in a continuing evolution that is still underway: !  Ten years ago general management expected the worst from software projects – cost overruns, late deliveries, unreliable and incomplete software !  Today [Ed. 1980!], management has learned to expect on-time, within budget, deliveries of high-quality software. A Navy helicopter ship system, called LAMPS, provides a recent example. LAMPS software was a four-year project of over 200 person-years of effort, developing over three million, and integrating over seven million words of program and data for eight different processors distributed between a helicopter and a ship in 45 incremental deliveries [Ed. Note 2%!]s. Every one of those deliveries was on time and under budget !  A more extended example can be found in the NASA space program, !  - Where in the past ten years, FSD has managed some 7,000 person-years of software development, developing and integrating over a hundred million bytes of program and data for ground and space processors in over a dozen projects. !  - There were few late or overrun deliveries in that decade, and none at all in the past four years.” November(11,(2013( © Gilb.com 2011 47(

Slide 48

Slide 48 text

!  “Software Engineering began to emerge in FSD” (IBM Federal Systems Division, from 1996 a part of Lockheed Martin Marietta) “some ten years ago [Ed. about 1970] in a continuing evolution that is still underway: !  Ten years ago general management expected the worst from software projects – cost overruns, late deliveries, unreliable and incomplete software !  Today [Ed. 1980!], management has learned to expect on-time, within budget, deliveries of high-quality software. A Navy helicopter ship system, called LAMPS, provides a recent example. LAMPS software was a four-year project of over 200 person-years of effort, developing over three million, and integrating over seven million words of program and data for eight different processors distributed between a helicopter and a ship in 45 incremental deliveries [Ed. Note 2%!]s. Every one of those deliveries was on time and under budget !  A more extended example can be found in the NASA space program, !  - Where in the past ten years, FSD has managed some 7,000 person-years of software development, developing and integrating over a hundred million bytes of program and data for ground and space processors in over a dozen projects. !  - There were few late or overrun deliveries in that decade, and none at all in the past four years.” November(11,(2013( © Gilb.com 2011 48( in 45 incremental deliveries were few late or overrun deliveries in that decade, and none at all in the past four years

Slide 49

Slide 49 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source: Robert E. Quinnan, 'Software Engineering Management Practices', IBM Systems Journal, Vol. 19, No. 4, 1980, pp. 466~77 This text is cut from Gilb: The Principles of Software Engineering Management, 1988 11(November(2013( Copyright [email protected] 2013 49(

Slide 50

Slide 50 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source:(Robert(E.(Quinnan,('Somware(Engineering(Management(Prac.ces',(IBM(Systems(Journal,(Vol.(19,(No.(4,(1980,(pp.(466~77( This(text(is(cut(from(Gilb:(The(Principles(of(Somware(Engineering(Management,(1988( 11(November(2013( Copyright [email protected] 2013 50( of developing a design, estimating its cost, and ensuring that the design is cost-effective

Slide 51

Slide 51 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source:(Robert(E.(Quinnan,('Somware(Engineering(Management(Prac.ces',(IBM(Systems(Journal,(Vol.(19,(No.(4,(1980,(pp.(466~77( This(text(is(cut(from(Gilb:(The(Principles(of(Somware(Engineering(Management,(1988( 11(November(2013( Copyright [email protected] 2013 51( iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability’

Slide 52

Slide 52 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source:(Robert(E.(Quinnan,('Somware(Engineering(Management(Prac.ces',(IBM(Systems(Journal,(Vol.(19,(No.(4,(1980,(pp.(466~77( This(text(is(cut(from(Gilb:(The(Principles(of(Somware(Engineering(Management,(1988( 11(November(2013( Copyright [email protected] 2013 52( Design is an iterative process

Slide 53

Slide 53 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source:(Robert(E.(Quinnan,('Somware(Engineering(Management(Prac.ces',(IBM(Systems(Journal,(Vol.(19,(No.(4,(1980,(pp.(466~77( This(text(is(cut(from(Gilb:(The(Principles(of(Somware(Engineering(Management,(1988( 11(November(2013( Copyright [email protected] 2013 53( but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience

Slide 54

Slide 54 text

Quinnan describes the process control loop used by IBM FSD to ensure that cost targets are met. 'Cost management. . . yields valid cost plans linked to technical performance. Our practice carries cost management farther by introducing design-to-cost guidance. Design, development, and managerial practices are applied in an integrated way to ensure that software technical management is consistent with cost management. The method [illustrated in this book by Figure 7.10] consists of developing a design, estimating its cost, and ensuring that the design is cost-effective.' (p. 473) He goes on to describe a design iteration process trying to meet cost targets by either redesign or by sacrificing 'planned capability.' When a satisfactory design at cost target is achieved for a single increment, the 'development of each increment can proceed concurrently with the program design of the others.' 'Design is an iterative process in which each design level is a refinement of the previous level.' (p. 474) It is clear from this that they avoid the big bang cost estimation approach. Not only do they iterate in seeking the appropriate balance between cost and design for a single increment, but they iterate through a series of increments, thus reducing the complexity of the task, and increasing the probability of learning from experience, won as each increment develops, and as the true cost of the increment becomes a fact. 'When the development and test of an increment are complete, an estimate to complete the remaining increments is computed.' (p. 474) Source:(Robert(E.(Quinnan,('Somware(Engineering(Management(Prac.ces',(IBM(Systems(Journal,(Vol.(19,(No.(4,(1980,(pp.(466~77( This(text(is(cut(from(Gilb:(The(Principles(of(Somware(Engineering(Management,(1988( 11(November(2013( Copyright [email protected] 2013 54( an estimate to complete the remaining increments is computed.

Slide 55

Slide 55 text

It is much easier to determine requirements with a little hindsight! The eternal cycle of stakeholder priorities November 11, 2013 © Gilb.com Agility is the Tool 55

Slide 56

Slide 56 text

9 8 3 3 © [email protected] Top10 Method Monday, 11 November, 13 56

Slide 57

Slide 57 text

November 11, 2013 © Gilb.com Agility is the Tool 57

Slide 58

Slide 58 text

They decided to spend a week a month to engineer reduction of technical debt! They were Real engineers

Slide 59

Slide 59 text

User Week 1 Select a Goal Brainstorm Designs Estimate Design Impact/Cost Pick best design Implement design Test design Update Progress to Goa User Week 2 Select a Goal Brainstorm Designs Estimate Design Impact/Cost Pick best design Implement design Test design Update Progress to Goa User Week 3 Select a Goal Brainstorm Designs Estimate Design Impact/Cost Pick best design Implement design Test design Update Progress to Goa Developer Week 4 Select a Goal Brainstorm Designs Estimate Design Impact/Cost Pick best design Implement design Test design Update Progress to Goal

Slide 60

Slide 60 text

!  In these ”green” weeks, some of the deliverables will be less visible for the end users, but more visible for our QA department. !  We manage code quality through an Impact Estimation table. Speed Maintainability Nunit Tests PeerTests TestDirectorTests Robustness.Correctness Robustness.Boundary Conditions ResourceUsage.CPU Maintainability.DocCode SynchronizationStatus © [email protected] Top10 Method Monday, 11 November, 13 60

Slide 61

Slide 61 text

My 10 Agile Values? November 11, 2013 © Gilb.com Agility is the Tool 61 "  Simplicity "  1. Focus on real stakeholder values "  Communication "  2. Communicate stakeholder values quantitatively "  3. Estimate expected results and costs for weekly steps "  Feedback "  4. Generate results, weekly, for stakeholders, in their environment "  5. Measure all critical aspects of the improved results cycle. "  6. Analyze deviation from your initial estimates "  Courage "  7. Change plans to reflect weekly learning "  8. Immediately implement valued stakeholder needs, next week "  Don’t wait, don’t study (analysis paralysis), don’t make excuses. "  Just Do It! "  9. Tell stakeholders exactly what you will deliver next week "  10. Use any design, strategy, method, process that works quantitatively well - to get your results "  Be a systems engineer, not a just programmer (a ‘Softcrafter’). "  Do not be limited by your craft background, in serving your paymasters Copyright 2004-8 Gilb, may be used citing source “Values for Value” http://www.gilb.com/tiki-download_file.php?fileId=448 Agile Record 2010, www.agilerecord.com, October 2010, Issue 4

Slide 62

Slide 62 text

" Ecstatic Stakeholder! November 11, 2013 62 © Gilb.com Agility is the Tool

Slide 63

Slide 63 text

That’s#All#Folks!# "  Discussion?( "  I(am(here(and(at(the(dinner( "  And(love(to(talk(with(you!( "  Remarks?(Ques.ons?( "  Email(me(if(you(like( "  For(free(digital(copy(of(this( book,(and(4(of(my(Agile( papers,(and(the(Evo(book( "  Email(me(subject(“Book”( "  [email protected]( 17 Feb 2010 63( ©(Gilb.com(

Slide 64

Slide 64 text

TWELVE TOUGH QUESTIONS! 1. Why isn't the improvement quantified? 2. What is degree of the risk or uncertainty and why? 3. Are you sure? If not, why not? 4. Where did you get that from? How can I check it out? 5. How does your idea affect my goals, measurably? 6. Did we forget anything critical to survival? 7. How do you know it works that way? Did it before? 8. Have we got a complete solution? Are all objectives satisfied? 9. Are we planning to do the 'profitable things' first? 10. Who is responsible for failure or success? 11. How can we be sure the plan is working, during the project, early? 12. Is it bno cure, no pay` in a contract? Why not? Monday, 11 November, 13 © Gilb.com 64 There is a detailed paper on these questions at Gilb.com http://www.gilb.com/tiki-download_file.php?fileId=24