How to Build Digital Products: Three Approaches
Originally published in June 2020
So you have a plan for building your awesome digital product. You’ve done all your market research. You might have even selected the technologies that you would like to use. What’s next? As the famous saying goes, there are ‘many roads to Rome’ and you likewise have a number of options when it comes to choosing the way in which your digital product gets created.
In the blog post below, I wanted to show you the approaches that we commonly use at 10Clouds, which will hopefully give you a better understanding of how we would work with you. Remember that a lot depends on the nature of your business and your product, as well as the existing resources that you may or may not have at your disposal.
Regardless of the project type, we always adhere to the Manifesto for Agile Software Development which stresses the importance of individuals and interactions, of collaboration, responding to change and producing working software that has value for your business.
Managed projects Vs Staff Augmentation
When evaluating the tools and resources that you might need to build your digital product, one of the first decisions that you might make is whether you want to go down a standard product development route, where you hand over your product development to a chosen specialist agency, or whether you select staff augmentation instead.
When might staff augmentation be the right choice for you?
In a nutshell, staff augmentation is the use of outside personnel on a temporary basis to augment the capacity of your organization. This might be because you want to enhance specific skill sets, backfill roles, or you need support with a particular stage of your product journey.
Obviously, it’s vitally important to select your staff augmentation partner wisely, and you should do so based not only on their experience and technical expertise, but also their cultural fit. If you would like to read more about the criteria that you might want to use for selecting a staff augmentation partner, you can do so in our article here.
Types of Managed Projects
If you’ve decided that the staff augmentation approach isn’t right for you or that you do not want to be responsible for all aspects of product development, we recommend one of the two managed projects approaches, 10C Agile or 10C Prioritized Scope. We’ve outlined the key features of both below.
Update July 2021 - For 10C Agile projects our Product Delivery Managers are also collaborating with the Product Owners to properly prioritise and organise the work, which is why we phased out 10C Prioritized Scope as a separate project type.
We base both of them on the leading Agile framework, Scrum, which focuses on splitting the work into short sprints aimed at delivering new increments of software. Our sprints are usually two weeks long. We work closely with you to plan which features to include in development and how to implement them. We strive to deliver a testable piece of work every sprint.
On 10Clouds side, you’re getting not just the development team, but also the Scrum Master, who will support both the team in development and you in backlog management, to ensure that the work performed is bringing you the value. He or she will also provide transparency around the work progress.
In both 10C Agile and 10C Prioritised Scope models, the software development process utilises Scrum principles and practices that allow optimal performance and cooperation between all parties involved in any project.
1. 10C Agile Approach
In 10C Agile, we are fully utilising the advantages of Agile approach and the flexibility it provides. As Product Owner, you will define and together with the team refine the tasks, and arrange the functionalities in sprints. You’re able to quickly react and adjust the scope of the product to your changing needs, with the progress clearly visible each sprint. Together, we’ll cooperate to deliver the project goal, even if the specific details and functionalities will be modified as the project progresses.
We consider this model to be best suited for situations where the scope is not fully known or when the scope is described on a high level only and not all acceptance criteria are well known.
2. 10C Prioritized Scope
Our prioritized scope approach is based on Scrum, just as 10C Agile, but additionally uses the MoSCoW approach to formalise backlog management.
MoSCoW is a prioritization method in Agile project management. It aims to avoid a situation in which the requirements are not properly set from the start, or are set, only to later find that the customer needs have not been fully understood.
MoSCoW stands for: ‘Must,’ ‘Should’, ‘Could’ and ‘Would’.
- M - Must have this requirement to meet the project goals
- S - Should have this requirement if possible, but its not essential for the success of the project
- C - Could have this requirement if it does not affect anything else on the project
- W - Would like to have this requirement at some stage, but it doesn’t have to be now.
We believe that a healthy backlog should have a limited number of ‘Must Haves’, ideally forming no more than 60% of the total tasks. The remainder should be formed of a combination of ‘Shoulds’ and ‘Coulds.’
Before the project, we’ll collaborate with you to define and understand the backlog, in particular Must Haves which will be delivered. The contract will be aimed at finalising the Must Haves, therefore they need to be understood in detail. Should Haves and Could Haves may be delivered within the time/budget, however it’s the Must Haves that are the core scope of the project. So during the project, you will have slightly less flexibility to change the direction than in 10C Agile, as the Must Haves should (mostly) remain fixed.
This approach is recommended especially if the delivery timeline or project budget have some constraints, but there is flexibility around parts of the scope.
So which is best for you?
To summarize, staff augmentation is most useful when you have a team and a process and you just want to fill in any missing resource or skills gaps; Agile is for when you do not have full clarity on the details of what to deliver, while Prioritized Scope is for when you have constraints (for example fixed deadlines) but you are very confident about the ‘musts’ in your scope.
The 10Clouds team will support you in determining which model is best for you, so that you can build your product in the most sensible and cost-efficient way. During the cooperation throughout the project,we will focus on providing you with value and building a product with you that will closely meet your business needs.