Are you working with an external development team, or are you thinking of hiring one? If you are not a developer yourself, it might be tricky. It is not easy to evaluate your team’s work without detailed knowledge of the project and auditing the code by an external company can be very pricy. But don’t worry, there are some simple question that should help you find out if the team is well organized.
How is the technical debt being accessed?
Even the best developers in the world create some amount of technical debt. Deadlines, changes and the specification and many other factors result in a code that needs to be fixed or re-written in the future. The team needs to have a process of code reviews and technical debt assessment in place. If that is not the case, you are heading for a disaster.
Who is the scrum master/team manager on your team?
Many teams follow Scrum or some other agile methodology and very often this is misrepresented. Some teams might think that they can do whatever they want and should not be bothered by the client nor company management, which is, of course, not the case. While the team should have more freedom to work on the delivery, there are still rules to follow. The most important one is to have a capable scrum master or a team manager in place. This person needs to make sure agile does not turn into anarchy and that all the rules from the playbook are followed. Ask about this role in the team, and if you see uncertainty, you know you have a problem.
When is the new release going to be deployed?
Keeping releases clear and organized is essential if the project should be delivered on time. The team should always know what release is in development right now, what exactly needs to be done there, and when is it going to be ready for the client. It is also necessary to release as often as possible. Long releases result in long delays and more bugs. The simpler the release is, the better. If you find out that your team is not familiar with this, the project probably won’t be delivered on time.
Can I see the testing scenarios?
If you want to deliver a working product, you need to test a lot. If you wish to test effectively, you can’t do that without test scenarios and acceptance criteria. If this is not prepared your team will probably be testing the features randomly or as the developers release them. When the acceptance criteria or definition of done is not clear, you can easily find yourself in a situation when you are arguing if it is finished or not. Ask your team about this stuff to be sure that the quality of the production is managed orderly.
Who should I contact and on what channel to get an update fast?
The last one might sound very simple, but I believe that most of the problems in developments project arise from inadequate communication. It is necessary to establish what the roles on both your’s and the teams’ side are and who is responsible for the communication. When the phone is not picked up or when you have to wait for a response for a week has severe consequences on the mood in the team and can cause serious troubles. Also, when the resources are split and lost among team members always causes delays and misunderstanding. Make sure that the responsibilities are clear and you are set up for success.