Custom Database Development

How to choose the best database management system software for your business? Is one DBMS that much better than any other? This is not a simple question to answer and it can take on many different aspects.
(What is a database…)


If you are a big corporation with hundreds of employees using and sharing the company data and documents, you would probably need to go for the big guns, such as IBM DB2 or Oracle. If you are not in that range and you need a database management system to handle small or medium business with 50, 100 or maybe up to 400 employees, then you might go for some alternative options in order to lower TCO (Total Cost of Ownership).

Here are some GENERAL TIPS to consider initially:
Try to find out as much as you can about various platforms in order to understand their purpose and capabilities. Check the reviews to see what is available (make sure that these reviews are recent).

I am not suggesting spending months committed to an in-depth study of complicated database systems, just spending a few hours for a couple of days, at least, to get generally informed on the subject.

There is plenty of advertising going around, and sometimes you need to spend hours on the subject before you come to the article that clearly informs you about the product you are interested in. I am mostly writing about FileMaker Pro. I strongly believe it is a great solution, but i would never say that it is the only solution suited for all.

To learn more about FileMaker Pro, the platform which i am working on, you can go to FileMaker Pro official website or FileMaker Pro Forum to view various opinions and issues that common users post.

It is very important to determine why do you need the database system. Is it for your business or for personal use? What are the things that you want to organize and consolidate? Are you intending to use the system partially (for example only for accounting) or fully. You need to ask yourself these and other questions to successfully ascertain your goal.

This is not always as easy as it looks. You will have to choose among a number of possibilities – fewer than before as only the strongest companies are still standing, but there are still a lot of them. They rarely come for free, so you better spend some time in planning, rather than throwing money against the wall to try this or that and end up frustrated. I would suggest checking the following as guidelines:

  • What is the size of your company?
  • How many potential users will use the database?
  • What is (or will be) the expected turnover of the company?
  • How will business develop further?

When you define this, you can choose the appropriate software that will at least closely fit both your needs and your budget. For example, if you defined yourself as a Corporation with more than 600 Employees or a user portal with over 1000 users a day, you should call on one of the big guns such as IBM or Oracle and subsequently carry a correspondingly heavy price tag. Otherwise, if you need to manage less than that, which is more likely, you will find it more appropriate to consider less expensive but still very efficient solutions such as FileMaker Pro or Microsoft Access, or, if it is “a one men show” you might find well sorted system of Excel files completely suitable.

You have plenty of data managing tools that come already with the software on your computer.
Many professionals use Excel, MS Office comes with Microsoft Access, which are all very good database tools. There is a way to combine your email with an address book and calendar and make some kind of database system look-a-like platform that will enable you to manage your contacts and tasks. Only if you need some special, sophisticated and custom features you should consider further then what you already have on your desktop. Remember that more sophisticated systems cost money and time to develop and it is not worthwhile if you don’t have a particular necessity that overpowers what you already have there.
Maybe you just need a program for accounting, but not for managing the contacts, or just a calendar for scheduling tasks but not necessarily creating invoices or invitations etc.

If this is the case, you might not have to buy and get into developing a database management system only to meet this one specific task. There might be a software already out there, ready to meet your needs. This can take us back to the previous point.

For example, i use an encrypted Excel sheet to keep my important data, all the companies i am working with, website url-s, usernames, passwords, IP addresses, instructions, etc. I just keep everything on a separate worksheet and in alphabetical order. After so many years it is quite a large file, but still working for me just fine.
What i am saying is, even though i am a FileMaker Pro specialist, i didn’t have to build a FileMaker Pro database just to handle my business info, there was no need for it. If my business would grow and become more complex in terms of human relations, documentation, workflow and so on, then i will consider developing a database system to simplify my everyday work. Otherwise, this is my opinion of course, it would be like using cannon to shoot a fly, expensive, noisy and does not really work.

