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

Time Yourself.. Is this 60,000 times faster than reading this whole blog.