Singlebrook is Agile! We prefer to use an Agile web development process whenever possible. It's a well-designed, flexible and efficient method that results in reliable, scalable and powerful web software. The Agile method involves a lot of collaboration, and we often work in small teams to take advantage of the breadth of knowledge, experience and ideas from our different developers. Clients are involved in the process every step of the way to insure that the application is meeting their needs. You’ll be able to use the site as early as two weeks into the development process, which allows you to give us early feedback and verify that we’re building the right solution for your needs. Agile development makes it easy to incorporate changes to a project midstream if the client's requirements or ideas move in a different direction. This flexibility is a key benefit!
Learn more about the Agile process here.
Our developers are also trained in the traditional Waterfall Method of software development. In the Waterfall Method, each step is completed and then leads to the next: Requirements Gathering, Functional Specification, Design, Coding, Testing & Maintenance. With Agile, we maintain greater flexibility by going through the steps in the Waterfall Method in a more iterative fashion with the project broken down into smaller pieces.
We use a web-based tool called Tracker to manage our Agile projects. Your main contacts will help orient you in how to use Tracker to help manage your project. Using this tool to collaborate with us results in a more efficient and more inexpensive process.
It's important to acknowledge at the beginning of a project that changes will happen throughout the process. Agile is a system for acknowledging that change is the norm, not the exception. Effectively managing change is the key to a successful Agile project. For this reason, estimates start out broad and general and get more detailed and specific as the project progresses and as everyone's collective knowledge of the project is greater. If you spend a lot of time on very specific and detailed planning at the beginning of the project, then when things inevitably change, all that planning time has been wasted. It's more efficient to plan generally at first and do the more specific detailed work at the time when you're tackling those features. We work in weekly iterations and find that planning in one week increments results in better efficiency and accuracy.
Agile theory acknowledges that it is impossible to know everything there is to know about a project before you've even started it. The original estimate for a project is always just a broad starting place that includes the user stories that the client and developers think will be needed for the project. Inevitably, there will be additional user stories, chores and bugs that will be added throughout the course of the project by both the client and the developers. This can happen for a number of reasons including: 3rd party integration issues, technical debt on legacy code, unanticipated chores and bugs, additional necessary functionality that wasn't anticipated during the original estimating process, changes requested by beta testers and early product adopters and more. We will send weekly status reports and have weekly check in meetings that provide opportunities to review the budget and timeline and estimate and prioritize features for the coming week. When user stories get added to a project, it often affects the budget and timeline. The client can decide on a weekly basis whether or not to approve the budget and timeline changes resulting from the additional stories or can choose to eliminate or de-prioritize other stories by moving them back to the "icebox" in Pivotal Tracker. The project manager, developer and client all review the project status reports each week and can flag and discuss any questions or concerns.
The client should acknowledge that they have reviewed and approved the status reports after receiving them each Monday. If status reports don't get approved by Wednesday, the project might get delayed. Prompt approvals are key to keeping the project on track. If a client is out of town and can't approve a status report, then they should provide another contact or communicate with the project manager to work out an alternate plan.
When presented with changes in estimates or budget in Tracker and the Status Reports, you have three choices, known as CAPE:
1 - Choose to Approve the additional work and increase your budget.
2 - Postpone the additional work by putting it in the Icebox and approving it later when you’re ready to increase your budget.
3 - Exchange the additional work for other items that have the same point value and keep your budget the same.