Finally, if you are certain that you do need a proper, custom developed or ready-made DBMS, you will face various options. They are all advanced in terms of technology and, except you are a database engineer, nobody would expect you to think about your future system in the technological way.

What you probably do know is your business, and you would be able to recognize the features of the system that will compliment your everyday workflow. Some training in using the system is always available, but if the system is not user-friendly from the start, it might not become much friendlier later on. Of course, some more complex tasks, like accounting, human resource management etc., would require some specific training, but basics should be understandable and strait forward.

Bottom line, your employees will not appreciate if they need to involve in heavy learning, they will prefer to learn as they go, mostly like with any other software. If the features of the system are not recognizable to them and easy to use, they will just avoid using them. And if they don’t use them then it is not really worth-while, is it.

There are a number of companies offering this type of software around the world. While the software itself might be good enough to satisfy your requests at the moment, many of these companies don’t stay on the market for a long time. At some point you will need to develop and change things, upgrade to some new features etc. and you would not like to find out that the company that offered the service in the first place is not working anymore, and there are no upgrades available.

It is equally important to check the community of users of the similar software, forums and tech-networks. These are often a great source of support and know-how, so, you want to know that there is somebody out there that can help you resolve your problem if you have one. Business tends to become reliable of the database management system and it is important to feel comfortable that your system will be able to advance as your business and the IT systems advances over time.

Once when you have these basics figured out and you want to proceed, we can get into FileMaker Pro application platform.

FileMaker Pro 11 IconFileMaker Pro is a complex software application that includes a Relational Database Management System (RDBMS) and Rapid Application Development (RAD) tools.
If you decided to develop a custom data management system for your company (or replace the existing one) and you are considering doing it with FileMaker Pro, here are some initial questions that you will probably ask yourself:

FileMaker Pro is a well-recognized and widely popular brand. By 2010 there were 15 000 000 registered users of this software ranging from companies included in the Forbs list of most profitable ones (such as Lukas Film, Dream Works and UBS) to small business (40% of users). There are numerous reasons for this, here i will just mention a few:

    • The software is produced by the company (Apple Inc.) that is profitable every quarter since its opening more than 30 years ago. Therefore, the investments in research and development of the software are regular and it is improved frequently, yet always backwards compatible.
    • It is fully adjustable to any business, you can change almost every part of the software and customize it to your own needs, with your own logo, menus, layouts, colors, customized business logic, actions and scripts, to the point that you could not tell that it is a FileMaker Pro product at all.
    • FileMaker gives you the power of a highly developed Database Management Application for a competitive price compared to what you get.
    • It has a well-designed and carefully planned user interface (UI) that makes it easy to use both for developers and various office employees.
    • There is a wide range of development tools included in advanced versions of the application that allow a developer to change anything quickly, almost instantly if needed.
    • The system is able to grow with the business, whatever the speed of this progress might be.
    • It is easy to integrate with existing office software and corporate standards that the users are accustomed to.
