Having experience working with more than 200 clients, we can honestly say that quality, time, and money are the main factors considered when choosing a software development contractor. What is rarely considered is the form of cooperation you develop with the contractor. Choosing the most suitable form has an adverse effect on how much time and money will be spent before the product is launched and how of high quality it will be.
What are your options? Here, we inspect two key approaches that can be used for your development needs — Project development and product development.
Simply Put: Develop a Detailed Statement of Work and Follow-Up with Its Implementation
Project development is a linear process. It implies completing a set of tasks to bring a business idea to life, or reach a checkpoint on the way; such as the deployment of a feature or an update. You pay for a particular scope of work which is agreed upon beforehand and usually at a fixed price.
Main Benefit: Financial Risks Shifted To the Contractor
1) Your contractor assumes the risks associated with the development results and finances, thus leaving you to focus on your core business goals.
2) Apart from that, the team fully commits to finishing your project within a specific statement of work and budget. Regardless of technological advancements, political situations or any other external circumstances, the contractor is obligated to complete the agreed upon deliverables.
However, mind that the project duration, which is how much time will pass before the project is finished, is not “set in stone” before the beginning. If the development goes as planned, according to the documented specification, you can expect the team to deliver the project on time. But once a change request appears or any other interrupting factors enter the picture, you will have to sacrifice duration, as time and money spending is strictly fixed. Thus, project development is no good if time to market is of utmost importance to you.
Associated Risks: Lack of Flexibility, Higher Hourly Rates, No Participation in Team Selection
The most significant downside of the project development approach is a significant lack of flexibility. The fixed cost model, typically used in project development, infers a detailed documentation of the scope of work (SOW) prior to the start of cooperation. For both of you, the client and the team, any change requests are difficult to process, as any deviations will interfere with the budget and specification you agreed on. Along with high turnover and budget constraints, it can have unpleasant consequences, such as a failure to meet deadlines.
A project development team has 20–100 percent higher rates as compared to the rates of the team developing the product. The contractor is the one to undertake practically all the risks associated with development. Accordingly, the higher complexity and sophistication is present in SOW, the harder it is to provide a precise price estimate for the project. This is compensated for by higher budgets, which provide cover for the initially unaccounted project costs.
Combining all that with having no influence on team selection, and you realize it’s hard to predict how effective your communication with the project development group will be. It’s likely that team involvement will be neutral in under this kind of collaboration.
How to Mitigate the Risks: Elaboration Phase and Agreed Change Management Process
The Elaboration Phase is the opportunity for you and your contractor to clarify and set the scope of work. Documenting the scope during this phase in every detail may take 20–30 percent of all project time. The document will not fully cover all situations that you might face in the future, but its approximate accuracy will still reach up to 80 percent.
Change management is another point worthy of your attention. Changes are an inevitable part of development, be it a new feature request, market adjustment, or updates based on customer feedback. Any changes will disrupt the planned flow of project development. This leads to additional expenses and time losses. The bigger a project, the bigger the associated risks. You have to handle changes professionally, by following a documented set of rules that cover process and payment issues.
Best Fit: Small Projects with Crystal Clear Requirements
You should choose project development when your project is not so complex and has transparent and precise requirements from the start — Such as a promo website. If you aim to create a more sophisticated solution by developing a project, at some point you will likely have to sacrifice the solution’s quality and time-to-market, due to a lack of resources to implement and test new features. Alternatively, you will have to switch to product development.
In A Few Words: Implementation from a Bare Idea to Business Diversification
Product development is an iterative process of engineering a complete software product from scratch. It is appropriate if you plan to take your business from idea through developing a Minimum Viable Product (MVP), product launch, product enhancement with additional features and further diversification (e.g. complete business life cycle). In this case, your business will require a carefully selected dedicated technical team, high engineering flexibility, quick feature development and testing, and internal industry expertise within the team. Your expenses will come down to a monthly retainer fee paid for each employee to keep the team working for you. This is a convenient means of payment optimizing and clarifying your financial spending, especially from a long-term perspective. Just as if you were to actually hire this team to work for you.
Your Benefits: Great Flexibility, Fast Time To Market, Lower Expenses
1) Having no strict specification burden, you gain great flexibility. Together with your product development group, you come to a mutual understanding regarding the sprint plans. In the best-case scenario, everyone knows what deliverables must be completed by a specific deadline. This lets you enhance the processes and the product itself, at whatever degree you need, and nevertheless, speed up its time to market.
2) You reduce expenses by effectively paying lower hourly rates for your product development team as you share the risks with the contractor.
3) You make an individual choice of selecting and hiring each team member. This gives you an advantage for weighing your staffing options. Every person becomes a valuable asset and adding even one more member to the team can have a notably positive impact on revenue.
4) The product development team, having worked with you closely for a long period of time accumulates domain expertise. They understand your organization’s goals and challenges as well as realize the software product’s place in your business. Seeing the big picture assists them to consult you on making the very best technical decisions.
Associated Risks: Project Management
There is a person whose job is to effectively mediate between you and your team as well as control the development process at every step. That person is the project manager (PM), whose importance cannot be overstated. When hand-picking your team members, selection of the PM is key to the project’s success. Every project is different, and, likewise, every project manager is different, but it is crucial to have just the right person for your project’s specifics, complexity, and size. Your first option is to select this person on the contractor side. Your second option would be becoming a project manager yourself or use your in-house colleague in this role. What’s crucial is that the PM needs to have exceptional communication and managerial skills to translate your vision into development actions and then plainly report on the progress back to you.
How to Mitigate the Risks: Trial Period
You have terrific means for increasing the transparency with your contractor — that would be a trial period. During the trial period, you can work with a small group of the contractor’s specialists for 1–2 months before your mutual commitment becomes long-term. It gives you the opportunity to “try before you buy”, namely, test the waters of the team’s expertise and experience, process management, communication and more.
Best Fit: Complex Projects with a Long-Term Vision
Building complex custom software product requires flexibility at every step. You have to try it out on the market, test the concept or features, check the response, remake the architecture if necessary, and update the technologies following emerging market trends. Product development allows you to capitalize on flexibility. It is the best choice for a team extension, adding a new feature to an existing product, or engineering a full-featured product totally from scratch.
Product and project development serve different purposes. We as a software engineering company capitalize on both approaches, but our advice is to objectively analyze your needs first. For instance, hiring a specialist with deep expertise in Data Science to you product development group can bring more value to your existing product and business as a whole. In the meantime, buying a new website feature as a project is a good investment too, provided that the specification is simple.
Have a clear idea of what kind of software solution you need to develop, define the level of quality you need and keep the timeframe in mind. Choose an approach and discover what works for you.
You can find the original at AltexSoft’s blog: “At the Kickoff: Project Development vs Product Development”.