|
|
||||
|
We have collected information for people considering having a custom database built or an existing one modified, but aren't quite sure about how the development process works and what is involved. We offer some guidance to help you make a better business decision and get your databasing needs fulfilled. What will you find here? Basic information and skills you need to navigate custom database development. We will offer the questions you need to ask to find a qualified database developer. We will go over the process of developing an application, from its initial architectural blueprint, to its functional specifications, to alpha and beta versions, all the way through final product installation and technical support. We will also discuss cost. CAN I DO IT MYSELF?Perhaps. If the project is pretty basic, and you have (a lot) more time than money, this may be a reasonable choice for you -- especially if you have basic database developer skills. However, if the project has some complexity or is vital to your core business or you do not have a great deal of time, then you should hire a pro. That usually turns out to be a lot cheaper in the long run, and you get a much better solution to fill your database needs. WHICH TOOL SHOULD I CHOOSE FOR DEVELOPMENT?Many firms specialize in specific tools, and may attempt to steer you towards them. Is this bad? Maybe not, but we think you will be much better off by initially focusing on the solution, and not the development tool. Once you have a clearly defined what basic capabilities and environment parameters your solution should have, then a number of tools can deliver the desired result. We would recommend, however, that you try to stay with established tools. You don't want your application become obsolete because the tool you chose is no longer around. FileMaker VOTED BEST SOFTWARE (again and again)The Software Publishing Association has voted FileMaker "Best Business Software Program" of 1998. In its 1998 Excellence in Software Awards, FileMaker Pro 4.0 won two prestigious "Codies", software's equivalent of the Oscar. The nominees for Best Business Software and "Numeric or Data Business Software" included stiff competition from Microsoft's Access, Excel 97, Word 97, Front Page 98, MathCAD and Visio Standard. SANTA CLARA, CA -- Dec. 13, 2002 -- The Software & Information Industry Association (SIIA) has honored FileMaker database software products as finalists for two prestigious Codie Awards for 2003. FileMaker Pro 6 is a finalist for Best Business Productivity Product or Service, and FileMaker Pro 6 Unlimited is a Best Numeric/Database Application finalist. The new FileMaker Pro 6 -- powerful new database software with easier-than-ever templates and tools, and a virtually limitless ability to gather, manage and share information -- is widely used by workgroups ranging from entire small businesses to departments within the enterprise. FileMaker Pro 6 has also been named by PC Magazine (January, 2003 issue), as Editor's Choice for Best Personal Database over Microsoft Access 2002 and five other products. FileMaker Pro 6 Unlimited enables powerful Internet and intranet Web database publishing, bringing expanded productivity to workgroups. The SIIA Codie Awards showcase the software and information industry's finest products and services, and honor excellence for corporate achievement and philanthropic efforts. Awards will be presented May 6, 2003 at the SIIA annual conference, to be held in San Francisco, CA. STUDY SHOWS FileMaker NOW MOST POPULAR DATABASEFileMaker is now more popular than Microsoft Access. According to a study released by research firm International Data Corporation (IDC), FileMaker Pro is now the most popular stand-alone database product in the United States for new database design on both Mac and PC. Sales to Windows users have tripled in the past two years. The competition included: MS Access, Lotus Approach, dBase, MS FoxPro, and Paradox. WHERE DO I FIND A RELIABLE DATABASE GURU?Most people either get a referral from someone who is "into it", or they look in computer magazines, yellow pages, or search the net. Unless you are lucky enough to have an "in", you will probably have to take some chances. Whenever possible, try to find a local firm. Long distance development is not unusual, but it normally adds difficulty and travel expense. Furthermore, how quickly will they later be able to respond to you when there is a technical support problem that requires their presence on site? WHAT SHOULD I EXPECT TO PAY?Software developers usually charge by the hour. Going rates in Southern California currently range between $75.00 and $180.00 per hour. You should see warning flags when it drops below that. (Why is his rate lower than the going minimum?) If it sounds too good to be true, it often is. Also, software development is not a speculative vocation and no experienced developer will work "on the come" (This may be different if he is a software reseller and you have already purchased expensive software from his company--but this does not apply to FileMaker Pro). Expect to pay 25% to 50% of the proposed development time fee before developers begin to work, depending on project size. This usually changes, once a track record has been established between two firms, but reputable developers know that there are too many project variables out of their control and won't take the chance to waste their development time. Software applications necessary to run your solutions are your responsibility. We do not sell software at all and we have no financial gain from whatever FileMaker application(s) you purchase. FileMaker comes in a number of different applications to fit your specific needs, and all are readily available at retail office supply stores. Also, keep in mind that you may have to upgrade your hardware capabilities. Let's discuss these issues early on and you won't be surprised later. WHICH IS BETTER, HOURLY RATE OR FIXED PRICE?Design and actual development of the application can be done on either an hourly or fixed price basis. For new application development, we usually charge by the hour. Some clients don't like the hourly method because they dread the uncertainty. However, unless the proposed solution has been defined in great detail, the developer really has no choice. A fixed price contract can make budgeting easier, but even then you should add a buffer to the quote. Nobody likes to explain cost overruns. Anticipate some modifications, and set aside x dollars or percent for that. WHAT QUESTIONS SHOULD I ASK?Unlike physicians, lawyers and accountants, being a consultant, such as a software developer, often does not require certification. Therefore, know the right questions to ask:
WHAT CLUES CAN I GET FROM THEIR DEMO?During a sales call, many developers will probably fire up their demo disk to show their past work. What do you look for? Make sure they are following certain consistency standards. Do the modules have a consistent look and feel (the interface), or does it look like many different programmers worked on it? If it is a Windows application, does it look like any other Windows program you have seen? How well are time savers, such as dropdown menus, being deployed? A responsible developer will be your guardian for balancing a customer's desires with a system's functionality, but does his demo seem overly flashy and much less functional? Were there problems with the demo itself? WHAT ARE WARNING SIGNS I LOOK FOR?Are they willing to quote you a price on the spot, without knowing much about your specific needs? Is the price they want to charge you suspiciously inexpensive? Are they promising to deliver the completed application next week? Do they want the whole price of the application paid in advance? Are all of the companies on their reference list out of business? None of these items alone are show stoppers, but these are the kind of problems we hear of all the time. The signs were there but people just weren't looking. I HAVE FOUND SOMEONE. NOW WHAT?Now starts the work of project specification (spec). A specification is a roadmap for your application. Usually a series of interviews will be scheduled so the consultant can define in detail your needs and problems, crucial to establishing the appropriate solution. This can take a couple of hours or several days, depending on project size. Do yourself a lot of good and be prepared for each meeting. Ask early for an agenda for each meeting, so you can gather the pertinent information. Remember, you are paying for this process. Being well prepared will reduce your expenses. WHAT SHOULD A SPEC CONTAIN?It can contain all sorts of useful information, such as rough drawings of screen shots, data structures, detailed descriptions of each component, etc. Make sure is that the bulk of it is in plain English, not technical jargon you don't understand. If you can't understand the spec, you can't be certain the developer is clear about your needs and that will be a good trainer. If the spec is vague, how will you know if a certain feature was included, or if it should really be part of a (later) change order? Are all the features you want included in the proposal? HOW MUCH WILL AN APPLICATION COST ME?Loosely and on average, the cost of an application of medium size and complexity will cost somewhere in the $10,000 to $35,000 range. If there is much less time to define and build an application, it can be difficult to squeeze enough functionality out of it to justify the expense. We have seen it done, but it's rare. Fight your urge to go with the lowest bid price. Software development is not a throwaway consumer item. It is more like a marriage or plastic surgery where you may not want to go with the discount job. Make sure we get your problems well defined and solved the FIRST time! Price is important, but with custom software development it should definitely not be your primary consideration. WHAT DO I LOOK FOR IN THE CONTRACT?
WHAT IS THE PROCESS OF BUILDING SOFTWARE APPLICATIONS?Will the consultant just show up three months later with a finished product? You surely hope not. Most competent consulting firms engage in careful interaction with their clients, leaving lots of opportunity for user feedback. Our community defines the process of developing applications as having four distinct stages: Mockup, Alpha, Beta and Final versions. We like to get to the mockup or prototype stage very quickly to ensure that we REALLY understand your problem. Once we are comfortable that we can "get there from here", we start to lay in the real code during the alpha phase. After that module passes our Quality Assurance process, we deliver it to the client as the beta version. We may have a final product to a client within 30 days, others may take months. Many companies like to deliver the main components of an application one piece at a time. This way the client can ease into the new application. On longer projects, we like to roll out new components every two weeks or so until all components are installed. ARE THERE ANY HIDDEN COSTS?Since we spent the time needed upfront defining the application carefully and properly, we should not really have to worry about spending any extra money (on change orders), should we? In the real world, even with all the upfront work, you are going to miss some things. As you go through the development process, you will become more educated about your needs and what you really want. You need a detailed enough specification to know which feature was included, and which was not. If it really is a new scope or feature you are requesting, it should be added with a change order and consultants should charge you for their time. Also, beware of "Feature Creep" or "Solution Creep": As the development process goes along, customers will (nearly always) want to add a little bit of functionality here and just another small little feature there. All of those are extra, and you are going to pay for it. MY APPLICATION WON'T HAVE ANY BUGS, WILL IT?Bugs are a reality: Most firms do a decent amount of testing, but you want to make sure a solid testing procedure is in place (Do they have a test plan?). To save time and money, most developers work with a lot of reusable code (that's a good thing), so that only a certain percentage of your application will be "virgin code". Who pays for bugs? Few companies will fix all legitimate bugs free for the life of a solution. More commonly, you'll find a one month no-charge period to clean up legitimate development bugs. As in most industrial QA environments, the 80/20 rule applies to software: 80% of any problems stem from 20% of data entered that does not fit the design mold, i.e., many problems are not system bugs but related to the format of data entered. This is particularly the case when migration of historic data from an old source into a new system is involved. Because of all this, you should do your part to thoroughly test the application, once installed, within a reasonable time frame. Finding an obvious bug or data entry irregularity two years after the application was delivered to you should just never happen. WILL I NEED TECHNICAL SUPPORT?Oh Yes You Do! Some companies will try and set up a third party agent to support their applications, but unless the one supporting your application actually knows the original code, you may end up getting little support. That's not to say it can't be done, but the odds aren't that good. In the beginning, ask what support infrastructure they have. How is technical support paid? Do you go with a service agreement or do you pay by the hour? There really is no single right answer. The benefit of the hourly method is that you don't pay for services until you need them. If the company disappears on you, you haven't paid for an agreement you will never benefit from. On the other hand, if you think you will really need lots of technical support, a service agreement may have little benefit: most have a limit on the number of hours covered per month and it may not be all that great of a deal. Most of our clients like the hourly method for the above reason. Be very scared if someone tells you their support is free for the life of your project. How long are they going to be around? WHAT'S NEXT?We hope we have helped you to get a general idea of the process and provided you with the knowledge to steer clear of potholes in the road ahead. We are certainly ready to answer your questions, specific or general, and would love to count you among our clients in the near future. Contact us Now:
|