XNSIO
  About   Slides   Home  

 
Managed Chaos
Naresh Jain's Random Thoughts on Software Development and Adventure Sports
     
`
 
RSS Feed
Recent Thoughts
Tags
Recent Comments

The Ever-Expanding Agile and Lean Software Terminology

Sunday, July 8th, 2012
A Acceptance Criteria/Test, Automation, A/B Testing, Adaptive Planning, Appreciative inquiry
B Backlog, Business Value, Burndown, Big Visible Charts, Behavior Driven Development, Bugs, Build Monkey, Big Design Up Front (BDUF)
C Continuous Integration, Continuous Deployment, Continuous Improvement, Celebration, Capacity Planning, Code Smells, Customer Development, Customer Collaboration, Code Coverage, Cyclomatic Complexity, Cycle Time, Collective Ownership, Cross functional Team, C3 (Complexity, Coverage and Churn), Critical Chain
D Definition of Done (DoD)/Doneness Criteria, Done Done, Daily Scrum, Deliverables, Dojos, Drum Buffer Rope
E Epic, Evolutionary Design, Energized Work, Exploratory Testing
F Flow, Fail-Fast, Feature Teams, Five Whys
G Grooming (Backlog) Meeting, Gemba
H Hungover Story
I Impediment, Iteration, Inspect and Adapt, Informative Workspace, Information radiator, Immunization test, IKIWISI (I’ll Know It When I See It)
J Just-in-time
K Kanban, Kaizen, Knowledge Workers
L Last responsible moment, Lead time, Lean Thinking
M Minimum Viable Product (MVP), Minimum Marketable Features, Mock Objects, Mistake Proofing, MOSCOW Priority, Mindfulness, Muda
N Non-functional Requirements, Non-value add
O Onsite customer, Opportunity Backlog, Organizational Transformation, Osmotic Communication
P Pivot, Product Discovery, Product Owner, Pair Programming, Planning Game, Potentially shippable product, Pull-based-planning, Predictability Paradox
Q Quality First, Queuing theory
R Refactoring, Retrospective, Reviews, Release Roadmap, Risk log, Root cause analysis
S Simplicity, Sprint, Story Points, Standup Meeting, Scrum Master, Sprint Backlog, Self-Organized Teams, Story Map, Sashimi, Sustainable pace, Set-based development, Service time, Spike, Stakeholder, Stop-the-line, Sprint Termination, Single Click Deploy, Systems Thinking, Single Minute Setup, Safe Fail Experimentation
T Technical Debt, Test Driven Development, Ten minute build, Theme, Tracer bullet, Task Board, Theory of Constraints, Throughput, Timeboxing, Testing Pyramid, Three-Sixty Review
U User Story, Unit Tests, Ubiquitous Language, User Centered Design
V Velocity, Value Stream Mapping, Vision Statement, Vanity metrics, Voice of the Customer, Visual controls
W Work in Progress (WIP), Whole Team, Working Software, War Room, Waste Elimination
X xUnit
Y YAGNI (You Aren’t Gonna Need It)
Z Zero Downtime Deployment, Zen Mind

Lessons Learnt from Restaurant Business

Friday, May 29th, 2009
  • Focus on Rapid Delivery: No one likes to wait for food. No one likes to get cold, stale food. Food is best when its served fresh and hot. The exact same thinking applies to software. If I go to a restaurant and order for starters, main course and deserts, its stupid to expect that I’ll oder everything one-shot and accept everything delivered together. Most probably I’m going to order the starters. Once you get the starters, I’ll see it’s quantity, also taste them and then decide on the main course. And so on. From the restaurant’s point of view,
    • They don’t get nor expect all the requirements upfront.
    • They believe and embrace iterative and incremental delivery model.
    • They deliver food as and when its ready. (focus on throughput). In fact restaurants in India, serve you really fast and they want you to eat and leave as quickly as possible, so that they can server more customers. They really focus on throughput and flow.
    • They keep their customers busy (hooked in)
    • They don’t want to keep the food waiting to be served (inventory)
  • Innovation: Profits and Competition are very high and hence restaurants are very innovation driven. They know only good food is not sufficient to keep customers loyal. They constantly do the following to attract repeat orders:
    • Chef’s recommendation and today’s special deals
    • Free Home Delivery
    • Improve interiors and ambience
    • Come up with appealing offers and packages
    • Evolve their menus by adding new items to their menus and food offerings. Constantly try to improve it based on most frequently ordered items
    • Heavy focus on service and customer satisfaction
    • Try to build a personal rapport with each of their customers. Make them feel special when they come.
    • Constantly look at eliminating waste.
      • If plates, spoons, knife, forks and tissues are frequently required, they store them very close to each table. So that they can avoid their movement and hence save time.
      • Try to make their order taking, processing and deliver process more efficient and less error prone (mistake proofing).
      • They divide their responsibilities into various roles like Order taking, delivering food and cleaning up the table. (Same thing might not work well in software because intrinsic knowledge is much higher)
      • The Chefs inside the kitchen learn to keep their work-area clean so that they don’t get caught up in the mess, trying to find things they need.
      • Chefs also do a lot of interesting mistake proofing to avoid confusion between ingredients
      • Restaurants watch food consumption trends and prepare (plan) their food ingredients based on those patterns. For Ex: they know on weekends, they’ll have huge demand, they plan accordingly. (avoid inventory)

We have also seen how a small, really successful restaurant starts scaling by opening franchisees and soon its brand is completely destroyed. Be aware of the scaling black-holes.

Kanban and Lean Software Development

Wednesday, May 6th, 2009

Kanban seems to be a good starting point to adopt Lean thinking on a team. Of course Kanban alone is not sufficient to become lean. You need to Trust & Respect team members and you need concepts like Single Minute setup, Mistake-proofing, Zero Inspection, Kaizen, etc. Kanban to me is a great manifestation of Queuing Theory and to some extent Theory of Constraints.

Jeff Patton wrote a great intro to Kanban.

Of late I’m hearing a lot about Kanban and its application to software development. IMHO Kanban is nothing new. If you look at a lot of “traditional” maintenance and support teams they’ve been using Kanban for ages.

Back in 2004 when I was leading an offshore maintenance project without knowing anything about Lean or kanban, we really evolved to using a pull-system (Kanban) on our team. That was the only logically way we could work. Of course we started off with Iterations and Releases and so on.  But we quickly implemented a simplified Kanban on our team.

    Licensed under
Creative Commons License