Consulting and Education

Revision as of 10:21, 28 November 2010 by Clarman (talk | contribs)

Contact me: mailto:craig@craiglarman.com

Education

Course List
Upcoming courses and registration


Services/Consulting


Deep-Dive Agile or Lean Management Q&A Workshop

Go to: Deep-Dive Question and Answer Management Workshop - Lean/Agile Product Development


Systems Workshop for Executives: Challenging Assumptions, Thinking Deeply

A theme of the MIT Learning Organization research is that people in executive management weaken their organizational designs due to unexamined assumptions about system dynamics, the psychology of motivation, and their ladders of inference. In this challenging half- or one-day workshop the leadership team practice seeing and examining the complex system dynamics in their organization through agile modeling with causal models, and by developing high-inquiry skills into the ladders of inference. We also examine recent management research (from Stanford University, Harvard, and other management research centers) that challenges traditional assumptions about measurement, motivation, appraisal, and reward systems.


Value-Stream Mapping Workshop

In lean thinking, understanding the value stream and improving it (for example, by reducing waste) are key improvement goals. And improving the value:waste ratio is a noteworthy KPI. In this workshop, we retrospect on a completed release cycle of a product, and create a value-stream map, to understand the value stream and estimate the value:waste ratio.


Impediments Backlog Workshop

What is the role of leadership and other managers, in a lean enterprise, or in a large-scale Scrum context? Responsibilities include:

  • hands-on teaching/mentoring people in systems thinking and lean thinking
  • hands-on teaching/mentoring people mastery of techniques (e.g., in product mgmt, programming, ...)
  • doing "Go See" to develop trust with delivery people, and learn their impediments
  • removing impediments that inhibit the flow of value, cycle times, and the work of the delivery people

For the last point, it is necessary to form an impediments backlog and decide, as a management team, how to handle the backlog. In this workshop we form the backlog and plan how management and delivery people will work with it.

This is especially important when large-scale Scrum is first introduced, as there are many organizational elements and other "rocks" that need to be changed or removed so that value can flow to the customers without "pause or impediment."


Keynotes and Executive Seminars

(see Courses for examples) I frequently speak with conference and executive management groups on topics related to large-scale product development with lean or agile management systems.


Facilitating and Coaching Scrum or other 'Agile' Events for Skills Transfer

I attend your existing Scrum initial Product Backlog Creation workshop (Release Planning workshop), Sprint Planning (part one and two), 5% Product Backlog Refinement Workshop, Sprint Review, and/or Sprint Retrospective. I facilitate these standard Scrum events and share skillful practices and heuristics so that the teams gain increased value from these activities.

I also coach other whole-team Agile Workshops (or elaboration of above):

Name/Description Days
Agile Release Planning Workshop 2-5
Initial Product Backlog Creation Workshop 2-5
Product Backlog Refinement (grooming) Workshop 1
Agile Modeling Design Workshop 2-5
Agile Architecture Documentation Workshop 1-2
Agile Iteration Kickstart 5
TDD Bootcamp 5, 10




Lean and Agile Transformation Leadership

I work with management teams to help understanding and adoption of modern lean and agile processes. My focus is large enterprise transformations, such as at Nokia, Siemens, NSN, and Xerox.


Agile Architecture Documentation Workshop

Your problem: 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-2 day workshop, I facilitate 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. 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.

See also: Agile Architecture Documentation Workshop


Lean and Agile Coaching, Curriculum, and Programme Design

You are involved in or are responsible for a transformation toward lean product development and/or agile development (perhaps with large-scale Scrum) involving tens of thousands of engineers and managers in a large product development organization, perhaps spanning the globe. How to proceed? What coaching? What curriculum? What should the programme be? I have both led the design and been closely involved in the design and execution of several large enterprise transformations.


Agile Iteration Kickstart

(see Courses for details) This kickstart is a highly structured coaching of iteration-1 (or later) for your project, starting with a requirements workshop, and followed by a series of recommended week-1 iteration activities, including an Agile Software Architecture Documenting session, an Agile Modeling Day, Scrum meetings, charting burn-down rates of the iteration and release, an iteration planning meeting, and more. The focus is helping development teams and a project manager hands-on master a suite of new agile and iterative skills, including planning adaptive timeboxed iterations, agile requirements analysis, and so forth, moving your project and team into structured timeboxed iterative development.


Splitting and Prioritizing Product Backlogs with Large User Stories: A Workshop

You have a Product Backlog of large items. You wish to express these as user stories, and perhaps as some quality stories. These are large items, where one item may involve 100-500 people for over a year. It is not clear how to split these items; nor is it clear how to prioritize them. In this workshop, we will learn these skills and solve this problem.


Forensic Consulting and Expert Witness

I serve as a forensic investigator and expert witness in legal disputes involving software projects. One lawyer described my expert witness report for his client as “the best I’ve ever seen.”


Hands-on Coaching: Legacy Code - Breaking Dependencies and TDD (C, C++, C#, Java, ...)

Your Problem: A ton of legacy code (perhaps for an embedded system) with lots of entanglements and dependencies. You want to break these dependencies, unit test the old code ("bring it under test") and also do TDD in the context of legacy code.

I sit with a pair or triplet of programmers for 2 days (minimum -- usually sufficient to solve the big problems and educate the developers) and show them how to bring the legacy code under test so that they can test units in isolation, and apply TDD to legacy code.

Developers find it tough to see how to do this without someone experienced directly coaching them, and they invariably say that this coaching is extremely worthwhile.

Coaching Environment - TDD


Hands-on Coaching Agile Development, Agile Modeling, Design Patterns, TDD, Breaking Dependencies, and Refactoring

In this coaching/consulting engagement, I work directly with engineers (through pair programming and short technical design workshops) to show them how to do agile software development, agile modeling, test-driven development, and refactoring. And better design with appropriate use of design patterns. Usually in the context of legacy code, where there are challenges in learning how to to test the system or units in isolation. I usually do this with development groups working in C++, Java, C#, or C.

A repeating theme in this coaching is helping people learn how to break dependencies so that they can test elements in isolation.

Coaching Environment - TDD


Hands-on Coaching Agile Software Development, Breaking Dependencies, and TDD for Embedded Systems (C, C++, ...)

I have spent years working with large embedded systems (typically legacy C or C++ applications). In this coaching/consulting engagement, I work directly with engineers (through pair programming and short technical workshops) to show them how to do agile software development, test-driven development, and refactoring in the context of these domains and technologies, and in the context of lots of old legacy code that people do not think they can test in isolation.


A repeating theme in this coaching is helping people learn how to break dependencies so that they can test elements in isolation.

Coaching Environment - TDD