Building scalable enterprise digital commerce for a global pharma giant
Digital transformation around the e-commerce services across multiple geographies and business divisions for a globally leading pharma company.
Software Outsourcing: Questions & Answers
What makes businesses outsource a software development project?
A whole complex of reasons can influence your decision to outsource your software development needs – it might be difficult for you to hire the staff you need for your projects, you might be lacking in the experience needed for your next project or you might have quality problems with your in-house staff and need to outsource to meet higher software quality requirements.
What kinds of software outsourcing development resources are available on the market today?
When you need to go beyond your own organization to get software development done, there are several types of resources you can rely on:
“Independent Consultant” - Go for it If your needs are small, and coordination with a lot of people is not a key factor for you. There are a number of individuals working on their own who have excellent skills and can be reasonably priced since they usually work out of their own homes, which is less expensive as far as additional costs. Make sure that the independent consultant is a really good match of the skills you need because he/she most likely will not have the ability to tap other people into his/her organization.
“Body Shop”- Often referred to as “consulting firms,” many of these companies are little more than temporary agencies for software development people. They generally provide personnel who work on your site and join your project team. In case you have already got a solid team making satisfactory progress, this may be a way to add a few needed people on a short-term basis. Some body shops provide varying degrees of methodology and project management to add value to the work their consultants do.
“Spec Converters”- These are firms that specialize in highly efficient coding and testing – - provided you have a very clear and unambiguous specification. However, this is often not the case and there will be a need to find a software development partner who can achieve a thorough understanding of your business need and jointly develop requirements and specifications with you.
A Full-Service, Multi-Tasking and Resourceful Professional Services Company, what e-Zest is, will be able to provide a broad spectrum of services – from helping guide your analysis of what software to build all the way through to delivery of a completed, high quality product. Professional Services Firms are often able to take on larger, mission-critical development projects and provide both the expertise and manpower to achieve project goals. Consider this type of firm when you are concerned about professional management of schedules and budgets, or need other services that go beyond just coding and testing.
How critical is it to have a contract with your software vendor?
It depends – If you have a good working relationship with your vendor, you won’t necessarily need a contract. If the relationship disintegrates, the best contract in the world won’t save your project. Nevertheless, contracts are both required and prudent in most cases.
What are the typical kinds of financial contracts for software development projects?
Financial arrangements for software development payment usually fall into one of three
Categories: fixed-bid, time and materials, or function point contract.
What is a fixed-bid contract?
With that type of contract, the client agrees to pay a fixed amount of money for delivery of fixed software functionality. The positive thing about a fixed-bid contract is that you know in advance what it is going to cost you and it puts pressure on the vendor to be efficient.
The negative side of a fixed-bid is that the vendor needs to build in additional costs to cover the expense of items that might come up. You also may not be as motivated as you should to cooperate with the vendor when he needs questions answered or any kind of assistance because you will think it won’t affect the cost since it is a fixed bid.
What is a time and materials contract?
With that type of contract, the client agrees to pay by the hour for the effort put into their project. With this kind of project, you will not have to worry about the issues of what is included and what is not, like you do with a fixed bid. You and your vendor can make decisions and press ahead with the project. It will also be easier for you to have a say in how things are done since you will have to pay the price if the least expensive route is not chosen. A time and materials contract also puts pressure on you to do everything possible to assist the vendor do a good job. This usually makes for better projects. The negative side of this type of contract, however, is that you will not know your exact cost ahead of time – so, if you do not pick a good vendor, your costs can get away from you quite easily. If you opt for that kind of contract, it is crucial that you keep track of what you are asking for and insist on good faith estimates so you can control your budget.
What is a function point contract?
With that type of contract, the client agrees to pay a set cost per function point. Once you agree on a scale of costs per function point, the industry standard Function Point Analysis
can determine the price. Scope changes are automatically priced by changes in the Function Point Count. With this type of contract, a lot of minor changes can result in inordinately high costs for changes. Function Point Analysis might not cover non- functional items properly. For example, your failure to provide required technical information to the vendor may result in additional Fixed-bid or Time-and-material charges that cannot be handled by your Function Point contract.
In a software development situation, how would you describe the optimal client/vendor relationship?
You need to develop a partnership relationship with your software development services company. Designing and developing software requires a lot of creativity and cooperation.
The us-versus-them mentality would not be of great help. Look for a company that will work with you over the long process of development to make you be a real success in your marketplace, and not just promise to meet your current need at the lowest price.
A good working relationship is like any good relationship -it takes time and efforts to develop. As both sides learn to know each other’s needs, tastes and requirements you will be better able to work together to produce the software you really need.
How much “free consulting” can I expect a potential vendor to spend while preparing a project cost estimate and plan?
The software industry has just started to build up experience. There are still no standards set . Things have yet to be standardized to the point where you can give a vendor a written specification and expect your needs to be fully met and understood and a price to be quoted.
To do a proper job, your software vendor will require to spend quite some time, at your expense – to work through your requirements and specifications with you, so that they can understand your needs fully and precisely, and be able to provide a credible cost and project plan. Both sides benefit from a better time-and-cost offer.
Sometimes the companies in need of a software outsourcing team would issue a RFP (Request for Proposal) and expect vendors to do a lot of free upfront consulting to gain sufficient understanding to be able to prepare a proper professional proposal. This approach usually produces results equally unsatisfactory to both client and vendor.
e-Zest is a leading digital innovation partner for enterprises and technology companies that utilizes emerging technologies for creating engaging customers experiences. Being a customer-focused and technology-driven company, it always helps clients in crafting holistic business value for their software development efforts. It offers software development and consulting services for cloud computing, enterprise mobility, big data and analytics, user experience and digital commerce.