| SPHERE OF INFLUENCE, INC. – software designers |
| Thad Scheer |
Organizations today seem more interested in compressing development timelines than anything else. As well they should. Time to market rules!
In our push to red-shift product development we can't sacrifice quality or innovation. In fact, we need to maximize those.
All special considerations aside, the ideal amount of time for most new product development (software) is at most about 10 months.
Assuming that sounds desirable, how do you do it?
The first trick to going fast is to fix slow. We've done a lot of studies, including a recent customer funded review of a large portfolio of projects, some good and some bad. The #1 cause of slowness is directionlessness (not a word, but you get the idea). Project teams that have a clear idea of what they are building make good steady progress. Project teams that don't have that clear idea tend to thrash, churn, and struggle. The result is pretty much the same with or without Agile.
Many of you know about the famous Toyota Product Development System (TPDS - not TPS). Years ago Toyota was the first to compress automobile design to 2-years. More recently they got development down to 1-year. Today they are at about 10 months. For a car!
That’s only half the story though. Here's what the headlines don't say when Toyota brags about its famous red-shift product development: The 10-months begin after a "style freeze" phase gate. The creative piece, i.e. the "front end innovation" is not counted as part of Product Development. In fact, Toyota does not publically discuss how much time their projects spend at the front end. They appear to have two product development management systems in place; one for the front-end and another (the TPDS) for the back-end.
The world's red-shifted organizations have several things in common, but mostly they have separate Design and Development phases and are able to fly though the "Development" phase. The problem with most software projects (especially with Agile) is that the entire project is essentially Development. With no front end it's basically a crapshoot whether a software team will have clear idea where the product is going.
In the old days (Waterfall) we had a design phase, but it was the wrong kind of design. Sure, product design took place in that phase but activites more often focused on technical design and the results exhibited all the pitfalls commonly cited for Waterfall. The outputs were "specifications" not game-changing curve-jumping culture-defining market-satisfying ideas.
Two things that Agile does not fix: Time to market and innovation. I suppose it can't fix stupid either, but that's another problem (thanks Larry the Cable Guy).
Agile is without a doubt the best collection of practices available today for developing software. However, Agile (defined loosely as the contemporary fusion of XP and Scrum practices) can often fail to get a project pointed in the right direction, mostly because Agile doesn't address front-end innovation or product design. Agile is a production practice, not a creative practice. Game-changing curve-jumping culture-defining innovation remains a scarcity even with Agile because people's attentions are fixated more on building software than on ethnography, ideation, experimentation, and Design. Though you can do those things within an Agile iteration...they completely disrupt the productivity of Development.
Red-shifted product development starts *after* you know what you are building. (I can already hear Agilists getting their torches and pitchforks ready). But whatever…this is how successful red-shifted product development shops work.
So here's the rub. If you want to go fast and red-shift your product development practice you will need to do a few things:
#1 - Separate the front-end from the back-end. We call our front-end "design innovation", you can call yours whatever you want. The front-end is about finding the right ideas, hopefully blending a bit of the unanticipated with the expected. It's about ethnography, ideation, experimentation, and Design.
#2 - Don't exit the front-end until the product concept "works". By works, we don't me that it runs...we mean that it is vetted, people like it, it's game-changing curve-jumping culture-defining market-satisfying. You can't vet what people can't visualize, so prototypes and tangible artifacts are really important. Avoid PowerPoint, it's "show me don't tell me time". You should only gate into development after you’ve made it clear what exactly you are building.
#3 - Keep headcount and burn-rate low until you gate into development, but be ready to hit the ground running. Keep your labor costs really low at the front-end, otherwise you'll get too much pressure from the top to gate out of innovation before you have anything cool.
#4 - Develop during Development. You're done with research and ideation, focus on building. 10 months and done! If you make major course changes during development we call that "thrashing". With a good front-end design process you'll still iteratively innovate and refine scope, that's what Agile does. However, the core personality of a product should be defined before Development starts. Make a qualified high-energy push-for-excellence person the "Floor Boss" and empower them to get things done right.
#5 - It's software, you don't have to do everything at once. Launch something innovative with good quality then update the heck out of it until it's perfect. If your updates are spaced out longer than 3 months then you are doing it wrong. If you can't knock out a major update every 3 months then start firing people until you can. And FYI, 3 months is becoming a long time these days...
#6 - Have a healthy relationship with requirements and specifications. There are parts of a product that are "Designed" and parts that are "Required". Don't write requirements for Design elements, but do have requirements where you need them. An example of a requirement is "the gizmo shall oscillate at a frequency of 3.21GHz +/- 1Khz". That's a requirement; independent, assertable, and precise. Design is softer. Design covers such things as how a user might get something she needs in a way that is intuitive, pleasing, useful, and efficient. Don't invest in Design then write up the results as requirements...that's just dumb. Err towards using Design over requirements when the choice isn't clear. Oh…and use people with some Design talent, it’ll go faster and everyone will be happier.
THE BOTTOM LINE
The first secret to moving fast is knowing where you are going. If you have a great product design process at the front-end then you can kick butt on the back-end. The goal is for Development to be smooth and linear. You won't get that from the aimless wondering of an Agile process any more than you can get it from the fat up-front System Requirements Specification and work breakdown structure of Waterfall. You need ethnography (lots of it), creativity, talented Design, and visual prototyping to unlock the front-end and pave the road to a 10 month (or shorter) new product development cycle.
Lastly, if your ambitions are big (like an Operating System) then you have no choice but to acquire technology from the outside. You won't finish in 10 months but you can at least finish quickly. That was how Apple OS X got done in short order, it was also how they got the iPhone done; how Microsoft did Xbox and Zune; the list goes on. You don’t have to build everything, you just need to build the parts that make it special and identifiable as yours.
And just when you think it can’t be done…look at the teams doing it. For example, the Expression Blend™ team at Microsoft - check out how much innovation they've shipped over such short intervals. It’s inspiring and motivating.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5
Tags:
red-shift,
speed,
fast,
development,
agile,
toyota,
curve-jumping
Categories:
Sphere of Influence