Subscribe
About

Assessing software developers

How does a business decision-maker ensure the team he brings on board is right for the job?

Len Weincier
By Len Weincier, Owner and director, GuruHut.
Johannesburg, 18 May 2010

When a company is preparing to go through the painful process of change, it will have identified the business needs and mapped a way forward. It's clear that these changes won't take place without the services of a software development team to automate a few processes, or to develop a solution to address an entirely new business need in the rapidly evolving marketplace.

Hiring software developers is a long-term commitment. A successful engagement can only be measured at the end of the project when the required solution is delivered on time and within budget, but there are some things a company can assess upfront to make sure the expertise is the right fit for the job.

1. Check their references
The decision-maker should ask the software development team pitching for work to provide references and previous examples of working solutions they have implemented. When checking their references, it's important to make sure they weren't just happy with the final result, but have positive feedback about the entire development process. If the company has a particular organisational culture, it should make sure that the software developers are happy to work in this environment.

2. Shop around
It's a good idea for companies to speak to at least three different providers to get an idea of whether proposed pricing and timeframes are realistic. The developers should be able to clarify tech speak, because if something can't be explained simply upfront, it's unlikely to go smoothly or communicated well while building. Decision-makers should be particularly wary of optimistic schedules and overeager providers.

3. The methods in their madness
The software developers should explain what methodologies they use, and the implications of their preferred methods. Even if the customer hasn't heard of the processes before, this should give them an understanding of how the developers work. It is vital that they are flexible in their approach because software development is never a fixed process, so they need to guarantee they won't be trying to apply the same solution to a variety of problems.

It's possible to learn as much from the questions that software developers ask as from the answers they give.

Len Weincier is owner and director of GuruHut.

4. Listen to their questions
It's possible to learn as much from the questions that software developers ask as from the answers they give to customers' questions. It's a fantastic indicator of their internal processes and gives an indication of the depths of their engagement with their own skills and with the project. Do they seem sure of their own abilities and do they have a plan that will benefit the organisation?

5. Rest assured
What assurances do they offer? What happens if they go over deadline or budget? Companies should assess what project management capabilities the developers have, rather than just focusing on their technical skills. They should have to explain their communication plan for issues as they arise.

6. Test the solution
Do they carry out software testing as they go along, and are their processes manual or automated? In general, it is better for testing to be automated, as its purpose is to pick up human error. In addition, by testing for errors as the developers go along, any issues that arise can be ironed out as they happen, instead of requiring an entire testing and reworking phase at the end of the project.

7. Be clear
One of the most important things that a company can do to ensure the success of a software implementation is to be specific upfront about what is needed. These requirements should be drawn up both for the software itself and for the team who will be rolling it out.

8. Small steps
The software developers should be asked questions about processes they will put in place. Decision-makers should remember that what they want is software and not a lot of documentation and project plans instead. Of course, documents and project plans are required, but they are not the goal of software development. The developers should be able to say when they will be able to show working software - this should happen easily and regularly. If they are taking too long, it's possible that the end result might diverge from what was asked for at the outset.

9. Go with your gut
After interviewing and listening and weighing up everything that's been said, if the decision-maker comes away feeling uneasy, the company shouldn't go with that team. A software implementation is a long-term commitment and the developers will be on-site for the duration. Joel Spolsky said: “It's better to say no to a good person than yes to a bad person.”

10. Take a leap of faith
At the same time, decisions shouldn't be governed by fear. If everything sounds good and the company needs the solution, this is how to get things done. Making changes in business can be at best unsettling, and at worst frightening, especially when long-term, cash-intensive rollouts are at stake. Feeling nervous is normal, but it shouldn't derail the process of moving a business forward.

Share