Guest post by Alma Abreu
How to Use Agile for Design Firms
Many development and design teams are using Agile to produce higher quality websites and apps. The Agile approach to website development, project marketing, and creative design allows better opportunities for customer and team engagement. By involving the customer in every step of the project, a high degree of collaboration occurs between the customer and the team, allowing the team to truly understand the customer’s vision. Agile allows teams to deliver high quality working software and products more quickly. It also provides more transparency.
Scrum is one of a set of different Agile methodologies that include Kanban, XP, and Crystal. Scrum is a lightweight project management framework that has become very popular with large companies for its ability to scale across multiple teams. Scrum is also perfect for small teams. It is recommended that a Scrum team consist of no more than 7-9 members who come from different areas of an organization. For website design projects, a typical Scrum team consists of a Scrum Master who facilities and coaches the team on the Scrum framework, developers, testers, architects, UX designers, graphic designers, and content developers.
User Stories as a Communication Tool
User stories are brief descriptions of a user’s need (usually a customer). Agile methodologies utilize user stories because they are very easy to understand and create. User stories are used amongst Scrum teams to easily communicate requirements in place of long functional requirement documents and are best when written by the actual customer. A customer knows the needs of the company and are highly encouraged to write their own user story as opposed to a Product Owner. Stories are typically placed on cards or sticky notes and hung on whiteboards visible to the entire team.
Here is an example of a customer requirement for a restaurant takeout ordering system written as a user story:
“As a customer, I need to be able to select a food item from a menu in order to purchase it.”
The main purpose of this user story is to facilitate discussions between the development team and the customer to clarify customer needs. User stories lead to conversations that help the development team receive business and technical requirements needed to build software. They should explain who the user is and why they need the ability to do something.
A user story also needs to include acceptance criteria which can be used by teams and the customer to validate implementation of a function This can be included as validation items within the user story.
Agile Scrum Ceremonies
In Scrum, meetings are known as “ceremonies”. Development teams that use Scrum will hold a daily 15 minute meeting, known as daily standup meeting, in the morning before teams begin their day. During this meeting, each team member needs to answer three questions:
- What did you do yesterday?
- What will you do today?
- Are there any roadblocks or impediments in your way?
If the team is together in the same office, then they can use a Scrum whiteboard that holds the user story cards and lists the status of each. For distributed or remote teams, Scrum planning software is available to help organize the user story life cycle until it is tested and deployed. Popular systems include Atlassian Greenhopper, RallyDev, Version One, and Pivotal Tracker. There are many other systems available which are more affordable for smaller development shops.
Another important ceremony is the sprint planning meeting. During this meeting, the team reviews the product backlog, which contains several features and user stories compiled by the customer or product owner. During this meeting, the team decides how many features can be completed within a given iteration period, generally two weeks. After certain features have been completed with a sprint, the team meets with the customer and holds a sprint demo ceremony where they present the functionality that has been completed. During this meeting, the customer can give feedback and either accept or reject the works. If the customer accepts, the team can deploy the code to production.
After each sprint, Scrum teams hold a ceremony called a sprint retrospective during which they discuss the last iteration period, what worked, what didn’t work, and what could be done better for the next sprint. This serves as a lesson learned for the team. Instead of waiting until the end of the project, the team discusses how they can improve after every sprint.
Agile is a powerful tool that can be used by design firms of all sizes. By allowing the client and the team to collaborate during the entire phase of the project, the team can understand what is most important to the client’s business and can deliver the features that provide the most business value to the client. Breaking down the project into small, functional units allows the team to focus on high quality development of the finished product.
Alma Abreu is the founder of 360 Content Pro (www.360contentpro.com), a content marketing company.