|
Better results by using Information Technology |
||
|
Choosing a Software Developer Choosing a consultant to develop a software system for your business can be a daunting task. Unlike buying a car where any car will get you where you want to go, not all software developers will get you the system you want or need. There is a statistic that will surprise you but that after years in the business I can confirm. About 30 percent of software projects are either never finished or not completed on time and on budget. The reasons for such a high rate is for another article. After reading that statistic, your enthousiasm for a building a custom system may have disappeared. After all, how are you going to choose among many software developers competing for your business when you don't know the first thing about computer programming? Defining the Requirements The first step is to determine what you need this system to do. You know your business better than anybody else so don't ask someone else, especially not a software developer, what your system should be like. You should be asking your front-line employees, those who do the work day in and day out. They are your best source of ideas they feel are important for making their own lives easier. Specifying your requirements will help in many ways. First, it becomes the initial blueprint. You can't build a house without one and no construction company would. Why would a software engineer develop a system without knowing exactly what is needed? It would be like asking to build a car and the engineer comes back with a fast, sexy Porsche. "But", you say, "where are my three kids going to sit"? Knowing what you want and need will save much time, money and aggravation. Something the government and many other business do is to create a grid of the requirements they want in a system. They often assign a mandatory or optional next to the requirement. This will help the consultant in determining how many resources will be needed, the time to accomplish the task and therefore the money they will charge. Any requirements later asked for but not covered in the initial proposal will be charged extra by the company. There is nothing more vexing for both a business and developer than to have the requirements changing in mid-project and adding to the cost of it. Second, this is an initial document that can be consulted and appropriately changed as the project is started thus saving time and money to both you and the consulting firm you will eventually hire. Be as detailed as possible in your proposal. Mention which platform you are using such as Windows 98 or MacIntosh, how many people are going to use the system and growth projections. Again, this can be daunting especially for a small to medium sized business. Fortunately, consultants can be hired to help you with your proposal. A good consultant will evaluate your needs and requirements as well as trying to understand your business. He may even tell you how much the job is likely to cost. Lucid Software can provide that service with knowledgeable technical people who can help sort it all out. We may not end up doing the actual development but our recommendations will help you in determining what your needs are. This will help in hiring the right consultants for the development phase. The Proposal Once the requirements defined by you, issue a request for proposals based on the requirements. Companies will then respond with their proposals of time and money to build the system. You should receive several of them. You must then choose one. Here are a few tips on which one you should choose. Ensure that each firm has clearly set out how many people will be on the project, what each person's job will be and a time-line for each part of the project. Unless you specify which language the application will be developed in, you will likely get responses suggesting as many different languages as there are responses. Since you don't know PowerBuilder from Delphi, a consultant can be hired to help in determining if a development tool is appropriate for your project. In fact, if you hired a consultant to help you write the proposal, he may have already specified which programming language would be suitable. At Lucid Software, we have people with experience in FoxPro, Basic and PowerBuilder as well as other languages. But we know the strengths and weaknesses of each and would never build a system inappropriate for a certain language. For example, Visual Basic is a good general-purpose development tool and can be used as a front-end to an Oracle database. Applications can be developed quickly using VB, however, depending on your present and future requirements, another tool such as FileMaker may be more appropriate. Lucid Software has no expertise in FileMaker but we would not recommend VB to get your business. One very important rule: don't always hire the company that has the lowest price. A situation I've seen went something like this: a request for proposal is issued and four consulting firms decide to make a bid. Three of the consultants say it will take from six to eight months and cost 100 to 125 thousand dollars. The fourth consultant says it will only take three months and cost 50 thousand. The company went with the lowest bidder and almost lived to regret it. It still took seven months to develop the system and cost well over 100 thousand dollars. You see, if three out of four people agree on a time estimate, the fourth is probably wrong. Use common sense and go with the majority. The firm with the lower time and price estimate probably has not understood the requirements and will therefore not deliver on what you wanted in the first place. There is something in the industry called a Software Development Life Cycle or SDLC. Your requirements is the first phase. The second is the logical design of the system. This is where the data structure and files are defined and requirements are defined in more technical details. If the consultant does not specify time set aside for this phase, I suggest you do not hire them. This phase is often critical in the success or failure of the project. It is like building a house without any plans. Pay attention to the extras a consultant will propose. It is often a good way to see if they understood your requirements and your business. A good firm will call with questions as well so always have someone to be able to answer those questions. You must also understand that the software development business works very differently than others. Even large companies like the IBMs and SystemHouses of the world cannot have all the expertise readily available for your project. They rely heavily on other consultants to supply them with experts in certain fields. So don't be surprised if you have many independant consultants working on your project who say they are not employees of company X that you hired. In fact, many times consultants in different fields get together to bid on a contract and pool their resources. They may create a new company that will disolve once the contract is finished. Or one of them may already have a business name which they will use. If you haven't heard of them, don't worry. Focus on what the group can do for you and your project. Support and Updates Support and maintenance of your system should be a key factor. The project should not end when the last line of code is written and you have accepted the product. Users have to be properly trained and on-line help available. Printed manuals may be less critical to have but are a nice touch. Updates should also be specified if the situation warrants it. This could be a few times a year. A good software developer will have someone assigned to your project even after the system is accepted and running. Unfortunately, software is not always perfect and bugs and problems do come up from time to time. This can be due to many factors such as improper testing (the offending code was not run during tests), unforseen conditions, plain oversights from the requirements, changes you want in the system or simply using new technologies. When this happens, you want the original consultant to make the required changes since they are most familiar with the system. A consulting firm will have a standard scale of services and charges for support. A standard rule in the industry for support is 12 to 18 percent of the sale price per year and that is what Lucid Software charges. Of course, all these charges should be spelled out in the contract. |
|
Copyright 2002 Lucid Software Engineering: Custom Database Experts www.lucidsoftware.com |
|
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||