October 7th, 2013 by Jes Palmer
Here at Infrared5, our team of designers and developers have dedicated a lot of effort to fine-tuning a process that works most effectively and efficiently for both the client and our team. We want to share why we feel working in an Agile process has not only been successful on our projects in the past, but also want our future clients to have an understanding of how this works in their benefit on upcoming projects.
First off, what exactly does Agile mean? Agile development, as defined by Wikipedia, is “based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.”
How do we begin? Well, we start an Agile project by creating “user stories” that capture the essence of the project. When we start working on the project, we start to plan out a “sprint”, which is generally a two-week chunk of work. All of the people working on the project map out what tasks are needed to fulfill the requirements of the users stories that are selected for the current sprint.
An example of a user story is: “as a user, I want to be able to get help in the application.” For this user story, the subtasks could include: “create an FAQ page”, “design tutorials”, and “add contact link for helpdesk that launches email client.” Each of these tasks would be assigned to appropriate team member who would estimate the time needed to complete his or her task.
Early in the project we would front-load research and investigatory tasks. By only planning out two weeks of work, we can let our discoveries drive the direction of future sprints. The stories that are not being worked on are organized into a backlog, by priority. They are not planned out in detail until we bring them into an active sprint. In front-loading research and design, the team may decide that some of the stories that were created before the project began should be reworked – before any actual work has been done on them. This saves us developer time and the client money!
Agile places a strong emphasis on collaboration, both between our internal teams as well as with our clients. The more groundbreaking a project, the more we want and need to collaborate.
What can clients expect to gain from this? At the end of each sprint we have some specified deliverable, with a retrospective to review our progress and our process as well as evaluate our decisions. This is especially helpful for larger and more complex projects, allowing the development to take a different track than originally planned if something is discovered that guides the development in a new direction.
Being agile in our process allows us to be more innovative in our development. We are proud of having a reputation as a firm that answers client project request with “Yeah, we can build that”, but we also want our clients to know we execute a process that produces the most effective result at the most accurate budget.