And so on, i really loved FileMaker Pro from the start and my list of reasons for using this platform could obviously go forever. Most important is that it proved as a reliable and solid base for growing and maintaining the business, it is developed easily and employees use it gladly.
There are a few steps usually involved in the process of creating a custom DBMS solution. A RAD (Rapid Application Development) platform such as FileMaker Pro allows you to install some basic solution, a template, or a readymade (“business in the box”) solution and start immediately, then develop the system as you work on the daily basis. This is really a great feature for some business environments as it uses minimal planning in favor of rapid prototyping. Unlike when using the System Development Life Cycle (SDLC) or “Waterfall methodologies” which is the opposite method, with RAD you could practically see your system as it is developed, adjust things as they occur and change them quickly when you want to.
However, there are a few phases in the process that shouldn’t be skipped in order to get to the better organized system:

    • Phase 1:Initial Consultation – this phase is the way to get to know all the subjects that would be involved in the project and lay the grounds for the future relationship. A lot of work of a database developer is done remotely and the communication is held over the phone or using emails, so it is not bad to meet the people involved in the process at least in this initial phase. It also provides a chance to take a quick look at the current system and go over some general ideas on what could be improved and what would be good to keep as it is. It is very good to relax people in regards to the new system and convince them that they are getting something better, which, for the users, usually means less complicated and more powerful.
    • Phase 2:Requirements Planning – users, managers and IT staff discuss on business needs, project scope, constraints, and system requirements. The team has to agree on the key issues and obtain management authorization before moving to the next phase.
    • Phase 3:User Design – during this faze users interact with the developer in order to translate user needs into working models. User design is a continuous interactive process where the DBMS developer frequently communicates with users, online or at workplace, to lay a foundation of the system. The developer can watch users perform specific tasks and comb through the finer points of the project, here what they have to say, and make a better plan allowing the developer to better understand, modify, and eventually improve a working model of the system to meet the user’s needs.
      At the end of this faze the clear plan should be developed with attention to the detail and deeper aspects of system functionality, business processes and business logic (actions).
    • Phase 4:Construction – maybe this phase should be called final construction, as with RAD you would be constructing the system all the time from the phase 1. This phase is supposed to focus on program and application development, mostly like it would be done in the System Development Life Cycle (SDLC) method. Here the developer should take some time to prepare the database tables, fields and relations, setup the security levels, download and prepare necessary software, plug-ins, drivers, write the scripts, design and organize the layouts, and so on, there are plenty very important things to do before importing the actual company data and documents and handing the system to the users. However, with RAD, users usually continue to participate and can still suggest changes or improvements as actual screens or reports are developed. Actually, in the real world they usually just continue with using the system from the faze 3 and then it develops as they work. This is not the best practice as far as i am concerned and i always strongly advise against it, but at the end of the day, it will be whatever the management decides.
    • Phase 5:Cutover/Deployment – this includes data conversion (import), testing, changeover to the new system (if not done during the phase 4, which is not recommended, but happens a lot) and user training. By this phase, the users might be well into the system, using it and informing each other of the features, so this last phase is pretty much compiled with the previous one. Compared with traditional methods (SDLC), the entire process is compressed and the new system is build, delivered, and placed in operation much sooner. It is not rare that the system is tested in the actual live working environment, so the developer has to be careful and mindful about this strait from the phase 1 and build appropriate security features to control this process further without putting system in danger.

It is important to mention here that, although RAD methodology provides a good framework for faster project development, successful implementation often depends on project type, schedule, software release cycle and corporate culture. The RAD systems are often advertised as an “easy ride” towards getting a sophisticated database management system, which seams wrong, not only in my opinion. This methodology definitely facilitates the process and it is easier to understand and deploy, but to get to the really functional system you will still need a serious approach, with a lot of planning and a lot of hard work. Some of the largest software vendors, such as Microsoft and IBM do not extensively use RAD in the development of their flagship products and mostly still rely primarily on the more traditional “waterfall methodologies” with some degree of “spiraling”, more related to RAD.

