Articles Home |
Let's set the scene: A software vendor is engaged to produce a product or sells a product that does a specific task for your organization. Some pointy haired boss has signed a contract and a project has been set up to receive the software and implement it in your organization and will have internal administrators and internal support for users. You are now put on this project. What could possibly go wrong?
Well, a number of things. For example, what if the software as delivered is buggy and also the user interface makes it difficult for your users to complete tasks. Maybe the promised updates do not work and cannot be moved to production in time to meet your project deadlines. Maybe the install process takes weeks to set up and many hours to complete, if it is at all successful. Maybe the update never fixes the myriad of problems you emailed the vendor over the last 3 months. Your vendor is obviously a clown. So now what?
Any successful open source or commercial software vendor that makes software uses the following engineering practices, shouldn't your outsourced project do the same? It is time to check the software engineering processes in use at the vendor:
But let's say you are not in that unfortunate situation, your hair is kind of pointy and you are just a bit ignorant of managing a vendor contract. So verify the above check list with your vendor, (well, get someone who knows how to verify the above check list that is not hired by the vendor), and put these things in the contract BEFORE you buy the software, verify that these things are done BEFORE you pay. That is work, work is hard, so suck it up and do it and then cut at least one point off your hair.
Oracle, IBM, Microsoft, Apache, Linux, FireFox, whatever successful software organization you choose from free to obscenely expensive, they all do the processes on the above list when they do a successful project. They may call it something else but they do it. When managing a software vendor you and the vendor will have to do the same processes to have a success. Just because a vendor produces the software does not mean you can rely on them to do proper engineering behind a curtain and then you get to act suprised when everything is crap. If that happens that means YOU have not done YOUR job to manage a software contract.