November 23, 2021
Externalizing your application development to a partner outside of your organization is a challenging and often time-consuming process, but fortunately for you, that part is now over.
You found a good engineering company to help you meet your business objectives by developing smart software solutions. Now you may want to measure the success, to evaluate your partner’s main activity, which is application development. However, if your plans are long-term, you should not only look at bits and bytes but also overlook the partnership angle of this new business relationship.
There are several methods to audit code quality. And most of them are measurable.
If you represent a software company yourself, you will know how to evaluate this, as the KPIs (Key Performance Indicators) are usually the software industry recommendations. Therefore, you will likely look at both Qualitative and Quantitative Aspects of the code.
You may be interested in static code analysis; you’ll want to review the Reliability of the code, the Maintainability Index, the Analyzability, Testability, Stability, Portability, and Security aspects of the code, or the level (and quality) of the documentation provided.
If metrics are what you’re after, you’ll find automated tools to help you measure the cyclomatic complexity, the depth of inheritance, or the class coupling, just to give some examples.
But we will cover code quality in a different post.
In this article, we aim to cover the partnership aspect of the Buyer’s relationship with their software engineering Provider.
You may have found yourself asking these questions:
Moving further on the evaluation thread, we will look at some metrics you may want to focus on when evaluating your engineering partner.
Without measuring the success of the relationship against your initial business goals, how else can you tell if you are on the right path to achieving your objectives?
You should be aware from the beginning that some ‘soft’ metrics focus more on the quality of the collaboration. Such factors may be harder to measure, but ultimately, these qualitative metrics can determine the ultimate success of your engagement with your provider(s).
|● Quality of delivery
● Customer satisfaction
● Staff expertise
● Staff turnover
● IP protection & Security
● English language knowledge for proper professional communication
Adherence to Agreement / Work Order / SLA
● Service quality
● Late deliveries
● Service issues
● Adherence and accuracy to reporting format
● Invoice accuracy – error rate
● Compliance with invoicing requirements
● On-budget delivery
● The total cost of service benchmarked against market prices for a similar value
● Proactive cost-saving ideas
● Value add
● Return on investment (ROI)
● On-time delivery
● A fast response time even when working on different time zones
● Reduced lead time in bringing the new software to the market
● Willing to accommodate reasonable amendments to contracts
● Promptly provides contracts for review prior to work commencing
|Evaluation Factor||What to assess
|Relationship with the vendor||● Communication and collaboration: type of communication (open, neutral, timely), problem-solving skills, conflict resolution approach|
● The preoccupation for value-add activities (e.g., hackathons, workshops, training, aiming at adding value for the customer and improving service)
● Supplier’s ability to improve
● Approach to training/onboarding new staff
● Ability to respond to unanticipated demand or changes in products or services
Corporate Culture Compatibility
● Company strategy alignment, shared vision and objectives, shared values, and operating philosophies
● Market knowledge
● Behavior with 3rd party teams (other suppliers, other development teams, external stakeholders, business units, etc.)
With any relationship, there is also the other side of the coin.
So you may also want to introspect your own role as a Buyer of professional services:
● Clear requirements
● Infrastructure, DevOps, and licensing
● Willingness to adopt new services or improve processes
● Open for value propositions
● English language
Finance and Invoicing
● Payment on time
● Queries raised appropriately
● Customer’s responsiveness
● Adherence to contract commitments
● Proactive engagement
● Offer and ask for feedback
● Communication of company strategy and alignment
● Allow room for innovation
● Issue handling and resolution
In conclusion, when working with a software engineering partner – regardless of location or time zone – you’ll want to benefit from experienced staff, formal software solution design, a modern tech stack, structured programming, regular code walkthroughs, and a comprehensive quality management process (or at least a good test plan).
You will also look for:
This list could go on.
Selecting the right partner can be a challenging process. So is choosing the right KPIs that capture the value that you are both trying to bring to the partnership. None of these steps are trivial. But then again, not everyone gets to build awesome software, right?
Whether your engineers are outsourced or not, nearby or in a different time zone, by investing some energy in building the right team culture, by periodically evaluating the effectiveness of your collective efforts and openly discussing with them about ways to improve the relationship, you are closer to success than you have probably imagined.
If you found this article insightful, follow the Softelligence blog for more articles, how-to guides, and software delivery best practices.
We’d love to hear about your plans for transformation.
Use the form below to send us a message, and we will get back to you within 24 hours.
New Broad Street House, 35 New Broad Street, London, EC2M 1NH
4D Gara Herastrau Street, 2nd Floor
Building C, 020334
+40 31 425 19 08
30 Stirbei Voda Blvd,
Malmo Business Center, 200423
+40 35 142 36 80