Software Dev Life Cycle (w/ Kanban)
In order to get a deeper understanding of the Software Development Life Cycle (SDLC) I took a deep dive into the Kanban development process; however, before deep diving into Kanban lets build a base knowledge: the Waterfall legacy concept, to Agile, to Scrum, to Lean, and then Kanban. Remember the focus here is Kanban Software Dev Process.
Evolution of Software Development
Waterfall — Industrial Age methodology
o Based on factory products that follow specific design
1. Requirements Gathering and Analysis
2. Design
3. Development or Coding
4. Testing
5. Deployment
6. Maintenance
Waterfall Limitations
- Customers don’t know what they want up front
- Limited applications
- Too rigid, unrealistic and unsuitable for the uncertainties of real-world
- Assumes customer requirements can be translated into real products
- Highly improbable to estimate time and costs with accuracy
- Traditional command and control management style lacking innovation
Agile
o Change in development process, focus now iterative and deliver based
o Customer statisfaction heavily regarded
o Allows for changing requirements and technologies
0 Based on collaboration
Agile Manifesto
o Value individuals
o Value working software over documentation
o Customer calibration instead of price/feature negotiations
o Change responsiveness over published plan
Agile — Scrum
Flexibility — No change preferred during the sprint
Flow — Regular fixed length sprints (1–2 weeks)
Value Delivery — At the end of each sprint
Team Roles —Product Owner, Scrum Master, Development Team
Key Metrics — Velocity (Internal team ability to efficiently complete task)
Lean — Kanban
Flexibility - Change can happen at any time
Flow - Continuous flow
Value Delivery - Continuous delivery (at team’s discretion
Team Roles - No fixed roles
Key Metrics - Cycle time -(Amount time to start working on item, completing, and delivering to customer)
Let’s step deeper into the core concepts of lean.
Lean Development — Developed by Toyato, yea the car company.
Four Lean Concepts
1. Value — Something the customer is willing to pay for
- Defined by the customer
- Identify what the customer values
- Build with quality as your focus to prevent rework (waste)
2. Value Stream — Activities and processes involved in creating value
- Remove wastes steps inside value stream
- Flow optimization for all steps
- Restructing is possibility
- Waste disrupts value stream
3. Pull — Customer demand is what drives production
- Production is determined by pull not market forecast (Pull not Push)
- No wait time
- No stock on hand
4. Perfection — Aim for constant improvement
- Processes reviewed and optimized in an ongoing cycle
- Constantly aim to achieve values high in value for customers
- Benefits of Applying Lean
o Lead and cycle times are reduced
o Efficiency and quality are improved leading to waste reduction
o Communication between the organization and customer is improved
o Physical work space and facility needs are reduced lead to waste reduction
o Process flexibility is facilitated leading to better change management
Even Deeper
Lean Concepts and Tools Used in Kanban
Value added vs Non-value added Activities
Value — Rating of how well a product or service meets customer requirements (slightly different definition)
- Value added — Fulfills customer needs
- Non-value Added Activities- Customer doesn’t or isn’t willing to pay
- Required Non-value added activities
o Necessary to operate business
o Needed to meet regulatory standards
Lean’s Seven (eight) Wastes (Muda- Does not add value but adds cost)
- Defects — Flaws in product requiring rework
- Over Production — Goes against just in time production
- Waiting — Waiting on another process to complete
- Non-utilized skills of employees (*8) — Eliminate outsourcing
- Transportation — Movement of products
- Inventory — Products requiring storage
- Motion — Unnecessary movements during production
- Extra Processes — Remove those unnecessary steps
Diving into Kanban ( Kanban < Lean )
Kanban Process Steps
1. Visualize and Map Work
2. Limit Work in Progress (WIP)
3. Manage Flow
4. Make Policies Explicit
5. Work for Continuous Improvement
Note: Utilize all applicable lean methodologies to aide in the Kanban process.
Visual Workplace: Visual Office / Visual Factory
- Enable employees to see performance at a glance
o Visual Workplace — Visual cues convey information quickly
Visual Factory
- Process diagrams to complete Task
- Status charts
- Arrows
- Building charts
Visual Office / Organizations
-Work instructions
- Process flow diagrams
- Labels
- Andons — Electronic signaling (traffic light)
- Status boards
Lead Time and Cycle Time
Lead Time — Amount of time between customer request and delivery
-Include delays and waiting times
- Summation of all cycle times and delay times
Cycle Time — Time from when work begins and is completed, can have multiple cycle times for one task
o Benefits of Cycle Time Reduction
- Waste reduction
- Significant cost reduction
- Increased productivity
- Overall quality improvements
- Decreased product time to market
- Improve customer relations
Work In Progress and Flow
WIP — Any work started and currently unfinished
- WIP is not value added until finished
Flow — The way in which items progress through a team or organization systems
-Ready To Start
- In Progress
- Ready To Test
- Awaiting Approval
- Done
Continuous Flow
-Constant and continuous delivery is preferred
- Continuous value delivery
- Focus is to reduce defects or rework
Continuous Improvement
- Visualize and map work
- Limit WIP
- Manage flow
- Make policies explicit
- Work for continuous Improvement
Additonal Notes
- Maximize customer values while eliminating waste
- Define what makes value for customers
- Improves overall efficiency, quality, and customer satisfaction
- Streamlines and improves processes
- Reduces waste along the entire value stream
Improving Long-term Capability
- Focus on Improvement Areas in Kanban Team
- Improve Cycle Time
- Increase Feedback Frequency
- Focus on Long-term Quality
- Improve Team and Process Maturity
Kanban Metric for Monitoring and Control
- Create a cumulative flow diagram this will show you bottlenecks
1. Backlog
2. Analysis/Design
3. Development
4. Testing
5. Approval
6. Done/Release
Team Culture — Based on the Schneider Model
- Cultivation Culture
- Collaboration Culture
- Control Culture
- Competence Culture
Long-term Improvement Strategies
- Aim for overall system efficiency rather than individual performance
- Empower team by autonomy and rewards
- Encourage change management
- Build a culture of improvement
Finally the Kanban Board.
Kanban Board
Visual and map work — Create a basic process flow chart
- The brain processes images 60,000 times faster than words
- Objectively focus on flow of value
