Whether you are starting a new project from scratch or are planning on improving upon an existing application, we will work closely with you every step of the way.
Developing a custom database solution is a very collaborative process where we will work together to insure a solution that meets your needs. We use the agile development process because it works well to deliver a high quality application that can adapt to your needs, even in situations where our customers may not be that familiar with custom database development.
The Agile development process values an incremental development approach where the requirements can evolve as the project does. By quickly releasing versions of the software and reviewing it together, we can adapt the software to respond to changing needs as these changes are discovered.
We have found that breaking projects up into development iterations using agile methodology helps to divide the work into more manageable chunks and gets a working solution in the hands of our clients faster. The sooner our clients can start working with the solution, the sooner we can see areas of misunderstanding or missing business rules. This works well to ensure deliverables meet expectations and budgets and timelines are met.
The project will start with a broad planning phase where we will ask a lot of questions about your organization and the business processes to be codified in the custom database solution. To get things started in this phase, we have developed a project questionnaire. We will arrange an in-person meeting or a virtual meeting using GoToMeeting. Depending on the project, we may create mockups of the proposed screens in order to insure we are on the same page with our client. The end goal of this phase is to have a Product Backlog, or list of initial requirements for the database.
After having completed the Product Backlog, we will begin with the development and release phase (or sprint). We use Scrum methodology with the goal of delivering working software at the end of each 2-4 week sprint. There will be as many sprints as necessary to reach deployment of the fully functioning solution.
For each sprint, we start with a sprint planning meeting to determine a concise detailed list of requirements (the Sprint Backlog) that will be delivered at the end of the sprint iteration. This will be a list that is pulled from the Product Backlog. This will involve a meeting and will allow us to gather the information needed to define the work to be done in that phase and continue to monitor costs in relation to estimates. A key component to a successful sprint is limiting the backlog to a feature set that is achievable in the 2 to 4 week time frame.
Once the Sprint Backlog has been determined, our development team will spend 1-4 weeks completing the list of features and preparing a functional end product for you. During this phase we will use a tool like Trello or FogBugz to manage the project. Often we will create a Trello Kanban board and share it with you so that we can all collaborate and track the progress of the project. Your involvement with testing during the sprint will be very important.
Once the Sprint Development is complete, we will schedule another meeting to review the progress and (if necessary) demonstrate the features that have been completed. At this time, we will work together to review feedback and revise any requirements as needed. In the retrospective we will discuss what went well and did not go well from the last sprint as we prepare for the next sprint.
Testing is a critically important part of the custom database development process. We don’t know your business or organization the way you do, and so your active involvement in testing the solution will be essential to the success of the project.
Once the project is finished, we will always be available for ongoing support. Our commitment to forming long-term relationships with our clients has given us the opportunity to work with some clients for as long as 25 years now.
GoToMeeting - used for virtual meetings
TeamViewer - used for remote access to servers
Trello - used for project management
FogBugz - used to track issues and ongoing application support