It is no secret that two-thirds of all software projects are doomed to failure due to overrun budget and schedule. It can be a challenging and intimidating task to find the right software business agency that can follow up on the project. At Reeinvent, we address this problem by focusing on client value as part of our way of working.
For us, it is important that everything we build adds value to our clients. Therefore, they are involved in every part of the process to ensure that everyone is on the same page, understanding and agreeing on that the right product is being built.
Pretotyping - understanding value
Using our Design Thinking we drill into and try to understand our client’s true needs which is key to building products valuable to their business. We verify this by pretotyping, building a mockup or faking the product, getting feedback from our client and users. Within days, using minimal resources, we’ll be able to confirm if this is what our client has in mind and also test if the product idea works as intended with users. This happens even before the first line of code has been written.
One classic example of pretotyping is how Jeff Hawkins, founder of the Palm Pilot, had an innovative idea in the 90s about a PDA, personal digital assistant, long before any smartphones. He knew that technically it could be built but he would need to spend tons of money, engineering and most importantly time to create a prototype. What if it’s a bad idea? What if no one would need the functionality?
To validate his assumptions, Jeff cut out a wooden block of the same size as the device he imagined. This way he could verify the shape and size needed for people to be willing to carry around such a device. The functionality of the wooden PDA was “implemented” with paper sleeves, simulating the device’s screen showing different views and functionality. Jeff used the pretotype as his digital assistant going to meetings, communicating with colleagues and in his day-to-day work. For example, whenever he needed to check his calendar or add something to his todo-list, he would pull out the wooden PDA from his shirt pocket and interact with it using the chopstick stylus.
This way, only by investing a short amount of time, he was able to learn valuable information about the form factor needed, that he mostly used a handful of functionalities (calendar, todo-list, memo and address book) and most importantly, that the PDA actually added value to his daily work.
The form factor and software design of the first Palm Pilots could practically be taken straight from the pretotype.
Deliver understandable value
Traditionally, software projects progress horizontally in a bottoms up manner one component at a time. The idea is to lay foundations before continuing up, e.g. building databases and finalize APIs before starting with the front-end. Drawbacks with this way of working are:
- Foundation components alone are hard to understand and don’t generate value for the client.
- The client won’t be able to give any relevant feedback on individual components like databases.
- We’ll have to revisit the component and test integration when the corresponding front-end has been implemented. Unfortunately, it’s common that the component needs to be changed and sometimes completely rewritten or thrown away.
A better way is to deliver feature by feature by working on parts of both front- and back-end. For example, a task could be to implement a certain use case. That means working on both the user interface and at the same time implement necessary back-end functionality to support that user scenario. The result, a feature that can be demoed and connected to client value, will be easier to communicate and feedback on.
For this to work, we expect our clients to be involved when working on the backlog and be part of the projects’ feedback loops, which is usually appreciated. Working closely with clients, our teams will not only be able to implement necessary requirements but also understand the big picture and be able to contribute with improvements, ideas and solutions, providing additional value.
Value by data
Understanding true needs and having tight feedback loops also makes it possible to implement logging, analytics and collect relevant data early on. This way we can answer questions about data valuable to our client’s business and evolve the product using our own data instead of guessing or looking at other people’s data. Knowing the core value and continuously incorporating measurable data points during the project also enables tools, e.g. A/B testing, guiding us to build the right product.
That is what we call Deliver by Value.