Call us at (416) 850-2500 - Visit us at 639 Queen St. W, Suite 502, Toronto, Ontario M5V 2B7

How we work

  • "We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan."

    - The Agile Software Development Manifesto

  • "The danger of standard process is that people will miss chances to take important shortcuts."

    - Tom DeMarco, "Deadline"

What it boils down to

The only process that works in every situation is the process that can adapt to every situation. Here are two ways that we've worked with clients in the past.

Agile Development - Discovering the deliverable

What's the fuss about Agile? Well.. during the course of any software project, it's inevitable that new ideas and requirements will present themselves. Rather than viewing this as a problem, we prefer to embrace this change and use an approach which can take advantage of what's been uncovered to produce the best result.

There are many flavours of Agile Development. Organically, we've developed a process that borrows from a number of Agile approaches - Scrum, and Extreme Programming in particular. With our process:

  1. there are fewer up-front specification costs,
  2. we work with you to determine the most cost effective way to deliver a successful product,
  3. we build early prototypes, to try, test, and exeprience,
  4. we learn by the experience, and we embrace needed changes over the course of the project,
  5. we work with a fixed budget, but not a fixed deliverable.. together we decide what's needed and what is not, as we uncover the software in the process.

With our process, projects are broken down into short, intense periods of planning and development called Sprints. Individually, these Sprints have very well-defined scope, and a tangible, testable deliverable. You get something to look at, click, try out, very early in the process. It helps us develop mutual bond of trust and alignment, and it ensures we’re on the right path early.

We've found that Agile approaches, being very adaptable to change, are well suited to web development, where the landscape can change in a day. It requires regular contact between the development team and the client, but we’ve found that the effort yields excellent results.

Here's an excellent article which compares Scrum with traditional project management, and finds many commonalities:

http://deepscrum.wordpress.com/2009/10/17/scrum-as-project-management/

Fixed price, fixed deliverable

But, let's be realistic. Agile is not always possible... For any number of reasons, a client might not have the freedom to engage in the Agile process. Often, when project requirements dictate a fixed price, and fixed deliverable, we engage in the more traditional water-fall approach. One important consequence is that there is significantly more up-front work required to accurately define the deliverable, estimate the cost for development, and plan its execution.

Fixed approaches don't preclude us from building the application or website iteratively, but the degree to which we can change throughout the project is much reduced. A fixed price, fixed deliverable approach works well for projects that have already gone through a comprehensive specification process. It is also good for our clients who are operating within strict development budgets and strict requirements.

In Summary

Fixed approach: You get what you intially wanted.
Agile approach: You get what you discover you need.

Emma Rodgers, Marketing and Promotions Manager for Second Story Press says:

Teaming up with The Working Group was a positive, collaborative experience. TWG built us an attractive and functional website re-design, were always available and quick to respond to questions, and worked within our budget.