Are You Overpaying For Software Consulting?

We at Inverted Software hear this often: “I hired a consulting company to do work for me. They charged me a certain amount. How do I know if I got a good deal?”

The simple answer is: If you think the work that has been done was worth the money that you paid for it, it was a good deal.

If a consulting company said they will charge you a certain amount, ran late, over budget or delivered a poor quality product, you might want to read on in order to understand how to pick your next software consulting company.

The first rule of picking a consulting company is:

Avoid any software consulting company that rents you developers by the hour!

Developers alone cannot deliver a product.

project-manager

Sure, they know how to code, but coding is just a part of the process.

Renting developers by the hour and expecting deliverables is like going to a car dealership for a car and only buying an engine. Without wheels, a body and a steering wheel you will not get very far.

A good company will build a team around your project.

A team can include a product manager, project manager developers, QA, DevOps and a Software Architect.

Each of the above team members have a part in the deliverables:

  • The product manager will gather the requirements and document the product.
  • The project manager will plan the development tasks, sprints and act as a SCRUM Master (More on SCRUM in a later blog post).
  • The architect will design the system and oversee the technical development.
  • QA will test the code and insure it is bug free at any point.
  • DevOps will prepare the development, QA, Staging and production environments, deploy the application and monitor uptime and security.

Assembling a team around your product will insure a successful delivery.

There are three main types of software outsourcing:

Local teams

Local teams will work from your office, they will interact daily with your staff and existing systems and infrastructure, be a part of your company’s culture and operate as employees for the duration of the project.

Before picking this option, be sure to set up the correct logistics to support staff augmentation.

Remote teams

Remote teams by definition operate offsite. They can reside in the US, offshore or both. When utilizing a remote team, it is a good idea to make sure they speak your language and that the management can correctly capture and understand the requirements.

There should also be some sort daily communication to make sure the project is progressing according to the timelines.

Mixed teams

Mixed teams will have the product manager residing locally while the rest of the team is offsite.

This is a great solution for complex projects. Having the product manager interacting daily with your staff while gathering the requirements will insure nothing is overlooked.

You can also start with a mixed team and when you feel the majority of the requirements have been collected, move to a remote team while keeping the lines of communication open between the product manager and your local staff.

Keeping the cost of development down

Once you have chosen a team, how can you still keep the cost down without effecting the project’s success rate?

Clear and defined Requirements

Good requirements are key in the development process. Without them, the development team might have to guess or even develop the same feature multiple times.

To streamline the development process, you can make sure features that have been already developed, won’t change.

Any late change in requirements might compromise the system’s quality, as modifying code is a time consuming task.

Sprint planning

Correct sprint planning will help you utilize development time for efficiency.

Inverted Software’s expert project managers are experienced at agile development and can plan sprints for your development team.

Defined timelines

Each task must be correctly estimated in order to find its way into the sprint. It is up to the development team to work together with the technical architect in order to estimate tasks length and follow up with the project manager immediately in case of any delays.

If your project has a timeline and a fixed number of sprints, all tasks must fit into the planned sprints.

Conclusion

“The bitterness of poor quality remains long after the sweetness of low price is forgotten” – Benjamin Franklin

bitterness

When choosing to outsource your software to a consulting company, ask them for a development team that includes product and project managers, QA, DevOps, Architects and developers.

If they cannot provide you with all of the above, you are probably overpaying for under-utilized developers.

Need a quote for your next project?

Call us at 818.262.8552
Email: contact@invertedsoftware.com

One thought on “Are You Overpaying For Software Consulting?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s