V-Work’s focus for the second year of our 10-year moonshot journey is ‘Product First, Profit First.’
Product First means we focus on making a configurable product over the easy choice of hardcoding customization for unique project requirements. Profit First means we pre-allocated our target profit after tax (PAT) before our expenses. We used to compute profit as the leftover from Revenue - Expense = Profit. Profit First, rearrange the formula as Revenue - Profit = Expense.
One of our rocks (initiatives) for year 2 Business Operating System (BOS) v2.0 is incorporating LEAN practice into our software development and operations. A simple focal point is to reduce wastage to increase productivity.
Wastes are non-value-added activities, not valued (and paid) by customers. A good example is multiple reworks for document reviews or bug fixes. Other examples of wastage are:
overproduction
overstock in the inventory
over-processing that is unnecessary or value-adding
underutilized resources (workers’ time or skill)
extra motion that could be streamlined
logistics (transport and transfer)
waiting time
This journal is to examine why I prioritize Lean over Six Sigma at this stage of our moonshot journey. Although we already practice ISO 27001 Information Security and Agile (and Scrum), Lean (especially Lean Software Development) is more suitable for V-Work than 6 Sigma in year 2.
Six Sigma is another good practice for reducing deviation from the norm and improving customer satisfaction by meeting the requirements. An example is how fast our customer service responds to customers or the availability of our Software-as-a-Service product.
Companies focus on 6 Sigma to raise the standard (a measurable form of ‘quality’). If we think 99% is good (only 1% defect), below is an example of putting 3.8 vs. 6 sigma into context.
3.4 defects per million opportunities (99.9997%) == 6 sigma
3.8 sigma is 99.0% (“is pretty good”)
e.g. service availability: 3.8 sigma 99% SLA is 7 hours downtime/month vs 6 sigma 99.9997% SLA = 1-hour downtime per 34 years
7 Principles of Lean Software Development (LSD)
Eliminate wastes
defects (including unclear requirements that need reworking)
motion (e.g. it takes 10 mouse clicks to perform a task vs 2 clicks)
waiting time (e.g. waiting for document review)
task switching (wastage in mental focus caused by frequent switching between projects and meetings)
extra nice-to-have functions that are not valued by the customer
extra processes (e.g. documents) that are not valued by the customer
unfinished work (e.g. work left half done)
build quality in
asking questions about the requirements
inspecting codes for defects, security weaknesses, and inefficiency
maintaining a clean code
maintaining a sustainable pace for the team members
amplify learning
enhance team spirit and team learning (self-organization)
cultivate issue perceptiveness
defer decision
avoid rushing to a decision when it is not due; gather more info
breakdown the big ‘consequential + irreversible’ decision into small decisions and tests
delivery fast
prioritize essential over the nice-to-have functions
empower the team
respective the team (trust and inspire)
avoid micromanaging
eliminate command and control style of strict workflow
optimize the whole
system thinking to optimize the complete value chain
Agile Software Development
Revisiting the Agile Manifesto reveals the alignment of using Agile Lean Software Development. V-Work uses waterfall methodology for most projects and agile methodology for software products.
The four values of agile software development
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change by following a plan
and 12 principles of agile software development:
Customer satisfaction is achieved through the early and continuous delivery of valuable software.
Welcome changing requirements, even in late development.
Deliver working software frequently (weeks rather than months).
Close, daily cooperation between business people and developers.
Projects are built around motivated individuals who should be trusted.
Face-to-face conversation is the best form of communication (co-location).
Working software is the primary measure of progress.
Sustainable development, able to maintain a constant pace.
Continuous attention to technical excellence and good design.
Simplicity—the art of maximizing the work not done—is essential.
Best architectures, requirements, and designs emerge from self-organizing teams (note: which is a learning organization with team learning discipline).
Regularly, the team reflects on how to become more effective and adjusts accordingly.
[image credit to yodiz.com]
Instead of EITHER Agile OR Lean, we can consider BOTH Agile AND Lean and adopt 6 Sigma into selective improvement programs. These are complementary tools that aid our team to:
improve quality
amplify team learning
empower people to take initiation, team learning
continuous improvement