Custom software development is built in trusted cooperation between business owners and technology experts. IT teams actively participate in forming business models, building the main product of the company, formulating the offer, and picking the most suitable targeting niches. The software development project starts long before the first code line is written, and it doesn’t end with the last one.
Working with startups and corporations, we learned that choosing the right cooperation model for the project is the foundation of new product development. We asked our experts to share their experience of picking the optimal financial model for the project and building a cooperation system. Here’s a full Syndicode’s guide to a new product development process.
What do business owners need to develop a new software product
Successful development starts with a product idea. At some point, a product owner finds an issue that hasn’t been solved on the market yet. The founder usually sees in the concept the potential of being financially successful and wants to execute this vision. Getting to this stage is already a success — but what’s next? After you’ve got the next big idea, you need to find a team.
- Determine a cooperation model. You need to know how you want to cooperate with developers and testers — is it a long-term project or a one-time task, how is the team billed, and what are the success metrics? It’s important to define your expectations from the very beginning.
- Get a third opinion. Check ratings that are based on client reviews and independent evaluation. The standard industry’s sources are Clutch and GoodFirms — trusted firms that evaluate the development and design providers.
- Get a consult first. Many founders, managers, and product owners are overwhelmed when it’s time to look for a tech partner. Websites don’t always provide a good look at performance. To have more clarity, schedule consults with companies that seem the most promising.
Before you choose a technical partner, you need to educate yourself on the most common cooperation methods. Software development teams will offer you typical pricing models and financial systems, and it’s highly recommended to understand the new product development game before you go into meetings.
The most common cooperation types for software development
Software development teams can work as independent vendors who will manage the project on their own, with own manager, tools, and workflow — with no involvement from your side. Some business owners already have an in-house team, and they would want new specialists to work in connection with employed specialists. Others prefer short-term cooperation on the project basis instead of committing to long-term partnerships. Let’s see what cooperation models fit all these scenarios.
A dedicated team is a team of software developers and testers that work on your project full-time, entirely “dedicated” to product development. This team is fully independent of your in-house employees and management. Developers work independently with their product manager — business owners don’t have to oversee the project but they get regular updates on the progress.
From Syndicode’s experience, a dedicated team is the most common and comfortable cooperation model for most businesses. Developers get the creative and organization freedom that allows them to develop solutions quickly and freely, to be the way they are used to, instead of wasting time to adjust to the company’s in-house practices.
For businesses, the benefits of a dedicated team are perhaps even more evident — just to name a few:
- The possibility to outsource technical work and can focus on other tasks;
- No micromanagement: business owners don’t have to check up on each development stage;
- Product owners don’t have to acquire knowledge or experience in software development, because teams are equipped with their management;
- The process is fast: you need to agree on expectations, metrics, and results, and the development will start immediately;
- Equally distributed resources: if you have your in-house development team, employed developers can focus on another task; together with a dedicated team, they will be completing twice as many tasks.
At Syndicode, we ask product owners to participate in the initial planning stage, where we define the project requirements and scope, discuss deadlines, metrics, and outline the workflow for the entire project. After that, the amount of control over the project is fully up to clients. Some like to communicate with the team every day and even get follow-ups on developers individually, whereas others prefer to get weekly reports instead.
Staff augmentation implies that developers join your in-house team to work on a new or existing project. In this case, they usually cooperate with your manager, use your tech stack, and adjust to cooperation methods. Developers still share their expertise and can offer new organizational practices, but you have full control over the workflow.
When to consider staff augmentation?
- You want to improve the existing product, not develop a new one. The company has several developers who worked on the project for a long time, and it will be faster if new team members could consult them and learn from their practices.
- You want to avoid the pressures of recruitment and onboarding. Outsourcing staff augmentation doesn’t require you to hire an HR-specialist, provide an employee with long-term work scope, and integrate members into your full team. If you don’t have time, resources, or need for such long-term investments, staff augmentation is a simple solution.
- You want to control. We recommend staff augmentation for projects that deal with sensitive information (medical records, financial data, confidential documents) or expensive innovative technologies (deep machine learning, robotics, etc). At such a higher-end project, product owners often prefer to be always updated on the progress.
In our experience, staff augmentation is a perfect cooperation model for middle-size teams that have software development experience and an established in-house team. Usually, such businesses are satisfied with existing development practices and would like to keep them in new projects.
The client receives control of the most important aspects of development, while all the most time-consuming factors are the provider’s responsibility. This model is the definition of having the cake and eating it — you get control, but not the headache.
Pricing models: Fixed Price vs Time & Materials
The new product development starts with determining how and when the team will get paid for the work. There are many approaches to software development billing, but the most common ones are the two: Fixed Cost and Time & Material.
The service signs the contract with the product owner where the two parties define a fixed amount for the completed work. To create such an agreement, the business owner needs to discuss project requirements, needs, rates, and deadlines. This estimate will be precisely followed by the development team, regardless of the project’s changes.
Use cases for a fixed price
Business owners have experience in software development and know what to expect from a particular project;
- The product has limited functionality and simple interface (a microservice, MVP, SaaS);
- A small budget that doesn’t accommodate additional spendings.
In this model, the development team is billed on an hourly basis and the cost of materials (communications, hardware, tools). We still make precise hourly estimates, so clients can know how much money they are likely to spend, but these amounts can be readjusted anytime — to lower and higher costs alike.
Use cases for time and materials
- Complex projects where the team develops a complex product with versatile functionality and interface;
- Product owners don’t have a fully defined vision of the product, market, audience;
- Flexibility is a priority: business owners want to have a right to modify the project’s anytime instead of deciding all details upfront.
7 stages of the new software product development process
After the cooperation model was chosen and approved by the product owner and development team, it’s time to start working on the project. Syndicode’s projects undergo seven stages of new product development.
1. Idea generation
Product owners and companies look for new ideas, concepts, and problems to solve. To find the most successful insights, companies use:
- Internal resources. Employees are incentivized for offering creative ideas (this approach is actively used by Toyota and 3M);
- Customer listening. Social media analysis and market research help to identify users’ pains and needs. Sometimes brands directly ask clients for advice — Pillsbury gets new recipes from the winners of their Bake-Off.
2. Idea screening
During the idea generation stage, the team creates dozens of ideas, but only a minor percentage of these is worth executing.
- To sort through all available concepts, we create checklists where we analyze the functionality, complexity, originality, market’s stability, and feasibility of the project, etc.
- We make sure that our team and product owner’s company have the resources for executing the project in the best way. Sometimes, ideas are too ambitious and can’t be fully realized.
3. Concept development
Once we selected an idea, we refine the business model, requirements, target audience, functionality, and interface. The concept is an in-depth version of an idea with outlined positioning, financial and timing constraints, and expectations for the product.
When we were building Senden24, a German mobile delivery app, we researched the market, users’ preferences and competitors, to come up with the style of the platform. We had to define the concept before the actual development began.
4. Business analysis
To know what the product is, businesses perform concept development. To know, how to sell it, they need a marketing strategy. The strategy is broken into three key components:
- Target audience and market: how the product will be introduced to the users, what is the positioning, and profit expectation?
- Distribution: where will the product be promoted, what’s the initial price, and promotion budget?
- Goals: sales objectives, profit benchmarks, desired market share.
The concept and business model need to be tested with actual users. The new product development process starts with the minimal viable product — it’s a product with a basic interface and functionality that delivers the main features.
When our team developed Woobra, a web marketplace for suppliers, we focused on creating the main pages of the platform. Our developers and designers built the home page, landing page for suppliers, product search and listings, individual product pages, and lounge page with offers and discounts. After this basic version was launched, Woopra connected to real suppliers and tested the audience’s engagement.
6. Testing the product
User testing and interactions with clients real-time help businesses to understand how target groups see the product, determine if they experience difficulties with its functionality or interface, and see what can be added.
Our experts interact with users’ live and via video calls. The moderator follows users’ experiences, receives feedback on the product, and collects improvement suggestions.
7. Releasing the product
The last stage of the new product development process is product launch. Our team takes responsibility for product deployment, post-release support, and maintenance. We finalize the testing stage, make sure there are no technical issues and bugs, and publish the product. Product owners monitor the feedback — user suggestions make the foundation for the next development iteration.
Financial and cooperation models at Syndicode
At Syndicode, we work with various collaboration and financial models — the final choice depends on the client’s needs and project differences. Take a look at some of our released products — and our commentary on applied cooperation models.
InstaLinks: Dedicated Team
Our team developed a service that creates smart Instagram links that allow influencers to track their traffic, engagement, and audience. It’s a web service that creates landing pages based on Instagram accounts and connects them directly to Instagram profiles.
After discussing the scope of the project with the client, we decided to choose the dedicated team model. Because InstaLinks is a web software-as-a-service, we needed a backend developer, a frontend developer, a markup developer, and a product designer. The team was managed by Syndicode’s project lead, who was controlling the progress and briefing the product owner.
Hotelcloud: Augmented Staff
Hotelcloud is an experienced B2B software company for hotel rental. On the service, guests can book apartments and hotels on a particular location, according to a specific interest, or close to chosen attractions. It’s a very specific search of accommodation that relies on the type of experience that users are looking for.
Syndicode provided two Ruby on Rails and Ember Js full-stack developers who joined Hotelcloud’s team full time. Our experts improved the first version of the service, helped to create new UX/UI design for an admin panel, and improved the front-end of the website. Our developers participated in creating and executing a product’s roadmap together with other full-time employees.
CleanAgents: Dedicated Team
CleanAgents is one of the biggest digital cleaning marketplaces in Germany, founded in 2013. The project was basked with $62M investments in 2015 – the year when Syndicode developers joined the project.
We took the responsibility for many stages of the SaaS development: refactoring Ruby on Rails front-end code, building new features, redesigning the interface, testing the functionality, and maintaining the solution. Our team has quality new products in development, becoming a reliable partner of the company.
The right model for new product development
To determine which cooperation model fits your business and project, we suggest consulting software developers and analysts who can evaluate your concept, functionality, and niche. Experts can precisely determine the complexity of the project and choose the most fitting model.
At Syndicode, we start by analyzing our client’s expectations and ambitions for the project, identifying challenges, and estimating the duration of the cooperation. Product owners can take a look at our completed projects and full case studies to see what models we chose and why.