The Agile methodology was pioneered as an innovative approach to software development, but it can be effectively deployed across many areas. At Section, we choose to apply the Agile methodology as a framework across our entire organizational structure, from software development to customer engineering to marketing and sales.
What is the Agile Methodology?
Agile was launched by a group of technologists in 2001 who wrote the Agile Manifesto and within it four key principles for developing better software:
- Prioritizing individuals and a collaborative approach to working over strictly defined processes and tools
- Having a flexible process that is adaptable to change
- Focusing on building working software that is up-to-date as opposed to sticking to a rigidly defined waterfall software development process
- Learning from the user through customer collaboration as opposed to contract negotiation
The manifesto was written in response to the waterfall software development process, which was developed in 1970 to bring discipline to software development and quickly became the prevalent mode of use. This highly detailed approach to developing new software involves detailed documentation, followed by coding, integration, and ultimately testing. It could take several years before an application was considered production ready.
In the era of the Internet, the waterfall framework was no longer a viable way to work. Originally, the Agile method was initiated by developers at startups where teams were typically smaller, colocated and often hailed from non-traditional computer science backgrounds. These developers began to explore more flexible processes that could bring websites, applications and other capabilities to market more quickly and cheaply. It became harder to attract talented software developers to legacy-bound organizations that followed end-to-end schedules and a rigid waterfall process. Developers instead started to take the lead in building an iterative schedule that had shorter timeframes and a process that emphasized collaboration over documentation, self-organization over rigid project management, and the capability to manage continual change instead of attempting to meet predefined deadlines.
Agile Frameworks: The Scrum
There are several types of Agile frameworks; the most popular being the scrum. The framework is built around the sprint, a set period of time (usually 1-4 weeks) in which a specific set of priorities has to be completed and prepared for review. The delivery cadence within the sprint involves:
- Planning - Defining key priorities for the sprint as a team
- Commitment - Reviewing the backlog of user stories and mapping out the work to be achieved during the sprint
- Standup Meetings - Daily standup meetings that bring the team together to communicate updates on their development status and strategies for work
The Benefits of Agile
As the Agile methodology has continued to develop, its many benefits have become clear:
- User-Focused - Agile focuses on constructing new product features that deliver value to real users rather than just being IT-oriented; software can be beta tested after each sprint.
- Accountability and Transparency - Developers need to involve clients across the project, from building new features to handling review sessions.
- Predictable, Frequent Delivery - Due to the fixed schedule of sprints, new features are delivered often.
- Foreseeable Costs and Schedule - The client can receive cost and schedule estimates ahead of each sprint and revise plans during it.
- Change-Focused - Teams have the opportunity to revise the priorities of the product backlog and introduce new features when necessary.
- Focused on Business Value - The focus is on the client’s mission, thus delivering the products that most improve business value.
- Scalability - As new team members are onboarded, it’s easier for others to jump in and work in relation to clearly defined goals.
- Cross-Functional Team Collaboration - Prioritization that stems from customer needs, coupled with visibility across the organization, provides continuous opportunity for feedback loops.
- Remote Teams Brought Together - Agile systemizes collaboration by allowing teams to visualize all the parts and their sum.
As more and more software development teams have adopted the Agile methodology within their organizations, other departments have taken notice of the benefits and started to adopt the methodology within their own teams.
How Section Applies Agile Across All Teams
At Section, we apply the Agile methodology across the entire organization:
Platform Engineering Team
The platform engineering team uses Agile across the complete lifecycle of the application, working together through the scrum process to build and deliver customer-centric value. All requirements are documented and broken into achievable tasks, then prioritized within a go-to-market schedule. The iterative approach to deployment allows for beta testing and frequent user review and collaboration.
Customer Engineering Team
Responsible for everything from onboarding, to support, to client success, the customer engineering team plays a critical role as the conduit for client communications that directly impact every other team in our organization. Agile has been very effective in addressing both the strategic vision and the day-to-day tasks of the customer engineering team, making sure that all customers’ needs are being met while also implementing feedback loops that continue to push the product forward.
Marketing & Sales
Agile as applied to marketing is increasingly popular. The goals of Agile Marketing) are to improve the speed, predictability, transparency, and adaptability to change of the marketing function. At Section, our primary use of Agile is for strategic planning, prioritization, task management and aligning marketing and sales alongside the platform and customer engineering teams in order to keep our focus on the customer. We also use data and analytics to continuously source promising opportunities and/or solutions to problems in real time, deploying tests quickly, evaluating the results, and rapidly iterating new ideas.
The Agile Tech Stack
Many tools have been developed around the Agile methodology. Software such as JIRA, Trello, Pivotal Tracker, and countless others help ease the management of the process so that teams can focus on what matters most - getting sh*t done.
We use TargetProcess as our key piece of software to implement and scale Agile. It offers numerous benefits, including flexibility in the visualization of projects, from a high-level overview down to the granular details, as well as the opportunity to construct custom reports, including features such as cycle time variation, number of bugs per feature and project, etc.
TargetProcess integrates with existing development tools to act as a central collaboration and management hub across the Section teams. Everyone has access to each team’s weekly sprints in an easy-to-use organizational dashboard. We perform weekly demos to show the entire organization what was completed within different departments the prior week - this is especially valuable for aligning the platform and customer engineering teams.
Adopting an Agile methodology across the organization has allowed us to find innovative ways to meet customers’ needs quickly and effectively across all areas.