Software Development Engagement Models Overview
Being a project manager (from one side) or a client (from the other side) means becoming familiar with the technical language and staying involved throughout negotiations. Several types of engagement models may go back and forth between two companies. No matter what side you’re representing, it’s in your best interest to understand what these types of engagements are about and what you are signing up for.
To put it briefly, below you’ll find what each type of engagement covers, and the key factors for each of them.
Time & Material
Overview
Time & Material engagement model presupposes billing based on actual time invested into the development (man-hours actually worked) and the actual cost of materials and equipment usage. This way, you, as a client, will be billed solely for actual hours, based on negotiated hourly rates. All tasks should be registered and reported to you on a weekly basis during calls or Skype meetings. This model is flexible to the client’s changing needs for time and resources.
How does it work?
This type of contract works best for standard technologies and resources (like PHP, .NET, Ruby On Rails, etc), especially if there’s a need to scale your team up for some period of time (in most cases, up to three months). No detailed specification is needed to start the project. The team can be changed depending on the project requirements revealed during work.
Business Benefits
- Lower cost
The cost of a time and material contract may be less than in a fixed bid one.
- Agility of workflow
It is easy to change the priorities of specific features and add new ones within the same budget.
- Time schedule flexibility
Deadlines can be easily changed if needed.
- Reduced risk of unmet expectations
The whole process is transparent and clear, payment occurs when the specific functionality is developed.
When is it best used?
- There is no detailed project documentation or it contains an insufficient level of details.
- Project specifications and requirements are constantly evolving and changing.
- Gradual improvements are planned.
- Deadlines are not clearly defined.
Fixed-price
Overview
The development process is built according to the cost and time estimates based on the project details provided by the client. All payments within this model are made on pre-defined milestones. The project specifications are frozen, the budget is fixed, and deadlines are set. If you do not have a project specification, we suggest starting Phase 0 (Discovery phase) – a preliminary period (usually from one to three weeks), during which time vendor managers will work with your product manager to create a specification, and, eventually, provide you with a fixed bid.
How does it work?
Having received detailed project specifications, a vendor’s team studies them and makes time & cost estimations. They may work by e-mail, phone, Skype, and IM, depending on what fits best the client’s situation. When the estimation is worked out and the contract is signed, no additional functionality can be added to the scope of work without cost re-estimation. The number of people developing the solution might be altered depending on the project’s needs
Business Benefits
- Minimized risks
The web solution is built exactly according to the specifications provided.
- No extra expenses
The price couldn’t be changed if the specifications stay the same.
When is it best used?
- Project specifications are clearly defined and will not be altered before the release.
- Technical documentation is properly planned and available.
- There are clear deadlines and limited budget.
Dedicated Team
Overview
Vendor specialists become a part of your team working exclusively on your project. Billing is based on the hourly rates of the developers included in the dedicated team. Thus, you will be billed for every month and every team member, depending on the total number of working hours in this month, or alternatively for an average number of total working hours per month (the latter option will result in the fixed monthly budget).
How does it work?
Business owners provide a vendor with a general list of project requirements and the vendor gathers a team of professionals who can do this job. The vendor supplies the client with the expertise of engineering, consulting, and QA specialists (measured in man-months), who will be working full-time for the project. The developers will report directly to the client. When forming dedicated teams, usually senior employees are assigned to be project managers in order to quickly gather all the required information, understand the process of work, and share it with the rest of the vendor’s team.
Business Benefits
- Full control over project progress and budget.
- No need to employ qualified specialists and spend time on the hiring process.
When is it best used?
- The project’s idea is well thought out and defined, all project requirements are available and the development is about to start.
- The client has in-house specialists who can manage the software development process.
- The client wants a dedicated team to have a close integration into a project.
The following table summarizes the differences between all three contract types:
In a nutshell, contracts are a complicated, but important part of software development management, so you need to have at least a basic understanding of how they are created. The most important advice is to make sure that all assumptions, deliverables, and timelines are clearly stated in your contract.
Let’s start
If you have any questions, email us info@sumatosoft.com