Top Bar

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 powerful and successful 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 and prevents the common and unpleasant “that’s not in the specs” discussion.

We use automated testing to ensure that the software that we write always works as intended, not just when it’s first written. Having a library of automated tests allows us to make changes freely without having to worry about breaking things elsewhere in the software. The tests will tell us if anything needs attention after a change.

Our Agile process looks like this:

  1. We work together with you to identify a set of User Roles, which are the different types of people who will be using the site.
  2. We’ll work together to create a list of User Stories, which are brief descriptions of things that users can do in the site.
  3. We will give each User Story an estimate, as a number of Story Points. Story Points are the currency of Agile, and correspond roughly to a half-person-day of work.
  4. You’ll prioritize the User Stories, based on the value they add to the project and the amount of time we’ve estimated them to take. You’ll identify what order you’d like to see them completed in, and categorize them according to MoSCoW, which is our abbreviation for Must Have, Should Have, Could Have, and Won’t Have.
  5. We’ll estimate how many Story Points of work we can complete in a two week Iteration and select as many of the highest-priority User Stories as we can fit into an Iteration.
  6. We’ll implement the selected User Stories. This will often involve having discussions with you to make any decisions about interface or functionality.
  7. At the end of two weeks, the selected User Stories will be 100% complete and tested. You’ll be able to use the site and verify that it works correctly.

We’ll repeat steps 4-7 as many times as necessary. You can re-prioritize User Stories or add new ones at any time.

With Agile methods, we create our estimates for the entire job by breaking the job into User Stories, which are small, independent tasks that add value to the project. We then estimate each User Story, working in a two-programmer team to broaden our perspective. These estimates are counted in Story Points, which generally correspond to a half-person-day of work.  The User Stories are intentionally brief and short on detail. This allows us to defer lots of decision-making until we're ready to actually do the work and our collective knowledge of the project is much greater. At that point, the decisions we make about the project will be much more accurate. Agile acknowledges the fact that it's usually not practical to know everything about a project before you've even started it!

Key benefits of this process are:

  • Flexibility. The ability to change course or make adjustments reduces risk and ensures that you’re getting what you need. You’ll also never have to have the common and unpleasant “that’s not in the specs” discussion.
  • Early Value Delivery. In traditional software development, you don’t view the completed software until the very end of the process. With Agile, the most important parts of the project (or User Stories) are completed first and you can start using your site as early as two weeks into the process. New features will be added every two weeks until we’re done.
  • Transparency. You can view the project and give input throughout the development process, not just at the beginning and the end.