Flow has different levels depending on long or short term. The long term guidance impacts the short term decisions. We need guidance in form of Purpose, Mission, Vision, Strategy, Objectives, Cadence & Synchronization. We need management of the actual flow in form of features/stories, Sprint goals, prioritizing work, limit work-in-process, etc. This article is about the higher/long term level guidance.
Dream (vision and mission)
People are highly motivated by contributing to something that is greater than themselves, something that has purpose. One of the most prominent questions people ask when they’re requested to do something is: why? Being able to answer it can highly motivate people, on the other hand, not or insufficiently being able to can seriously demotivate and disengage people. Purpose is something that never ends, doesn’t have a deadline, and enables performance and satisfaction. For people to be motivated by it, they of course have to believe in it (in line with their personal purpose) and believe its genuine.
Inspiring purpose can be found in applying new technology and innovation for creating new jobs and new ways to keep people fit for their jobs. Think about exoskeletons to support people doing heavy lifting, beamers or other forms of augmented reality to support the disabled into handling more challenging tasks. Other examples of purpose are: “accelerate the world’s transition to sustainable energy” (Tesla), “make the world healthier and more sustainable” (Philips Healthcare), “make it easier to find high-quality information on the web” (Google), “preventing the destruction of ocean ecosystems” (Ocean Cleanup), “make people happy” (Disney), “create a better every day life for the many people” (Ikea). So, what is the purpose of whatever you are trying to accomplish?
Where purpose is about why you do something, a mission is about what you do and for whom. In addition, it can also state the benefit or benefits provided by the organisation. Some examples: “To be one of the world’s leading producers and providers of entertainment and information, using its portfolio of brands to differentiate its content, services and consumer products” (Disney), “Dedication to the highest quality of Customer Service delivered with a sense of warmth, friendliness, individual pride, and Company Spirit.” (Southwest), “To help people around the world plan and have the perfect trip.” (TripAdvisor). So, what is it you’re truing to accomplish and for whom?
Dream, visualize, realize
“There is no favorable wind for the sailor who doesn’t know where to go” – Seneca.
Most organizations have a strong focus on the product, especially around committed deadlines. The needs of the organization then tend to move to the background. And somehow, there’s always a new product and a new deadline…
All would benefit from a balanced and sustainable approach: a High Performing Organization delivering High Performing Products. Both are guided by a dream (vision and mission), made tangible through KPI dashboards, and realized via strategic goals and roadmaps. It’s about clear direction and understanding what you might have to face getting there , and while knowing this, still be willing to undertake the journey. Your success depends on it.
Perspectives and KPI’s
Many stakeholders are involved. The three main stakeholder perspectives are customer, employees, and business. They’re all people, they all have their own way of looking at reality and what matters to them, and we aim to satisfy them all.
- Customers are those at the receiving end, which, for development, is the operational value stream. They are “X” in what’s commonly known as DfX (Design for X). Marketing, sales, sales engineering, supply chain, installation, usage, maintenance, dismantling/recycling. What they need is a development organization with a high level of service delivering high quality products.
- Employees are basically those doing all the hard work. They design, build, test, learn, innovate, etc. They want to be proud of what they deliver (craftsmanship), work on something that matters to them, have fun doing it, etc.
- Business are those looking out for the financial health and continuation of the organization. They care about return on investment and growth, how robust and responsive the organization is to changes, etc.
Of course, there are strong relations between them: happy people produce more and better, happy customers buy more and make proud, happy business invests in people and customers.
As Daniel Ofman points out, “the difference between what you want and your currently reality results in creative tension”. This means we have to find out what are current reality is and set targets for where we want to go to. Some examples:
As Deepak Chopra said: “What you pay attention to grows”. So, we better make sure to pay attention to the right things. Also, we have to keep in mind that we are changing a system, a complex adaptive system to be precise, and this requires a systematic approach. If you don’t, you might end up with local optimization and unbalance which can be bad for the entire system.
Trade-offs and keeping the balance
Wouldn’t it be nice to develop the best and cheapest product in record time at low cost and limited risks? Typically however, we need to balance a trade-off between certain factors. For instance, reducing development time might lead to higher (initial) product and development cost, or risks like recalls and reputation damage. On the other hand, investing in a high quality development approach can lead to improvements on multiple or even all aspects. For instance, after the initial investment, model based design can lead to faster development, lower development cost, lower risks, lower product cost and better value for the customer. The key phrase here is ‘ initial investment’. It requires time and effort to get a return on the investment. Also, if everything you do is a one-off, you get a different investment profile then if you do series or mass production (with or without mass configuration).
Finding the right Trade-off requires continuous attention and tuning at different levels (enterprise, business unit/market segment, product, …). One has to observe many influencing and changing factors like market (what are customers needing/expecting), competitors (what are the others doing), culture (what fits our purpose), legacy (what do we have, how and how fast can we change), environment (can our suppliers follow, compliance and legislation, climate).
Strategy is a high level method or plan to achieve one or more objectives. Depending on how difficult it is to predict the future, it remains more or less static. A development strategy is basically a high level answer on how to deal with (varying) circumstances and is usually a trade-off.
When speed and responsiveness play an important role, the development strategy should take this into account. Part of the strategy therefore could be applying a generic approach like lean-agile as in FlashDev™. For a specific market or product, the strategy may need more details and fine tuning. The strategy should also support a sustainable product life cycle by ensuring a healthy mix: of “question marks, stars, cash cows, dogs”, of long term vs short term, of business vs improvements. For more information please read the Goal.
A big factor in the strategy choice for agile hardware is the cost of change (CoC). For every change we make, we need to spend time, budget and effort. As development proceeds, the Cost of Change typically rises (more dependencies, more details to update, etc.). For hardware those costs are higher for instance because we often need to manufacture or order something and then physically install an test it. To become more agile, it is important to lower the Cost of Change. For instance by using Model Based Design, rapid prototyping, rapid response suppliers, etc.
Objectives are long term higher level goals with a timeline of several weeks to several months. There are different types of objectives for product development. For example: a feature to deliver, a demo at a trade show, a pilot going live, a release for series production, etc. For objectives to match your cadence, it is sometimes required to split it up or make it smaller. Objectives can be used to deal with long lead times in hardware and complex systems development, which of course should not become an excuse to stop trying to reduce lead times.
Products, especially when hardware is involved, go through several phases of maturity. These are related to mitigating risk for technical feasibility, market introduction, start of production, etc. and obtaining business value like early market penetration, revenue, etc. As we want to build and deliver incrementally and literately, we only build what we need for a certain phase in relation to how much risk we are able and willing to take (entrepreneurship) and value we want/need (e.g. funding to continue). This means that compliance also grows incrementally and iteratively. For instance, safety measures and technical documentation only need to be created if needed for a certain phase and only up to the level needed.
Passing a phase should not lead to delays because of batching. To avoid this:
- Make the decision based on minimum required (fit for purpose) and preferably objective evidence. Hence the use of MVP, MMP (see below for explanation)
- Use a short cadence, like every 2 weeks, to review (demo) and make decisions.
- Have some leniency so work on a next phase can start early (like preparations work).
Frank Robinson (SyncDev) first introduced the term MVP (Minimum Viable Product) as part of the synchronous customer and product development strategy to prevent ‘design freeze’ before customer engagement (later adopted by Eric Ries in The Lean Startup). Meanwhile, several forms of MVP have been introduced like MVP onion by Eddie Kenny where you can find an outstanding explanation of MVP, MMP, etc.
Some design decisions have severe impact, they require substantial investment before being able to verify its feasibility. When we “bet all our chips on a single hand” and we face technical difficulties or changes in conditions, we might have to start all over again loosing valuable time. One strategy to avoid that is using set-based design, meaning we keep multiple options open. As we go, some options will be dropped, and some will be developed a bit further. This requires an additional investment and continuous trade-off decisions (how big is the risk, how much can we invest, how much time can we loose, etc.).
Cadence & Synchronization
One important way to reduce complexity is cadence. A stable rhythm on which events take place for either planning, delivering, discussing, etc. It helps to make product development a bit more predictable in a sense that things have to fit in a ‘cadence tick’ and pre-planned events where synchronization takes place instead of ad-hoc meetings. For hardware development it helps to have 2 levels of cadence, one for the short term goals and one for the longer term objectives.