How often do you think a digital product or application fails? According to Harvard Business School professor Clayton Christensen, there are over 30,000 new products introduced to the market every year (physical and digital), and 95% fail.
While there isn’t precise data, it seems that more and more products are becoming available to the public every year. And while this number is growing, it also becomes increasingly difficult to become part of the select group of successes in this overcrowded market.
An important first step toward joining this select group is examining why it is that so many products fail, resulting in businesses having wasted a huge amount of time and resources.
In this article, we are not aiming to provide an exhaustive analysis of the reasons why these attempts don’t live up to business owner’s expectations. Instead, our focus is on a single critical aspect of software development: the importance of beginning with outcomes, rather than jumping to features.
So what exactly is an outcome? An outcome can be defined as a result or consequence of an action. In our case, it represents the desired measurable result based on changing an end user interaction with a product. An example of a good outcome is: “Reduce the user registration process to less than 70% of the current time by the end of the year”. An output, on the other hand, is just something we do, hoping that it brings success.
So why is focusing on features not the way to go? A simple answer to this question is provided by the Lean Startup Methodology: “Just because you can build it, doesn’t mean you should build it.” Focusing on features means building more “stuff” and hoping this will be of some use. This approach falls short because you risk losing contact with the reality of the users and the problems you are trying to solve, becoming distracted by the process of building new features. Moreover, the digital product you are building may become cluttered with features that don’t offer any real benefit and could even be making the customer experience worse.
This approach can also result in the delivery team being measured by how fast more features are shipped, rather than their understanding of the problems they are aiming to solve. In contrast, being outcome-driven means the team has a proper understanding of their objectives. This empowers them to find innovative solutions that make a genuine difference.
In order to support outcome-oriented software development, Stefanini has embedded in its Next Gen Application delivery models key principles from different approaches and methodologies, such as: Design Thinking, Lean Startup, Agile and Growth Hacking. The main pillars of our approach are:
- Customer centricity
- Empowered teams
- Business and technical agility
To know what to build, we first need to gain a deep understanding of the problems and realities of the people who will benefit from the new digital experience, studying both the point of view of the business and the end users of the future product.
Since our approach is human-centered, this stage very important. It helps us to move away from our own assumptions about what the product or service should be and gives us the opportunity to understand the real needs of the end users.
Building a great product involves understanding how end users are trying to make use of a product efficiently and the barriers they face when doing so. This involves fully empathising with end users by uncovering their needs and desires, as well as knowing more about their environment and the way they are interacting with it. The perspective of the users helps answer critical business questions, including the potential value creation the product offers and the extent to which technology can act as an enabler of innovative solutions.
Finding the intersection between customer needs and business goals will guide us to define the problem we want to solve, validate the ideas and solutions we brainstorm, articulate the outcomes to reach and ultimately make a significant impact for the end users.
Once the problem has been defined, our team works collaboratively with the customer to facilitate innovation and encourage user-centered thinking when exploring solutions. At this stage, it’s important to begin “thinking outside the box” to find the most effective solutions, which make it possible to enhance business results, achieve objectives and deliver great experiences for end users. We then decide on the solution to pursue, conceptualize this and direct the work to achieve the desired results.
Creating the prototype
A successful prototype is much more than visual design. It’s about the processes and interactions that are modeled within it. Based on user research and stakeholder input, the initial mockup should cover the bare minimum while still following UX best practices. Whether it’s a wireframe or a digital mockup, prototypes are meant to be tested, evaluated, and replaced by something better. To this end, while we appreciate the strength of simple tooling to keep many activities focused and human-centric, we have the capability to make use of rapid prototyping solutions. These enable us to explore and enhance the interactions we envision, while receiving direct feedback from the actual users and stakeholders.
After the prototype is ready, it is time to validate ideas via a simple and cost-effective approach. Usability testing is a very good method that involves observing real people’s behavior. Using the prototype to test the product with the end user offers highly valuable insights, revealing both areas to improve and opportunities to explore, while validating that the product meets expectations.
Using Stefanini Dive and Deep Dive, we help our customers go beyond the surface, moving from understanding the problem to the delivery of the validated prototype. This represents a shortcut in digital transformation, by allowing a disruptive solution to be tried before it is launched, boosting knowledge and confidence around the launch.
To support outcome-driven development, Stefanini uses Agile Squads, which are built at their core as multidisciplinary and self-organizing teams, These teams act autonomously to fulfil the purpose of the engagement, using an agile approach through a development cycle known as Sprint, which is is always oriented towards outcomes. Building products in small increments encourages creativity and enables teams to respond to feedback and change, to build exactly what is needed.
By becoming features-agnostic, we encourage our teams to use their experience and skills to explore the solution space and come up with ideas and designs that lead to better products. This approach impacts the way the teams are doing their work, as the focus is moved from how much has been shipped, to how we impacted the end users with our release.
Our teams are managed using an Objective Key Result (OKR) framework, which aims to ensure objectives align with business goals and inspire and promote innovation. This framework introduces important benefits into our delivery model, including:
- Greater focus on results that matter by prioritizing the work that offers the biggest impact
- Better strategic alignment ensuring that everyone is moving in the same direction
- Increased transparency as a result of effective communication
Our use of with OKRs requires a clear definition of three accompanying dimensions:
- Objective. How far do we want to go or what do we want to achieve?
- Key results. How can we measure our success at realizing the objectives?
- Initiatives. What should we do to achieve the key objectives?
These metrics ensure our focus is on delivering value for the business, as opposed to being distracted by technical or conceptual deliverables.
Business and technical agility
Our approach to development and evolving the application is to quickly bring the best-validated solution to the users and continue to evolve it based on their feedback. Inspired by Growth Hacking techniques, we focus on scaling only the ideas that work before investing significant effort in these.
Gaining true insight into the effectiveness of a product also requires an efficient method to collect data. This can unlock the value of product analytics, providing a view into users’ interactions with your product. Without collecting feedback, outcome-driven development simply does not exist.
At the same time, there’s only genuine value in collecting feedback if it can be acted upon promptly. As a result, it’s important to use automation to speed up releases. The goal is to automate everything that can be automated, enabling a faster response to customers’ feedback. To be able to quickly react to change and to be agile, a proper continuous delivery pipeline is a must, alongside an ability to deploy quickly, at any time, which is key to improving the “time to user”.
One of Stefanini’s key differentiators when we talk about technical agility comes from our internal solution for DevSecOps.
InfinityDeploy is the Cloud Native Stefanini development platform. The goal is to support software and cloud engineers in the development process, ensuring delivery quality, security, cost optimization, and compliance throughout the application lifecycle, all backed by a DevSecOps pipeline.
InfinityDeploy can be understood as an “as a service” DevSecOps platform, where the following pillars are managed in their entirety:
- Agility. With custom steps for each environment, the implementation of each microservice is automatic from the approval of the delivery, and can be completed within five minutes
- Compliance. All changes in any environment are traceable, approval steps are required, and customized. Security coverage is done in code and dynamically in the service provided
- Cost. Orchestrated on cost-effective Spot Instances, and integrated with open source and automated solutions to increase productivity, there are measured savings of up to 72% in cloud costs and 27% in productivity costs
- Standardization. With a modern and flexible standard, InfinityDeploy can be integrated with any cloud provider or even for on-premises, Kubernetes-based deployment
All our NextGen Applications delivery models are embracing the concepts of outcome-driven development, value for the customer, time to user, modern management and delivery practices. They are connected not only with the expressed customers’ requirements, but with the business needs and end user expectations and feedback. Contact us, if you want to learn more about our NextGen Application delivery models.