Software development

Boost product development by investing in quality, transparency and roles

twoday 27.09.2022

In our previous blog post, we explained how good and suitable management can help software development run smoothly without any unnecessary delays and result in end products that receive praise from customers. We have already dealt with management through customer value and optimising the flow of product development. Now is the time to address the following themes: quality, transparency and measurement, as well as assigning roles in the development project.

QUALITY CREATION BUILT IN TO THE PROCESS


The quality of the solution can be influenced by many different means. Product development organisations often rely on tools and practices to ensure quality. Quality is something that cannot be installed afterwards. Instead, quality is created in the process of developing the solution. 

Modern product development focuses on a continuous delivery model (“CD, continuous delivery”). This means automation and continuous integration of the various parts of the solution under work (“CI, continuous integration”). Both approaches speed up the detection of quality deviations. At its fastest, the product development organisation can create several production installations a day, each having passed automated tests.

It is also common and proven practice to peer review the source code, which improves the quality of the product and provides learning opportunities for developers. Traditionally, the idea has been that a more experienced developer reviews the results of a junior developer’s work, but the team's juniors can also find valuable perspectives and give constructive feedback to the more experienced team members.

Of course, some of the review process can be automated with tools, but often the most important thing is to increase interaction within the team and build a common understanding of the product at hand. Reviews should also be carried out as early as possible while programming work is still ongoing. This way “load-bearing structures” can be modified in a more agile way. If everything has already been coded, you might end up just fixing the small things.

These tools and practices allow the factors affecting quality to be taken into account during development, and a high-quality line of code will eventually be accumulated into a high-quality release. This way the customer and the end user are also likely to feel that the end result is of high quality and you will receive more positive feedback than negative.

CREATE TRANSPARENCY TO PRODUCT DEVELOPMENT WITH OPENNESS AND MEASURING


Openness or transparency in product development can be improved by creating practices on how to distribute information to those who need it. With the help of modern tools, data sharing and visualisation is easy, as long as you know what data you want to share and how you want to share it. The challenge is that different stakeholders are interested in different issues, and product development as a whole must be able to provide information in a timely manner, and at the right level. This is not exactly an easy problem to solve.

Openness in planning means that different stakeholders and customers are involved in the planning process at an early stage and the work is carried out together instead of keeping others completely in the dark. The same applies to product development: you can plan and agree with internal stakeholders what you will do and also deliver what was agreed. Joint planning events are common when developing large-scale solutions. At these regular events, people from business, product management and product development get to meet each other. 

Increasing transparency in concrete operations can be achieved, for example, by giving access to different product development queues, i.e. backlogs. Usually, you can use the same tool to see what you are working on, how those things are progressing, and what happens next in product development. 

Without measurement, it is not possible to know how product development is going, so this point should not be overlooked. There are indicators for several purposes. Generally, teams and stakeholders want to know how much work the teams can take on based on the team's delivery capacity. The only way to determine the delivery capability is by systematic measurement. Fortunately, tools offer ready-made models for this, so you don't have to start from scratch.

RELY ON STRONG ROLE ASSIGNMENT IN PRODUCT DEVELOPMENT


The idea of self-management has arrived in product development organisations along with agile methods. When you first hear about it, self-management seems like an easy way to organise your activities, but in reality it is something completely different. To achieve self-management at team level, the organisation must set boundaries within which the teams can self-manage, so that the end result will not be an uncontrollable chaos. 

Without clear boundaries, self-management is easily misunderstood and employees direct themselves towards things that do not necessarily produce customer value. When the framework for self-management is clear, everyone knows what they can influence in a self-managed way, and they also respect the boundaries of others. In an organisation where operations are well aligned, people know what decisions they can make on their own.

A good example of a strong role assignment in product development is that the product owner decides on the content and the development teams decide on how the content is implemented. The importance of the role of the product owner and investing in it can rarely be emphasised too much. Whether the development team is a “ticket factory” or an independent responsible operator will in turn have a decisive impact on the team's success. When developing large entities, things are led from the company's strategy to the roadmap and, sooner or later, to the product backlog. The actual implementation work is supported by documented design and implementation principles and, at best, a well implemented Design System. 

The success of product development starts with understanding the customer's needs and producing genuine customer value. By choosing the right methods and tools, it is possible to optimise flow and ensure that quality is created and maintained at all stages of product development. Clear roles and outlines help to maintain focus in value-producing work. When these ingredients are combined with an open and transparent operating model, the result will be a successful product.

Do you need customised software solutions? Leave us your contact information and we will be in touch shortly.