Solution Factory – How to get from idea to product in 9 weeks

No Comments

Digitization has been revolutionizing each and every business out there for the past few decades. It has surely a lot to offer in your business domain as well: a new customer portal to improve users’ satisfaction and help you reach out to a whole new group of potential customers, an automation platform to replace all the manual, time-consuming, and error-prone procedures in heads of a handful of experts with clearly defined, fully automated, and scalable digital processes, a modern data ingestion and analyzation platform to apply state of the art machine learning and artificial intelligence methods on your wealth of unused data, opening up the doors of new opportunities to your business – You name it!

As compelling as it sounds, there are often so many organizational complexities associated with new experiments, that make such adventures practically unaffordable for many small or midsize businesses. The computational infrastructure must be carefully planned and provisioned, the cost needs to be calculated and approved, associated risk has to be estimated, and a development team in possession of the required expertise needs to be established – to name just a few. Many cycles of planning, development, testing, and measuring need then to pass on before any customer insights can flow in.

The delayed nature of customer feedback in such constellations associates a high chance of failure to such approaches, due to a misunderstanding of the actual problem or misinterpretation of the end-users’ requirements.

Developing user-centric software products fast and reasonable

Solution Factory is a user-centric, fast, and reliable approach towards experimenting with new ideas and developing ground-breaking, innovative solutions. The idea and the user experience play the most central roles, around which everything else evolves and gets evaluated. In tight collaboration with domain experts and end-users, the customers are guided through the whole journey of confining the problem at hand, building a Minimum Viable Product (MVP), and evolving the MVP into a fully-fledged end-product.

Solution Factory is composed of three stages: Design Sprint, MVP Development, and Solution Development.

Design Sprint

The concept of a Design Sprint is based on the lean startup methodology. This methodology allows us to design disruptive business cases while keeping track of the risks in parallel. We define a business hypothesis (idea) and translate (build) it into code. Then we measure customer’s behavior (measure) and collect findings (data). This gives us an idea, which we can optimize afterwards (learn). This way, customers can be better understood and are integrated in the process of defining new hypotheses. This produces a conclusive chain of proof – of what works and what does not. Through iterative software development, new ideas can be quickly tested and “bad” ideas are discarded without losing customers or budget.

With new products, however, there is a so-called “The chicken or the egg?” causality dilemma: Without a ‘theoretical’ solution, no data can be collected, and without data, no new hypotheses can be generated. The Design Sprint approach takes a short circuit to bring end-users, domain experts, and stakeholders together, draw a clear picture of the extent of the problem at hand, prototype a solution, and learn from end-users before a single line of code is written. In the language of the lean software development, it learns directly from the business hypothesis (ideas), without much of data gathering.

MVP Development

MVP development stage starts right after the Design Sprint. It consists of six agile sprints of software development, one week each. Every sprint starts on Monday and ends with a review meeting on Friday, where new features are presented and the next sprint is planned. This stage ends after the sixth sprint, producing an MVP that is handed over to the customer. The MVP is a working application that implements exemplified key aspects of the final solution and is useable by end-users. There are then two weeks of break, during which the MVP is thoroughly evaluated by the customer. Also, the decision is made, whether to proceed to the next stage or to rework the hypotheses and iterate over the idea or the MVP.

Solution Development

Solution Development stage is to convert an approved MVP into a final solution and bring it into production. The objectives at this stage are to find out what inherently distinguishes solution from MVP development. With MVP, the goal is to build a minimal set of features that enable the customer to experiment with the idea itself. To achieve this goal during the limited period of six weeks, a healthy amount of technical debt is consciously allowed in the MVP. In Solution Development after that, not only new features are developed, but also the technical debts are iteratively reduced and the MVP is grown up into a production-ready solution.

Success Story

Judging from our experience, Solution Factory is one of the most effective models for approaching new projects and experimenting with new ideas at minimum risk and maximum customer satisfaction. In the following, read about how Solution Factory helped one of our customers to tackle major problems in its customer onboarding process.

Problem

Our customer, one of the biggest in its sector in Germany, is legally obliged to go through a complicated onboarding process for new customers: various pieces of information need to be gathered, different legal aspects need to be secured, and contracts need to be signed between multiple service providers. The process spans over multiple participating beneficiaries and takes many weeks before it can eventually be finalized.

To overcome all these complications, the customers had to be taken care of in person. They used to be walked through the complete process by an employee, who continuously had to track the progress and keep contact with the customer, reminding him of missing information and the outstanding deadlines. On the one hand, this manual process used to extremely increase the effort on our customer’s side. On the other hand, the inefficient communication and the confusion associated with it used to slow down the entire process,  increase error rate, and damage customer satisfaction.

