The Custom Database Application Development Process
Prior to the start of any development process it is vitally important to collect, refine, qualify, and document the project requirements. Fundamental issues such as operating system selection may be dictated by organizational policy or resources and can have a direct impact upon the database platform selection. Consideration also needs to be given to the nature and use of the proposed database application: Will the software be web based, internal use only (Intranet) or for public or internet based use? Will the database be used primarily for data lookup or be responsible for heavy transaction processing? The answers to these questions help to define the best database choices.
The operating environment (operating system and database platform) are just a few of the issues facing the database consultants and business analysts. The database application development plan also needs to include detailed documentation on the project objectives, a thorough analysis of the business processes involved along with their respective business rules, and an analysis of any database integration requirements. The completed requirements document will also need to define all system interactions including sources of incoming and outgoing data, use case studies documenting software user interaction with the software, and process flow documentation detailing the sequence of events during the processing cycles. ISG currently uses an Agile development process based on Scrum to insure that database development is completed in small increments approved by the client.
Custom Database Software Planning:
The software requirements document forms the foundation for the detailed database application development planning modules. These modules typically include a database design plan, a software development plan, a test plan, a deployment plan, and a training plan. The detailed plans are designed to provide an organized view of the project tasks and to provide milestones to measure the application development progress in regards to due dates and estimated costs. In addition to the master plans, ISG also uses ScrumWorks to create measurable sub-tasks related to our Agile Development process.
Most ISG database development software is built using a relational database design model, but not all. Each project is evaluated to find the best match of database platform, optimal database normalization levels, use of database functions such as stored procedures and triggers, and evaluation of third party database tools such as flexible, high performance grid displays. Although we start with recommended, industry accepted procedures, flexibility is also a key element. For example, a data warehouse development project database is often constructed with relaxed data normalization rules. This non-conformance is necessary because the application is designed to provide high speed reporting from database components designed specifically for the required output. These modeling variations can also be seen when the data warehouse is used for data mining software applications. This approach is contrasted by an operational relational database where data normalization is necessary to insure the referential integrity of the database.
Database design activities also include the development of a detailed data dictionary containing the information related to each data element contained in the database, and a database model showing each database table, its data elements, keys, foreign keys, and relationships with other tables. Additional documentation is also provided to detail the use of the stored procedures, triggers, Windows and web services, and other specialized components used by the database.
ISG provides custom database development services for a wide variety of organizational and business applications. Our experienced developers build database driven smart client desktop and web software using the latest tools and technologies. In addition to Windows development using .NET, C#, VB, ASP, and Access, we also develop Open Source projects using PHP, Python, Perl, and Ruby on Rails. Popular database platforms supported include MSSQL, Oracle, MySQL, PostgreSql, and MS Access. Our database programming and development process is tracked with traditional project management tools such as MS Project and further enhanced using ScrumWorks to manage our Agile Development approach. ISG project managers and business analysts maintain client contact throughout the project and conduct regular design and test sessions online using GotoMeeting and other Internet tools.
ISG test plans typically include unit testing, module testing, alpha testing, and beta testing prior to the on-site user acceptance testing. Unit test plans are normally conducted by the ISG development staff and often involve GotoMeeting client participation. This is also true of module testing but, in the case of Web Database Development projects, we normally stage the web site on our internal web servers and invite clients to conduct additional testing / evaluation on their own. Alpha testing can also be performed in this manner. Beta tests are usually performed at the client site as they involve heavy user interaction and where practical, parallel processing if an existing software application is being replaced. During each test phase ISG quality assurance personnel use our ScrumWorks tool set to track all test results through final resolution or disposition. This processes insures a documented dialog with the development staff and also provides a detailed audit trail of all test activities.
Implementation, Training and Support:
Implementation strategies are normally developed by working directly with the client's IT staff. In the event no staff is available, ISG will plan and execute the implementation. Training typically starts during the Beta Test phase. ISG provides system and user documentation to assist with the testing, training and acceptance process. As formal testing is completed these documents are refined to provide the best possible user experience. We also embrace a 'train the trainer' model to enable our clients to have on-site knowledge experts and to help control training costs. After software acceptance we provide maintenance and support services on a time and material basis or, if you prefer, on through a software maintenance contract.
Contact ISG today to discuss your database development project or call 781-938-0712 for a free, no obligation telephone consultation to review your basic requirements and development priorities. To the extent possible, we will provide recommendations and if sufficient detail is presented, order of magnitude estimates.
Custom Database Application Development by Experienced Database Development Professionals