Difference between revisions of "Agile Iteration Kickstart"

 
(2 intermediate revisions by the same user not shown)
Line 15: Line 15:
  
 
== Methods of Education ==
 
== Methods of Education ==
xxx
+
Discussion, presentation, Q&A, workshop exercises
  
  
Line 101: Line 101:
  
 
== Environment - Room, Tools, Texts ==
 
== Environment - Room, Tools, Texts ==
Read this: [[Course Environment - Workshop Style2]]
+
Read this: [[Course Environment - Workshop Style3]]
 +
 
 +
[[LeSS Sprint Kickstart]]
  
  

Latest revision as of 10:03, 24 July 2014

Overview

5 days

Virtually every leader and organization that has adopted agile and iterative methods, including the recent Yahoo adoption of Scrum, will vouch for the high-impact value in having an experienced coach help kick start the adoption of these practices on a pilot project, which often involve significant and sometimes subtle changes in how to approach project planning, requirements analysis, test, and measurement. Thus, in addition to the first step of helping executive management understand the motivation, evidence, and big ideas regarding agile and iterative methods, in the second step I help these organizations launch a pilot project through my Agile Iteration KickStart program.

This has some similarity to my highly-customized mentoring package, but the KickStart is a more structured 5 or 10-day workshop centered around your project.

In short, the KickStart takes the team through some “classic” events and activities of an iteration, such as iteration planning, requirements or design workshops, and more. This often revolves around the (extremely) popular Scrum method, but other methods, such as XP, FDD or Crystal, can form the foundation if you desire. I’ll (or one of my very talented coaching colleagues) be spending significant time with a cross-functional team, coaching them through the details of perhaps a requirements and/or design workshop, and the iteration planning meeting. I’ll be spending time with the team and business stakeholders to help understand and apply Scrum skills, and chart progress with iteration and release burn-down charts. I’ll be working with developers at their workstations, and in small teams at the whiteboards during object design and agile modeling sessions, also perhaps coaching test-driven development or refactoring.


Methods of Education

Discussion, presentation, Q&A, workshop exercises


Audience

Clients find it useful to include related product groups; for example, 8 people from 1 product, and 8 from another. It is useful to include a cross-functional set of representative skills (product management, development, test, systems engineering, ...) as lean and agile principles emphasis cross-functional teams and very close, cyclic collaboration between product management and R&D.


Level

Intermediate: This course introduces concepts and techniques that the attendee will apply during the workshop.


Prerequisites

The intent of this session is to begin using agile development techniques in real life--you should have a real project and a real development environment to get the most of this time. Good preparation beforehand significantly improves the richness of the outcome.

It is highly recommended that you have attended Agile Software Development: Hands-on Practices, Principles, Agile Modeling, and TDD beforehand.


Objectives

Depending on topics selected, after completion of this course students should be able to:

  • develop software in short iterations (typically using Scrum)
  • do agile modeling
  • test-drive new development
  • test-drive modifications to existing code
  • run Agile SAD workshops to document existing architectures


Outline

Several schedule variations are possible and will be customized with you beforehand, depending on the degree of requirements and design fuzziness and complexity, and state of the team. For example:

  • Monday: Agile software architecture documenting with an N+1 view model and technical memos
  • Tuesday: Requirements workshop, applying use cases or use stories
  • Wednesday: Design workshop, applying Agile Modeling
  • Thursday: Test-driven development, refactoring, and continuous integration
  • Friday: Release and/or Iteration planning meeting, applying relative point estimation, velocity, burndown charts, and more


Another popular variation runs 3 mini-iterations on the development project Tuesday-Thursday.


I emphasize not only analytical skills such as requirements and design patterns, but harder-core engineering skills such as setting up and using a continuous integration and test environment, test-driven development, pair design, light-weight code reviews, and more. There are myriad skills that may be applied and mastered. Depending on your needs, that may include:

  • Agile and iterative project management and methods adoption with blended UP, XP, and Scrum practices.
  • Creating a Product Backlog and Iteration Backlog
  • Agile estimation with relative point estimates
  • Agile requirements analysis with use cases and other specification techniques
  • How to run an iteration planning meeting; how to plan a timeboxed iteration
  • How to run a fast and focused timeboxed evolutionary requirements workshop
  • How to do an Agile Modeling Day
  • Applying effective object-oriented analysis and design
  • Rapid architectural documentation with an agile N+1 view model for architecture
  • Coaching for high-performance OO designs in Java or C++
  • Useful UML; modeling like a master
  • Agile Modeling with the UML
  • Possibly an agile approach to a Release Planning Workshop
  • Design patterns
  • Refactoring and refactoring tools
  • A healthy, scalable build environment with continuous integration and automated testing
  • Architectural analysis
  • How to quickly and effectively document your architecture
  • How to work in a common project room without driving each other crazy
  • Applying the Decider protocol for effective team-based decision making
  • The daily Scrum meeting
  • Walls of wonder for modeling and project management
  • Test-driven development
  • Code reviews for improved detailed programming and use of APIs
  • Reviews, analysis and coaching for suitable performance of (for example, Java) applications.
  • Organizing your project files and build environment
  • Automated acceptance and unit testing runs


Related Courses

Before:

After:


Maximum Participants

16


Environment - Room, Tools, Texts

Read this: Course Environment - Workshop Style3

LeSS Sprint Kickstart


Text and Notes

  • There is a course PDF for the presentations. We may decide to give the students a file copy to view on a laptop or a paper copy, depending on situation.