Solution

A group consisting of a Design Sprint coach, a user experience (UX) expert, a user interface (UI) designer, and a software and cloud architect was established. The customer’s technical experts, as well as a representative group of end-users, were invited to join us for a week of Design Sprint in our codecentric office in Karlsruhe.

Monday was dedicated to understanding the domain and the problem at hand. The domain experts were asked to describe how they evaluated the current situation and where they saw the biggest pain points. The team actively participated in the discussion by asking questions and gathering points. The outcome was then processed in the group and formalized into a concise description, which defined the target of the Design Sprint. The collaborative work on monday proved to be extremely valuable for the whole team, as it clearly defined the scope of the Design Sprint and helped to establish a common language between the domain and the IT experts.

Having identified the problem , Tuesday was devoted to exploring the solution space. Each participant was asked to gather ideas and draw sketches of how a potential solution might look like. These sketches defined the building blocks of the final solution, which was yet to be found. They were presented to the team at the end of the day, leaving out the discussion and evaluation for the next day. On Wednesday and Thursday, the sketches were evaluated and the ideas behind them were combined into a final proposal. The proposal was then converted into a click-dummy prototype which mimicked the complete user journey without any real implementation.

Friday was the last and the most exciting day of our intensive week of domain knowledge transfer, discussion, and ideation. Although we had a proposal at hand, there still was no guarantee that it would really meet the requirements of the end-users and fix the initial problem. On Friday, five separate interviews were organized with target-users of the product. They were well-aware of the current situation and its deficiencies and were about to see our proposed solution for the first time. Each interview took around 45 to 60 minutes. An interviewer described one or more tasks that we wished to have facilitated. The interviewee was then asked to try and achieve the tasks using the prototype while thinking loudly, describing what she perceived, and stating if the perception matched her expectation. In the end, the user was asked to rate her overall experience. The whole interview was carefully observed by the team.

On a scale from 1 to 10, with 1 being the least and 10 the most satisfying, our prototype achieved an average of 8.5. Interestingly, all interviewees asked about when the product would be available at the end of their interviews. This was clearly a success and the green light for the transition to the next stage.

Result

A customer management portal is conceived. It models the complete onboarding process of new customers and enables users to self-manage their products at any time without the need for manual intervention. The user can request new contracts, track the progress of the existing ones, and determine their next open tasks to fulfill. The portal tracks the progress of all contracts and walks customers through all necessary steps. Automatic reminders ensure that no deadlines will ever be overseen by any participating party.

During the six upcoming weeks after the Design Sprint, an MVP was developed at codecentric AG in tight collaboration with the customer’s domain experts. The MVP was then evaluated and has been further developed into a final solution over the course of the past twelve months. The development team consisted of a software developer and architect from Karlsruhe office, together with two full-stack developers from codecentric’s Banja Luka office in Bosnia, and a designer from codecentric partner UX&I from Düsseldorf. For an optimum team building, the bosnian colleagues spent the first three weeks of MVP development in Karlsruhe, and have been working remotely since then. They were in constant sync with the rest of the team through ad-hoc communication and regular meetings. Despite the distributed nature of communication, the teamwork proved to be effective and the performance was consistently high. Thanks to cloud-native and serverless architecture with continuous delivery, the stakeholders were tightly involved in the complete development process, feedback cycles were extremely reduced. Also, infrastructure and operation costs were minimized.

Conclusion

Classical software development is often very slow in terms of getting customer feedback and adjusting the outcome accordingly. This increases the risk and the cost of conventional approaches enormously when generating hypotheses and experimenting with new ideas. Solution Factory offers a new approach to developing fast and reliable user-centric software products. It boosts disruptive innovation inside organizations by minimizing the risk, cost, and feedback lifecycle.

If you want to learn more about our concept Solution Factory and how it might help your organization, feel free to contact us.

 

Avatar

Mahdi Ebrahimi is an IT consultant at codecentric AG in Karlsruhe. His main focus is designing and implementing cloud-native, resilient, and scalable distributed systems.

Achim Nierbeck

Achim Nierbeck works as solution architect and branch manager for codecentric AG in Karlsruhe.
He has more than 15 years experience of working in the field of Java Enterprise. In the last years he focused on working with Big- and Fast-Data architectures and Apache Cassandra.
In his private time the Apache member serves as PMC of Apache Karaf and is the Lead developer of the OPS4j Pax Web project.

Comment

Your email address will not be published. Required fields are marked *