Showing posts with label Lean Startup. Show all posts
Showing posts with label Lean Startup. Show all posts

Tuesday, December 17, 2019

Design Thinking and Agile way of Software Development – Response



Few of the fellow agilest pointed me toward a picture in which Design Thinking, Lean Startup, and Scrum are shown in a sequence.




This picture is the brainchild of Gartner. Let’s talk about this picture. If you look deep into this picture, you will realize that this picture hides the waterfall mindset under the Agile camouflage. As per this picture, you need to understand the customer’s problem only once. Will you not go back to the customer for feedback again once you have understood the initial problem? In the software world requirements evolve as customer develops a better understanding of the solution – limitations and opportunities, changing business context, evolving technological landscape which essentially never allows designing phase to mark as completed.

What do you think?
 


Monday, December 9, 2019

Design Thinking and Agile way of Software Development



There is a lot of buzz around Design Thinking in Agile circles. It seems lots of Agilest are sold to the idea of Design Thinking for software development. Even SAFe has bought in Design Thinking in its fold.

As an Agilest, I prefer to look critically instead of part of the crowd; try to steer away from the herd mentality. Let’s try to understand what is Design Thinking?

Design Thinking is a methodology to design a product with close interaction with stakeholders (customers. consumers, financiers, etc.) in an iterative manner. Once product design is fit for the purpose, it goes into production and rollout.

Does this super brief description pose questions? For me, it certainly does.

In the core of Design Thinking, thought is about designing a physical product or a service. Once a physical product or service is designed and accepted as fit for the purpose, the design phase is over. In software development especially in Agile way of working, the design phase never ends. Design is an ongoing endeavor. Here is no mass production of software.

In my point of view, Design Think is a very good tool if you are working under waterfall assumptions – requirements are pre-determined (sic!), designers and coders are two different sets of people, etc.
In the Agile way of software development, Design Thinking may be useful to conceptualize the solution.  Even here, testing of the concept using Design Thinking remains an illusion. In my view, instead of Design Think, the Lean Startup model is better suited for Agile way of software development. Lean Startup model takes into account the iterative nature of software development which is in the alignment of reality.

Am I missing anything!!!


Thursday, October 4, 2018

Feature Prioritization multi-dimensional technique


In my coaching engagements, I use a Feature prioritization technique based on five dimensions.
1.       Desirability in the Market
2.       Technical Risk
3.       Impact on Existing
4.       Urgency
5.       Feature Lifecycle

1.       Desirability in the Market: If you are following feature slicing technique, then initial feature is broken down into multiple small features. (Ref: Feature Slicing technique – Inspired from Lean Startup). These small features need to be constantly evaluated for release depending upon market response. Market desirability is measured on a five step scale:
a.       Must Have
b.      Should Have
c.       Could Have
d.      It doesn’t matter
e.      Do we need it?

2.       Technical Risk: Implementation of a feature always poses a technical risk. This risk might be severe or negligible depending upon capacity and capabilities of people on the keyboard. Technical risk is measured on five step scale.
a.       Commodity
b.      Done Before
c.       Known but Not Done Before
d.      Heard about it
e.      Unknown

3.       Impact on Existing: What is the impact of addition of this feature in the product? You should consider impact in business as well as technical spheres. The impact varies from catastrophic (We need to re write a big chunk of code) to none. Delay Impact is measured on five step scale:
a.       None
b.      Negligible
c.       Standard
d.      Major
e.      Catastrophic

4.       Urgency: Can you delay the release of this feature? The urgency to release a feature is measured on five step scale:
a.       Needed as of Yesterday
b.      Needed by tomorrow
c.       Standard
d.      Can start tomorrow
e.      Not in hurry
5.       Feature Life Cycle State:  A Feature can have life cycle independent of product life cycle state.  To incorporate life cycle state of feature, a five step scale is used:
a.       Thriving
b.      Growing Slowly
c.       Early signs of stagnation
d.      Stagnant
e.      Sun Setting
To incorporate all of five dimensions, I use radar chart



A Feature having maximum area has higher priority.

I find this technique most compelling when used with Feature categorization techniques such as Kano or MoSCoW models.