Springboard Tutorial: Agile Framework Basics
If you’ve spent some time browsing technical job boards, you’ve likely noticed the word “agile” appear in quite a few job descriptions. The Agile methodology is a popular concept in the technical world—and while it’s most commonly used in the software development cycle, non-engineer teams also frequently rely on the method as a framework to getting things done.
Whether you’re an aspiring data scientist or UX designer, it’s important to spend some time familiarizing yourself with the Agile framework—even if you don’t end up relying on the method directly in your day-to-day, you’ll want to understand how your organization might use it to make big picture business decisions.
What is Agile?
Agile is a systemic approach that helps break down the tasks necessary to complete a project successfully into action items such as:
- Project timelines, deadlines, and blockers
- Task priority and impact on other connected tasks
- Task stakeholders and interdependencies
All kinds of teams, including consultants, designers, and analysts, rely on the Agile method for an iterative approach to reaching goals that maximize productivity and collaboration. The framework can be universal as it primarily prioritizes customer feedback. By incorporating constant feedback loops from customers or prospects, the Agile framework helps teams effectively identify and create a “backlog”—a transparent, prioritized list of goals to be solved in short increments of time.
The heavy focus on feedback makes Agile especially popular for customer-centric technical and product teams, as decisions hinge largely on user experience and feedback. More specifically, customer feedback is achieved through “Demos”—the last ceremony of a sprint—where the team shows the work they’ve done during the sprint to key stakeholders. Teams must then constantly iterate in response to customer feedback throughout the development cycle, and Agile helps them achieve user-friendly products and experiences more efficiently.
Four pillars of Agile
Agile first entered the tech scene in 2001, when 17 technologists came together over a common goal: to develop better software. They came up with four fundamental principles that act as a foundation for the methodology in an Agile Manifesto:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Though intended for software development, these basic principles nicely illustrate the applicability and versatility of Agile when it comes to non-technical processes. The ultimate goal of Agile (just think back to the word’s actual definition) is to keep things moving swiftly and effectively—which is essential in the technology industry because of how rapidly things change.
Within Agile, time is of the essence: most project planning and execution that relies on Agile will happen through a series of continuous time-bound sprints. One of the fundamental aspects of a sprint is to establish which to-dos have the highest priority and address them first. This process, called “timeboxing,” helps ensure teams allocate only a fixed amount of time for certain tasks to avoid getting bogged down.
Since Agile requires such a high level of customer collaboration, progress reviews must be made after each timebox, making it critical for work to completely stop once the timebox is over in order to evaluate whether a goal has adequately been met. Though seemingly restrictive, this urgency helps ensure focus and productivity by avoiding delays caused by changing requirements and priorities.
Scrum and Kanban: Different approaches within Agile
Companies rely on Agile for project management to maintain efficiency and control development while striving for sustainable growth and innovation. There are a few different frameworks that can be implemented within Agile project management, with Kanban and Scrum being highly popular among non-technical teams.
Scrum is a process that helps Agile teams ensure quick turnarounds and testing. A key part of using Scrum in Agile project management is the designation of a Scrum Master, who leads the team by clearing any obstacles that stand in the way of the team completing work. From there, work will be completed in short cycles—called sprints—and the team will meet daily to identify existing tasks and new roadblocks.
Scrum sprints encourage team members to work with what they have and continuously figure out what’s working and what isn’t, then iterate for improvement. They typically involve:
- Daily “stand-up” meetings in which the team reviews work that was completed in the previous day and what should be done within the next 24 hours. This is an opportunity to identify any challenges hindering them from successfully completing a task.
- A sprint planning session during which the team discusses goals to meet at the end of the timeboxed sprint (usually around two weeks long,) and how to break things up into smaller tasks so they get done quickly.
- A sprint review where the team reviews which tasks they completed, and which goals they couldn’t meet by the end of the sprint.
- A sprint retrospective where a team reflects on the overall performance of a sprint. Again, the goal of a sprint retrospective is to continuously iterate and improve on processes.
The Kanban technique, on the other hand, is a framework that focuses on in-time, as-it-comes communication, and full-team progress transparency. Kanban is implemented by visualizing tasks physically on a board or digitally through the use of workflow management software such as Trello or MeisterTask. Kanban boards provide both internal and external teams with a clear understanding of the workload, and while tasks are also addressed quickly, they are implemented over a continuous flow rather than the classic two-week Scrum time-box.
The key difference between the two methods comes down to how they approach time—Kanban sets teams up for the quickest possible turnaround by encouraging constant transparency while Scrum helps teams “naturally adapt to changing conditions and user requirements, with re-prioritization built into the process and short release cycles.” Teams using the Kanban method in their Agile cycles should treat their team board not simply as a way to stay organized but as the ultimate source of truth of project progress. The Kanban board makes all tasks visible, so each member of the team’s workload is transparent – typically, boards are made up of five core components:
- Visual signals. Efficient, at-a-glance signals that quickly convey the meaning of the item or task it describes—usually in just a few words.
- Columns. Team members add cards to columns that each represent a different stage of the workflow, such as “to-do” or “complete.”
- Work-in-progress (WIP) limits. WIP limits help maintain focus and structure by setting a maximum number of cards that can be added to the board.
- Commitment point. The underlying element of a Kanban board is to only display tasks the team has committed to completing—signaling that progress is underway.
- Delivery point. Once the team has reached the end of a specific task, it has reached the delivery point.
Ultimately, both Kanban and Scrum techniques translate effectively into overall team productivity—independent of specialization or focus—and certainly not limited to the software development lifecycle. The main difference to keep in mind between the two is Scrum’s timeboxed nature (typically two weeks) versus Kanban’s support nature. Kanban focuses more on continuous flow, moving away from the timeboxed structure, and is preferred by support teams or teams that operate with tasks coming in on an ad hoc basis.
Agile in action for non-engineering teams
Many executive team leaders cite Agile as an integral part of their company’s large-scale productivity and success. For Carlos Gonzales, founder and CEO of Product School, implementing the methodology in the product management process helps to more accurately identify product-market fit. “When you anticipate change, you’re able to react with the times and make a product that truly fits into the market,” he says.
Creative and design teams are particularly accustomed to working with constant change, making Agile a valuable tool. In fact, Agile and the iterative nature of Design Thinking certainly go hand-in-hand. By expecting change, creative teams and UX designers are inherently set up to successfully implement Agile methodology in their own projects as they discover, design, develop, and test. “Agile recognizes that good creative evolves and iterates on past work and provides a framework to support that evolution,” writes Dominic Ensor, design director at SevenDesign, a digital branding and design agency.
The nature of strong UI/UX hinges on the ability of designers and researchers to accurately identify core problems early on, and then seek out solutions. From there, design teams test them out through rapid prototyping or high-fidelity wireframing, and then receive feedback from real users. By predicting the problem early on and solving it quickly and specifically, designers can better understand their users’ behaviors on a platform before actually launching a real product and testing new ideas.
Scrum’s approach to problem-solving and delivering solutions complements design sprints in their approach to finding and understanding problems. Turning to Agile as a framework to produce a minimum viable product (MVP), for example, can help designers maintain shorter sprint cycles as well as validate that they’re on the right track before fully wireframing a project that might not end up aligning with the user’s needs.
Once there is buy-in, Agile can empower even larger creative teams that stretch beyond just the design process. “The key benefits of agile are unlocked by having the full team participate in core rituals; sprint planning, story development, and retros,” continues Ensor, noting that implementing Agile tangibly increased team efficiency, coordination, and communication. “Having writers, PMs, designers, and strategists in the same room…will improve buy-in, coordination, communication, efficiency, and team morale.”
Agile has the potential to not only drive innovation but also act as a driving force in defining company culture and nurturing a positive environment.
Ultimately, when all team members have a clear understanding of their scope of work, organizations can tackle long-term projects and goals quickly and effectively—no matter the type of task. On a larger scale, Agile helps to build important skills within teams such as how to reflect, improve, and communicate amongst one another.
Teams who adopt Agile benefit from better communication, aligned schedules, and teamwide task prioritization—ultimately bringing to life more creative, tangible solutions to time-sensitive challenges and goals.
If you’re interested in software engineering, see here what a software engineer does.
Since you’re here…
No one wakes up knowing how to code – they learn how to code. Tens of thousands of students have successfully learned with our courses, like our Software Engineering Bootcamp. If you’re a total newbie, our Software Engineering Career Track Prep Course will be a perfect fit. Let’s do this!