The cost of developing and implementing the DBMS using FileMaker Pro application platform will depend on the size of the project and the preferences of the user. However, you might consider some guidelines in regards to what your expenses might be. There are six groups of products/services that you will have to consider when developing the system:

  • Basic FileMaker Pro software – FileMaker Pro is now on version 11 and there are various software packages in offer, all coming with some different features and a different cost. There are 6 main products offered for database development and management in the business and personal environment – FileMaker Pro 11, FileMaker Server 11, FileMaker Pro Advanced, FileMaker Server 11 Advanced, FileMaker Go and Bento.
    Let’s say you have a medium sized company with 30 employees. If you want to make a full use of the platform you would need to by one copy of FileMaker Server 11 (€2.320 in Europe), a copy of FileMaker Pro 11 Advanced (€386) for the Database Administrator (if you are not using an after-sales service which developers offer sometimes) and one copy of FileMaker Pro 11 (€232) for each computer in the office where the database will be used. This would come up to €2706 for the server and administration and further, let’s say 10×232=€2320 for the office employees software. All in all, to setup the FileMaker Pro software on the server and 10 office computers + 1 for the administrator would cost you around €5026. The prices are lower if you download from United States, which doesn’t make a lot of sense, but this is the case.
    There are various types of discounts on the cost of software if you are buying packages of 5 and more, and there are also license agreements, where you can buy a license for using the software just in a particular location or for agreed period of time.
    There are some ways to cut these costs.
    For example, if you buy FileMaker Server 11 Advanced, you could publish your database on the web and use it via the browser. This way some of the more complicated functions would be lost but most of the functionality is still there, so, employees witch do not need to execute these complex tasks might work with the database via their web browser and never tell the difference.
    On the other hand, if you don’t need your database published on the web or connected to other resources, such as SQL or Oracle database, you don’t have to by the advanced version of the FileMaker Server 11, you could work just fine with the basic version which is about 3 times cheaper (€773).
    Here i will not deal with Bento and FileMaker Go, these are popular products for Apple users, if interested visit www.filemaker.com for more details.
  • Predeveloped FileMaker Pro software – There is a number of predeveloped solutions on the market that are build with FileMaker Pro application platform. Some of them are free, but the more complex ones come with a price. There are 30 predesigned template solutions included in FileMaker Pro software. These are free and ready to use right away. They are made for managing the contacts, inventory, invoice solution is pretty popular etc. On www.filemaker.com  you could read more about these. Every FileMaker Pro developer would as well have a number of predesigned solutions built over the years.
    There is a number of recognised companies building professional solutions with certain garanties and selling them on the market as a “business in the box” or to compliment a particular area of business, such as accounting, for example. If you are concidering making FileMaker Pro your platform of choice, you may want to see what are these companies offering. These solutions are usually sold to you with an open administrator security level, so you could start from there and further develop and adjust to your business needs. They range from approximately €1000 to a few thousands and could be a good value as they can significantly shorten the process of developing a custom solution compared to doing this from scratch. On the other hand, it is more dificult for your developer to manage the solution that is made by some other developer and if there is a lot to change, it is sometimes better to just develop from the start. Some of these solution show their week spots only after some time of work and when loaded with a quantity of data (usually becoming very slow) and then it is really dificult to fix the problems while maintaining the office workflow. It is really a good idea to find a good advisor if you want to buy one of these as ones are better then the others and you dont always get what you see initially.
  • Necessary server and computer software – Server technologies that best support FileMaker Server 11 on Windows platforms are Windows Server 2008 R2, Windows Server 2008 and Windows 7. You could implement the system on Windows Server 2003 as well but this would not be the best choice. If you prefer Macintosh it would be Mac OS X Server v10.5.8 or v10.6, but here i mostly discuss using FileMaker Pro platform on Windows systems.
    The price of Windows Server 2008 R2 Standard with 5 CALs (5 Client Access Licenses) is about €810. This is the lowest price according to the official pricing and licensing guide, it could grow and vary depending on the additional features you want to have if you are planning to use your server for some purpose other then serving FileMaker Server 11 application. Basic 5 users edition of Windows Server 2008 could be purchased for about €785 and Windows 7 Professional costs about €200. Again, there are various offers on the market and the prices vary from country to country but these prices are more or less accurate guidelines at the time this is written (January 2012).
    If you only want to host a FileMaker Pro database platform, you could also consider 3rd party hostingfor a much lower initial price. In that case you would pay a monthly fee (starting from €40) for hosting your files on the other company server and avoid the costs of the Windows and FileMaker Server software, and the actual headwear equipment (the cost of which i will discuss in the later paragraph)On the office computers you don’t need to install any special software apart from the FileMaker Pro package. Any version of Windows from XP onwards will do, only XP needs to have Service Pack 2 installed (this software can be downloaded for free).
    However, to take a full advantage of the FileMaker Pro platform, you should install and use some other software applications, mostly the ones that are used anyway in the office environment. This will be discussed in the following paragraph.
  • Other software products to be used with the application – in order to fully use the system you will need to integrate it with some other applications that are commonly used and are compatible with FileMaker Pro. These are Microsoft Office (Latest version 2010 Business costs around €250 single version), Adobe Acrobat Professional (around €160). These prices are for the latest versions of software, of course there are plenty of bargain offers on the market where you can buy some older versions of the same software for a fraction of price or even get it for free.
  • Necessary hardware equipment – hardware requirements include a server computer, desktop computers and notebooks, switchboards, routers and Ethernet cables, printer (or printers), scanner (if required) and backup discs. The prices of these again are very different depending on the users’ preferences. FileMaker Pro software does not require advanced and expensive hardware, most of the common computers would do the job. However, the more you pay, more you will get in terms of speed, ease of use, upgrades etc. It pays to think of what will the computers be used for inside the office. You would probably need to provide a faster and better machine for the administration workers and the accountant, then for the office workers as the workload done on the computer is usually not equal.
    The server computer has to meet some minimum requirements, at least 1.4 GHz, 64-bit dual processor, minimum 3 GB (preferred 4GB) of RAM memory, at least 200 GB of disc space, DVD drive, Super VGA (800 x 600 minimum) monitor, Keyboard and mouse and Internet access.
    If you are using VOIP or SKYPE phone system, or any other system that uses internet connection, it would be good to have a server on the separate router and connection.
  • Cost of professionals that you need to employ - to install the software and hardware, organize the office network, plan and develop the system and deploy the system at the final stage. These costs are different from country to country (i have been working in 5 countries – UK, Spain, Netherlands, Germany and Serbia and the wages are slightly different). Depending on the project, the approximate price per hour for a developer comes to 15-20 Euros, and 10-15 Euros for the administrator. You will probably have to spend 10-20 0000 Euros in the first 4-6 months, to pay all the professionals involved in the process of developing and deploying the database system (Software/FileMaker Pro Developer, IT technician, Hardware engineire) and then employ an administrator for the regular monthly wage usual in your region, to maintain the database. If the database is not supposed to change frequently, you may also contract a developer for a few hours per month of database maintanance or “on call work”.
