Difference between revisions of "Lean and Agile Software Development Education Programme"

Line 1: Line 1:
 
==== Introduction ====
 
==== Introduction ====
This is a summary of the Lean And Agile Software Development (LASD) education programme that I ([http://www.craiglarman.com/wiki/index.php?title=Craig_Larman Craig Larman] here) have honed over the decades, and set up at organizations such as Xerox and JPMorgan. For example, it has been successfully delivered at Xerox to well over 20,000 software developer and managers as part of their Lean Software Development initiative, of which I served as the lead coach.
+
Client say this is an awesome, useful programme ;) We agree.  
  
The overarching goal is to improve the organizational system (that creates software) to become a much better learning organization and delivery system, through the adoption of Lean-Thinking principles and related practices. I am the author of the [http://www.leanprimer.com/ Lean Primer], and the book [http://www.amazon.com/Scaling-Lean-Agile-Development-Organizational/dp/0321480961/ref=sr_1_1?ie=UTF8&qid=1432078468&sr=8-1&keywords=scaling+lean+agile+larman Scaling Lean & Agile Development]
+
This is a summary of the Lean & Agile Software Development (LASD) education programme that I ([http://www.craiglarman.com/wiki/index.php?title=Craig_Larman Craig Larman] here) have honed over the decades (it started development & delivery in the early 1990s), and set up at organizations such as Xerox and JPMorgan. For example, it has been successfully delivered at Xerox to well over 20,000 software developer and managers as part of their Lean Software Development initiative, of which I served as the lead coach.
 +
 
 +
The overarching goal is to improve the organizational system (that creates software) to become a much better learning organization and delivery system, through the adoption of Lean-Thinking principles and related practices. I am the author of the [http://www.leanprimer.com/ Lean Primer], and the book [http://www.amazon.com/Scaling-Lean-Agile-Development-Organizational/dp/0321480961/ref=sr_1_1?ie=UTF8&qid=1432078468&sr=8-1&keywords=scaling+lean+agile+larman Scaling Lean & Agile Development], and so the bias (my bias) of this programme is indeed ''Lean Thinking''. Therefore, if "Lean" and "lean software development" is something that interests your organization, this is a great fit.
 +
<br>
 +
<br>
  
 
==== Candidate Participants ====
 
==== Candidate Participants ====
  
 
For Developers & all Technology Managers (including CTOs)
 
For Developers & all Technology Managers (including CTOs)
 
+
<br>
 
+
<br>
  
 
==== Train-the-Trainer Option ====
 
==== Train-the-Trainer Option ====
 
+
xxx
  
 
<br>
 
<br>

Revision as of 16:41, 19 May 2015

Introduction

Client say this is an awesome, useful programme ;) We agree.

This is a summary of the Lean & Agile Software Development (LASD) education programme that I (Craig Larman here) have honed over the decades (it started development & delivery in the early 1990s), and set up at organizations such as Xerox and JPMorgan. For example, it has been successfully delivered at Xerox to well over 20,000 software developer and managers as part of their Lean Software Development initiative, of which I served as the lead coach.

The overarching goal is to improve the organizational system (that creates software) to become a much better learning organization and delivery system, through the adoption of Lean-Thinking principles and related practices. I am the author of the Lean Primer, and the book Scaling Lean & Agile Development, and so the bias (my bias) of this programme is indeed Lean Thinking. Therefore, if "Lean" and "lean software development" is something that interests your organization, this is a great fit.

Candidate Participants

For Developers & all Technology Managers (including CTOs)

Train-the-Trainer Option

xxx



LASD1 (Lean & Agile Sw Dev 1): Readings

Summary: Readings

Person-hours: 5-10

Content:

Chapter: Systems Thinking. Book: Scaling Lean & Agile Development.
Chapter: Lean Thinking. Book: Scaling Lean & Agile Development. OR... the online Lean Primer @ http://leanprimer.com/
Chapter: Be Agile. Book: Scaling Lean & Agile Development
The New Methodology @ http://www.martinfowler.com/articles/newMethodology.html
Agile Values & Principles @ http://agilemanifesto.org/
Scrum Guide @ https://www.scrum.org/Scrum-Guides
Scrum Primer @ http://scrumprimer.org/
Unit TDD @ http://www.jamesshore.com/Agile-Book/test_driven_development.html
Refactoring @ http://www.jamesshore.com/Agile-Book/refactoring.html AND http://www.refactoring.com/catalog/index.html
Chapter: Test. Book: Practices for Scaling Lean & Agile Development
Chapter: Continuous Integration. Book: Practices for Scaling Lean & Agile Development



LASD2: Course: Agile Software Development: Hands-On Practices, Principles, Agile Modeling, And TDD

Content Summary: Core hands-on skills in agile sw development/engineering (unit TDD with refactoring, acceptance TDD, continuous integration, clean code, agile modeling for user experience, analysis, and design), and solid OO design

Experience Summary: In this extremely hands-on course, 2 teams (e.g., 14-16 people), each working together as a team, learn and apply in a structured environment with a carefully crafted education system and set of problems. The coach works intensively with the teams during group agile modeling, and intensively with the programming pairs, during development.

Duration: 5 days.

Detailed Description: Agile Software Development: Hands-On Practices, Principles, Agile Modeling, And TDD

Special Readings for Future LASD Teachers:

  • Applying UML and Patterns 3E, Larman: Chapters 1-25
  • Clean Code, Martin: Chapters 1-10
  • User-Centered Design, Lowdermilk, All chapters (it's a short book - a solid overview of basics)



ZERO to max of 3 weeks break (zero is probably best)



LASD3: Workshop: Core skills applied in a mini-Sprint with a work goal

Context: It is helpful to learn & apply new complex skills in a structured classroom environment, but to go from "knowing to doing" in the workroom requires a critical extra step.

Content Summary: The skills of LASD2 are applied to a company goal, that the teams and company mgmt pick (vetted by the coach), in a 5-day mini-Sprint

New Topics? This is mostly application of LASD2 knowledge to "normal company features", but one distinct new topic this week is the use of a "mocking" framework for "test doubles" during the practice of unit TDD.

Experience Summary: The 2 teams are led through a mini-Sprint. The coach works intensively with the teams during group agile modeling, and intensively with the programming pairs, during development, introducing new principles and practices and design patterns as situationally appropriate.

Duration: 5 days.

Environment & Tools: Same as LASD2, but definitely access to your real development (source code, .etc) environment, as we are building "real" software.

ZERO to max of 4 weeks break (no preference)



LASD4: Clinic: Legacy-Code TDD

Context: It's easy to create clean code and do TDD and refactoring in a green-field context (LASD2 and LASD3), but that's not the reality of the developers and the legacy code base. The craft of legacy-code TDD is a very different and challenging skill-set and requires distinct coaching, in the context of your real existing legacy code. Especially difficult is breaking dependencies in the existing code, to enable for TDD, and this requires very situational coaching.

Content Summary: Legacy-code TDD and refactoring, breaking dependencies.

Experience Summary: 1 team does a "coding dojo" style learning with the coach. The team and coach are surrounding a projector displaying the legacy code, and for a 10-minute cycle, one person does legacy-code TDD and refactoring and dependency breaking, guided by the coach. Then "driving" the keyboard rotates to the next team member, etc.

Duration: 2.5 days.

Note: The coach will complete team 1 and team 2 coaching over a 5-day period.

See further description here


Special Readings for Future LASD Teachers:

  • Working Effectively with Legacy Code



ZERO to max of 4 weeks break (no preference)



LASD5: Course: Agile Design And Modeling For Advanced Object Design With Patterns

Content Summary: Hands-on skill and mastery of excellent and flexible software design with design patterns; more agile modeling skill.

Experience Summary: As in LASD2, in this extremely hands-on course, 2 teams (e.g., 14-16 people), each working together as a team, learn and apply in a structured environment with a carefully crafted education system and set of problems. The coach works intensively with the teams during group agile modeling.

Duration: 3 days.

Detailed Description: Agile Design And Modeling For Advanced Object Design With Patterns


Special Readings for Future LASD Teachers:

  • Applying UML and Patterns 3E, Larman, Chapters 26 and 36
  • Design Patterns
  • optional: Head First Design Patterns





no break (start next event on subsequent day)



LASD6: Workshop: Agile Architecture Documentation Workshop

Summary: There is a large system and the overarching existing design is not clear to many. This also inhibits evolving the design for the future. In this 1 day workshop, the coach facilitates the group to create architectural views and technical memos in a highly collaborative hands-on workshop using vast whiteboard spaces, to sketch out the existing product architecture, and also capturing Q&A sessions on video. The output is not only the many architectural view sketches (logical, process, data, deployment, security, ...) and technical memos, but a shared understandings amongst workshop participants in the existing design, using lightweight and fun methods that transform "documenting the architecture" from a boring low-value activity into an interesting high-learning high-value event. This workshop can also be combined with the definition and organization of a self-study plus Q&A mentoring system for new hires to your company, to speed and improve the architectural knowledge of your staff.

Duration: 1 day.

Detailed Description: Agile Architecture Documentation Workshop


Special Readings for Future LASD Teachers:

  • Applying UML and Patterns 3E, Larman, Chapter 39



Adoption & Operating Model

To scale this, I recommend that an internal cadre of technical coaches (such as existing managers and architects) become certified to deliver this. The programme will start with some existing certified external coaches (e.g., craig, ...) that deliver this programme, with participants who will in the future deliver it separately.

Each potential coach must attend the cycle of education twice, before certification. Once as participate, and once in a co-teaching with an existing certified teacher.

To aid in the coach-certification and learning process, the original deliveries by external expert coaches may be video-recorded (but only used for coach preparation).

I recommend that virtually all teams within the organization go thru this education process.