If your company is about to hire a vendor to help build software for your company, the success of the project will depend not only on how well the vendor performs, but also how your company positions the vendor for success. In general, most of the established vendors operate with integrity, and take a lot of pride in the work that they do for their clients. The vendors understand that long term success for them will come only if they always do what is right for the customer. In order to keep this blog more focused, let’s assume that you have already selected a reputable vendor. There are some common reasons why even a good vendor could fail to deliver a project successfully, and this blog lists the actions that you can take to avoid those risks. After all, a successful execution of the project by the vendor will ultimately lead to success for your company, and inversely, a failure on the vendor’s part will likely set your strategic initiatives back by several months or years.
Before signing the contract, take the following issues into consideration.
· If your company is trying to meet certain deadlines, make sure to plan ahead with the vendor. Sign the contract well in advance and communicate the deadlines to the vendor. It is not always possible for the vendor to start a project right from the day when the contract is signed. So, check the vendor’s lead times for allocating resources to a new project. Sometimes, they might not be able to staff the project team for several weeks, which could have an impact on your deadlines.
· If your company does not have internal IT experts who are familiar with the technology, ensure that sufficient funds are allocated for production support and knowledge transfer.
· Don’t forget the content. Creating a customer facing website or an intranet will not be of any use if it does not have any content in it. If your company will need help in migrating content from existing sources, or defining content strategy, ask the vendor to incorporate it into the contract.
· Don’t forget Change Management. Rolling out new software will most likely have an impact on the organization. Without proper Change Management, the users are more likely to reject or resent the new software. If your company does not have internal Change Management experts, ask the vendor to include it in the contract.
Define the Core Project Team
Your vendor is not going to know who are the key players in your company. They will not know who are the right people to talk to for requirements, user experience designs, technical designs, testing, etcetera. You should clearly define a core project team that includes the following roles:
· Project manager or a primary contact that can point the vendor in the right direction when they need internal resources (people, conference rooms, access to servers, and such).
· Approvers of deliverables
· Decision makers
Internal Kick off Meeting
It is a best practice for software vendors to have an internal project kick off meeting to ensure that everyone working for the vendor understands the background of the project, the key project team members and their roles, the project goals, and the success criteria. Your company should have a similar internal kick off meeting with the core project team members. They should know the following information during the internal kick off meeting:
· Your company has a hired a vendor. This might seem obvious, but it is surprising to see how often the key influencers within the company might not even know that a vendor has been hired.
· Why was the vendor hired? What is expected from the vendor?
· Often times during the negotiation of the contract, the scope is reduced to hit a certain budget limit. For example, mobile phone and tablet designs might be cut from the scope in a web development project. Ensure that the core project team understands what was deliberately cut from the scope.
Read the Contract
If the project has started, it is a given that the contract was signed by both parties. But in many cases, the people in your company who reviewed and signed the contract are not necessarily the same people who will actually be working on the day-to-day activities with the vendor, signing off on the deliverables produced by the vendor, or making key project decisions. For example, the contract might get signed by a senior executive within your company, but the project manager or lead technical architect that your company assigns at a later date might not have even seen the contract. In some cases, your company might not share budget related information with your core project team members due to sensitivity of the information. So, it becomes naturally difficult for the core project team to understand that the more they ask from the vendor on a day-to-day basis, the more the project will cost to your company. If budgets cannot be communicated openly to the core project team, they should still be clear about the scope, schedule and the deliverables in the contract. For example, here are some things that they should be aware of in a typical software development project:
· How many hours are allocated for each task? Especially for Time and Materials contracts.
· How many meetings are part of the contract, how long are those meetings supposed to be, who are the key participants for each meeting, what decisions or feedback will the vendor need from your company during those meetings, and so forth? Do you want another meeting with the marketing department to gather requirements? Make sure that it is included in the contract.
· How many deliverables is the vendor required to provide? Do you want a user guide or a training manual? If it is not in the contract, then it will probably increase the project scope.
· Do you need another round of updates to the technical design because one of the architects was on vacation and didn’t provide his feedback until later? Check how many rounds of updates were allocated in the contract.
In order for a software project to move forward from one phase to the other, the vendor will require formal approvals at each step. When the vendor presents deliverables such as user experience designs, make sure to give clear and actionable feedback. If there are six people from your company who are reviewing a design and they are split 50/50 about it, a designated person must make a decision. If this does not happen, the vendor is likely to come back in the next round with updates that will not satisfy the entire group again. This cycle of updates will cost your company more money, may impact schedule and may push the project over budget. Indecisiveness is one of the biggest reasons for failed projects, but it is one of the simplest issues to fix.
If you have hard deadlines that you need to meet, the vendor will need to make sure that they align their resources accordingly. But the vendor will not be able to keep the project on schedule if the internal resources in your company are not aligned as well. If the internal resources are working on other projects and do not have availability, or they are out of office due to vacations or travel, the overall project will fall behind schedule. If there are key meetings that need to be scheduled during a certain window, you need to ensure that the people from your company find the time to attend those meetings.
A good vendor will continue to seek your feedback. But, your company and your project will benefit even more if you set up a channel for the vendor to provide candid feedback to you. It might sound strange that the customer is asking for feedback from the vendor. But your company will typically have a lot more at stake with the project than the vendor will, so treating the arrangement like a partnership and sharing feedback in both directions is in the best interest of the project. Also make sure that the vendor has a clear channel of escalation if they are struggling to get the proper support within your company.
By following these tips, you can ensure that your project will be successful. While you may think that some of these should be common sense, each of these tips are important and integral to a great project and will improve the relationship between the vendor and the client.