What kind of a time span should you expect before your system is installed, deployed and ready to go. Again, this depends on the complexity of the project. The good thing about RAD platforms, such as FileMaker Pro, is that they can be installed and deployed before the system is completely finalised and the employees could start using the system to some extent even if it is not completely functional. As an example, lets say we have a company with 30 employees. It is necessary to spend at least a week (more likely 2 weeks if there is more then 10 computers and more then one room in the office) in planning and installing the hardware and necessary basic software (mentioned above) and testing the system.
While this is done, database developer can go over fases 1 and 2 mentioned above (Consultation and Requirements planning) and start with designing the software. If during the first 2 fases of the process you figured out that you can start with any of the predeveloped solutions (and, as mentioned, there is a number of them on the market), phase 3 (User Design) can start as soon as the hardware is installed and should not last more then a week, mostly 2 weeks. So, after 1 month you could have a system installed in your office ready to store your data and do the most important tasks. Then, in  phase 4, you have to develop it further to the point where everything is working fine and as expected, all the documents are imported and merged, emailing system is setup etc., and this usually takes about 2 months. Most of the work belonging to phase 5 would be done by now and you may give yourself a month more to polish everything. So, in the good case scenario you would have to plan about 4 month before the system is completely functional and tested. If you build from the scratch, it would take a month or 2 to develope all the fields and layouts. After this is done, you usually have a database administrator employed on the regular basis to deal with fixes, backups, additional requests, plug-inns, document changes, records exporting and importing, graphs, stats and the system should be able to grow and upgrade without major changes over time. You could then easier add a department or a sister project to the already existing one, as most of the hard work is done in terms of consultations, design, programming and deployment.
Custom Database Development About custom database development with FileMaker Pro, WordPress web development, web-marketing and social networks.