The past 8 months have been very fruitful at Pentalog Chisinau, the branch I manage since 2005. Since last September we’ve launched at least one IT project per month. Every project is very specific, but clients’ expectations are often similar. The following questions are not systematically asked by the clients but it’s something they’d expect.
#1 How can you save my time and bring more value?
=> Meet the IT team
Often when you want to save something, you need to invest it first. A good collaboration starts with a trip to your supplier’s premises, or the team will come to your office.The duration can be just a few days or one week, depending on the amount of the information to be passed to the team and on your availability.Even few days spent with the team will completely change their understanding of your idea and of your business. At the same time you will be able to associate the names in SomeChat or your issue tracking tool with the real people. This is especially important for the first-time IT outsourcing experience.
=> Share information about the software development project
Regular investment in the team’s understanding of your business will pay back by
- less work to do for the specifications,
- less rework because of insufficient detail during the development,
- more engaged and motivated team
- and a lot of good ideas.
There is an interesting advantage if you choose to visit regularly your team in the supplier’s office – there are other IT projects. You will get some custom knowledge sharing from existent projects regarding the best practices and success stories.
=> Be agile
More and more clients are asking us to involve a Product Owner in the team. It may seem wired to have this role outsourced, but here are few reasons:
- Time savings for you;
- Concentration on delivering business value from the first iterations;
- Clear and just-enough formulation of the user stories.
An experienced outsourcer will propose also metrics for your project, starting with classical ones like budget, perimeter, deadlines but also about measuring functional and technical quality of the project, waste, etc.
#2 How will you manage the knowledge?
Projects live their life, same does the team. It happens that someone wants to leave the team for new opportunities, it happens that sometimes will ask for a career advancement. There are 1000+ causes, but the main idea is that this happens and you can’t monopolize the team members forever. And in this case you need to be sure that your business will continue with the same rhythm and quality.There are several actions to be taken:
- Encourage knowledge sharing inside the team. Go to cross-functional team organization;
- Transparent communication and organization using an agile culture;
- Organizing a proper knowledge base within your issue tracker + knowledge base (like Confluence, Wiki..);
- Code reviews, pair-programming, continuous integration – all of these contribute to quick learning;
- Putting in place clear integration road-maps , encouraging your team members to coach the newcomers;
- Having a short-list for potential new team members;
- Investing in interns that can achieve very quickly good levels of productivity.
#3 How you will guarantee the right quality?
I use the word “right” because of the fact that Excellent quality is not always the needed quality.
There are moments when you need things done “fast and dirty”, especially when working on a prototype or testing new markets (having some metrics for the technical debt will help a lot, but this is not the subject of this post).
=> Quality assurance starts before the IT engineering project itself
Within a good organization the quality assurance starts before the project itself. A document called Project Quality Plan (PQP) is drafted at early stage of the project.The IT Project Quality Plan describes
- the collaboration process,
- communication lines,
- code quality rules,
- how and when the testing is made etc.
The document itself doesn’t represent the greatest value. The greatest value is in the process of its definition when all these subjects are discussed and settled between the team and the client.A suitable architecture, best practices in testing and development, best fit for the methodology – all these should be done with the experts but especially with the team that will work on the project.It is (only) in this way that you will obtain an incredible commitment for the application of the choosed solutions.
#4 What if I change plans?
Changes happen. You need to be sure that your IT supplier can follow them.