Our Lean Enterprise model targets three essential areas: Business (Principals and End Users), Management, and Development teams. This course prepares the organization for the application of Lean-Agile methods and processes so that rapid delivery of business value is achieved. The approach presented is based around the Lean model of flow designed to achieve Enterprise Agility (that is, the ability for the enterprise to respond quickly to both internal and external changes). This ‘flow’ model is represented in the following figure where ideas come from customers (internal and external), are selected by business and developed by teams. Management’s role is to create the proper organizational structure and methods that maximizes the speed and quality of development while lowering costs.
value stream
The responsibilities of the different areas are as follows:
- Business
- Prioritize features by highest end user value
- 'Drive’ the development efforts to incrementally deliver
- Portfolio Management
- Development Teams
- Focus on speed in delivering software functionality
- Must include functionality, maintainability, and extensibility
- Requires excellent engineering practices
- Management
- Focus on the value stream (cycle time—idea to implementation)
- 'Drive' Continuous Standards improvement
- Organizational guiding principles, impediment removal
The course centers on how to create a fast, flexible flow of customer value-add. Principles of Lean that facilitate this are:
- Eliminate Waste
- Create Knowledge
- Respect People
- Build Quality In
- Defer Commitment
- Deliver Fast
- Optimize the Whole
The course teaches how to manifest these principles within the context of software development as product development. This is one of the distinctions of this course over mere Agile training. Agile Project Management focuses on managing a single project and perhaps coordinating several projects together. However, true software development should be focused on the products these projects relate to. Selecting products, scheduling projects for the products, balancing product loads, are business perspectives that Lean addresses while Agile methods do not. The focus of this course is on the mindset of Lean and the Lean-Agile Software Development process. The issues of architecture and how to evolve designs is only dealt with at a superficial level.
Some topics that are particular to Lean are:
- Value stream maps
- Utilization theory
- Think products, not projects
- Using QA to improve process
- A focus on people and process – how to use process as a baseline for change
- Work cells and how they can improve a process
- How focusing on time can eliminate waste and improve value