“If you are not embarrassed by the first version of your product, you have brought it to market too late”. This quote from LinkedIn co-founder perfectly captures the importance of being agile in the new digital economy. In the age of digital transformation, having user feedback as soon as possible enables better market adaptation and higher competitiveness.
The data product
A digital data product solves business challenges through the use of data. It integrates three components: technical infrastructure, business logic, and data. A data product can save costs, as is the case with predictive maintenance products, or increase sales, e.g. B. with a personalization engine for e-commerce shops. Like all digital products, data products are evolving with new functionalities, using more data or employing more software. In any case, the complexity of software development is compounded by the difficulty of data analysis. Both dimensions of the digital product need to be integrated so that the way the data product is built combines the best of both worlds.
Use of technology designed for more speed
The public cloud is the new paradigm of technology consumption. It provides computing power, storage, databases, and other functionality on demand and a pay-per-use basis. Both digital native startups and large multinational companies use the public cloud to accelerate the delivery of their products and services. The primary public cloud platforms on the market are Amazon Web Services, Microsoft Azure, and Google Cloud Platform. The scope and depth of services and reliability and innovation are the main criteria when choosing one cloud platform over another.
Creation of software with agile methods
Software construction has evolved in recent years thanks to DevOps techniques that enable faster build cycles with fewer errors and better traceability of software state. However, many companies continue to conduct projects traditionally, with long cycles of requirements gathering, design, and testing. The traditional construction of software often mismatch user expectations as market conditions, customers, or the business evolve and change during software development. Agile methods prioritize getting early feedback and delivering functionality to users at shorter intervals. The product is built incrementally and iteratively, and there are frequent deliveries, which are placed at the customer’s service from the first moment. The delivered product is usable for the customer and offers end-to-end service. The product grows around users’ needs: continuous feedback flowing into the product optimizes its value and reduces the risk of investing in features that are not of interest.
The priority is to create a Minimum Viable Product (MVP) and quickly make it available to users, choosing at any given moment the functionality that best meets market demand. Optimizes its value and reduces the risk of investing in features that are not of interest. The priority is to create a Minimum Viable Product (MVP) and quickly make it available to users, choosing at any given moment the functionality that best meets market demand. Optimizes its value and reduces the risk of investing in features that are not of interest. The priority is to create a Minimum Viable Product (MVP) and quickly make it available to users, choosing at any given moment the functionality that best meets market demand.
The analytics skills
Suppose the digital product involves data processing and analysis, whether descriptive, predictive, or prescriptive. In that case, it is necessary to integrate different skills in the team: on the one hand, the software development skills, which are more deterministic and follow the DevOps processes; and on the other hand, data analysis skills that are more exploratory and experimental. Both skills must work together to deliver new features regularly, match the cycles of data exploration to those of software construction, and understand that ongoing experiments are conducted until the analytical part of the product is debugged. These experiments will be part of the software and will receive feedback from the users, just like the software’s functionality.
Avoid silos and frustration.
One of the main frustrations of software professionals and analysts is working within digital production lines. These production lines are intended to scale by distinguishing activities that start with data exploration and continue with data engineering, ingests and transformations, model development and training, visualization or delivery of the data through dashboards or other interfaces, and operation of the resulting product. The lack of visibility causes developers and analysts to feel frustrated because they don’t have a complete view of the end product goal and have to make a lot of mental context switches, moving from one product to another without any continuity. The best solution for this is product teams. Dedicated to a single product, these teams have the skills to deliver the end product and even operate it. In this way, the whole team participates in the feedback dynamic of the agile methodology and has a clear goal and total focus on the product. The size of product teams should be small. As Amazon founder Jeff Bezos said, the team should be small enough to be supported on two pizzas.
Scale through automation
The model of digital product design with agile methods and product teams is not without problems. Scalability is complex, as the number of teams must be multiplied by the number of products being built simultaneously in the company. Even products are so complex that they require separating development teams and using agile scaling methodologies. When many product teams work simultaneously, there can be inefficiencies, e.g. B. when a standard functionality between two products is created twice or when further development or production tools are used. Communities of practice are organized to bring people together who have shared skills, such as data scientists or software developers. In these communities of practice, collegial decisions are made that ensure a certain degree of homogeneity but do not slow down the progress of the products.
On the other hand, Shared Service Centers create reusable artifacts that implement standard functionalities for the projects, such as security and authentication, auditing, etc. These artifacts are made available to the product teams via vending machines in a way that serves to accelerate the delivery of values and, at the same time, create a certain degree of homogeneity. The Catalog of Reusable Artifacts is a digital product in its own right and the teams that create it.
The most competitive companies on the market choose to use digital products because they strengthen the ability to customize and flexibility, understand the success of software development as continuous improvement of business parameters, often provide added value to the user, and invest only in what makes economic sense worthwhile and valuable. They use the most versatile and flexible technology: the public cloud; they build digital products instead of executing projects and scale through automation techniques and agile methods.