Our Agile Process
Our Agile Process is a time boxed, iterative approach that builds software incrementally from the start of the project instead of trying to deliver it all at once near the end. It works by breaking projects down into small pieces of user functionality called features, prioritizing them, and then continuously delivering them in short two week development cycles.
We’ve compiled this graphic to help our clients understand our Agile process.
Contact us today for a free solution consultation.
Just click on the image to see it full size.
Our Agile Chart
Here’s how it works:
Initial Discovery & Requirements Gathering
Discovery is an information-gathering process and is meant to dig into the details of what is important to your organization. The scope and depth of research and inquiry will differ from project to project, but the results are the same: valuable data. The more information we gather, interpret, and comprehend, the more prepared we will be able develop a product on budget and on target and on time.
We will typically propose that we come onsite and spend a half day, a full day or several days if needed. We will spend this time eliciting a vision and requirements from you, key stakeholders and process owners. We can usually offer this service for a flat fee.
1. Refine Features
The initial feature list is based on your vision and our business analysis together. Creating the feature list is a joint effort where we capture your business needs in the form of stories that clearly describe what your users want the software to do. We need to create a high level description of the end product’s features and break out those features into functional areas to help identify any dependencies that may influence the order in which build features.
During development, the requirements listed in the ordered feature list — which is updated each development cycle — will evolve as users begin using the software and new ideas develop. This is a natural part of the process. Agile software development encourages this kind of discovery.
2. Review & Plan Features
During the first planning meeting, we decide the highest priority features and select enough of them to take two weeks of development time, or somewhere between 20-60 development hours depending on how quickly the project can move. We will ask you enough questions about the features to be built in the next development cycle so that they can be turned into the more detailed tasks needed to build the feature.
At the end of each cycle, a review meeting is held. During this meeting, we will show you a working demonstration of the new features. You likely will have been able to test the software before this meeting as well. This review meeting is informal, but it is intended to give an honest review of the completed features. Some features will be done, some will need tweaks, some may inspire other ideas that we will capture as enhancements.
Participants in the review typically include the product owner (you), the development team (me), and stakeholders that are directly affected by the features under development. During the review, the project is assessed against the goals determined during the previous planning meeting. Ideally, we have completed each feature selected for the development cycle, but it’s more important that we achieve the overall goal from our last planning meeting.
3. Develop Features
We iterate through two-week development cycles and we keep doing this until we’re done.
Of course, we estimated the features and the number of development cycles up front, but depending on time, budget and scope constraints, these may vary a little.
At each two week cycle, we will review the remaining feature list, remaining budget and remaining time. The health of the project is transparent throughout this process. Sometimes we underestimated the complexity of a feature to solve a particular business problem, but because that feature is essential to the business, we may have to make a difficult decision to trim some other features and/or reprioritize them. Alternatively, sometimes a feature takes less time than what we estimated and it becomes possible to build some enhancements we’ve captured along the way.
Our focus is to continue completing the most valuable features for your business, those features that give you the most return on investment. I find that after going through a couple of development cycles together, we begin to learn more about each other so that the whole process becomes more collaborative and productive.
The scope, time and budget of our project is transparent throughout; Every two weeks we revisit these three boundaries and make decisions about the relative value of the features we plan to build.
Much of the success of a project lies in making sure the initial discovery process actually uncovers the complexity of the business processes captured in the software product. It’s very important to take the time it takes to go through a good initial discovery phase before ever writing a line of code.
4. Working Software
Each development cycle is intended to deliver a piece of working software. This means that at the end of each cycle, we’ve produced a coded, tested and usable piece of software. That means you always have a working piece of software that has your most valuable features, and it works!
If you have questions, please don’t hesitate to contact us.
ABD Enterprises specializes in custom FileMaker database development and can help your organization streamline business processes, improve workflow, and increase productivity. If you need help developing a custom business solution for your organization, we can help.
This is an overview of ABD Enterprises’ adaptation and implementation of Scrum for FileMaker product development.