Lean Driven Software Development


In this talk, we will explain the theory of applying Lean principles during software development. In the beginning, we will talk about adopting Lean as a way of thinking and part of the organizational culture then expand out into the implications for the actual development process.

Avoiding technicalities as much as possible, we will then explain the current trend in the market in terms of focusing on the Lean's two main pillars, Just-in-time (Kanban) and Built-in Quality (Jidoka), as well as explaining the relationship between Lean and agile development methodologies especially the Scrum and extreme programming (XP) where the focus is on Lean as a discipline and extreme programming as core practices.

Focusing on the second Lean pillar - Jidoka - by explaining the mistake proofing techniques used in Lean and how to apply during software development and its effect in reducing the development cycle time. We will explain the linkage between Lean's mistake proofing techniques and the XP's core practices TDD and pair programming.

Laying emphasis on the stability fundamental principle of Lean, we explain how to reach a stable state by using continuous integration as the foundation to contributing to the Lean's ultimate goal of continuous improvements. A great attention will be given as well to explain and emphasize that empowering the team and breaking the barriers between them and the upper management is the key to success in the Lean journey. We will show that the Lean is a all about disciplines that need the team buy-in to success.

For the actual presentation, please see: Lean Talk