Agile Methodology: Everything You Need to Know
Managing successful IT projects with Agile.
While the application of project management is not new, the advent of project management ‘approaches’ or philosophies has led to significant improvements in the quality of projects delivered and the overall project management process itself. Gone are the days where an excel spreadsheet, work in progress (WIP) meetings and reliance on Microsoft Office programs were sufficient IT project management tools. Now we are spoilt for choice with an increasing number of methodologies available to keep even the most complex of projects on track and within budget, while allowing for improvements to be made that may sit outside the original scope.
But when it comes to choosing the right project management methodology for your business there are many factors that come into play – such as the type of work you produce and the industry you (or your customer) are in. Today, we want to focus on one such methodology that has been critical in the successful management of technology projects: Agile.
An IT project is rarely touched by just one person. From the project manager overseeing the workflow through to the back-end developer, a collaborative approach is key – and with collaboration comes open communication and sharing of ideas. A fixed, traditional project management approach relies on the initial scope to be delivered and the budget and timeline will rest on this. But what if an unexpected idea pops up that may result in a more successful product – yet the timeline or budget doesn’t allow for it? Scope creep sets in or (potentially worse) the idea doesn’t eventuate at all.
In our view, the most successful projects are those that are responsive and allow for change along the way – and therein lies the key difference between Agile methodology and following more conventional methods of IT project management.
A fresh approach to project management.
To further explain Agile we need to compare it to a traditional project management methodology – let’s take Waterfall, as an example.
Waterfall is a linear project management model that relies on one phase to be completed in sequence before another can begin. While timelines can be relied on and there (should be!) no scary surprises with cost, there is rigidity in this approach. Changes cannot be easily implemented and long-term projects may struggle to remain on track.
Agile on the other hand offers greater flexibility, making it well suited to ongoing projects of a complex nature. As explained by Agile Alliance, Agile is an overarching term for “a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it”. It is in essence a more realistic approach to how projects with many components should be managed.
The four values that underpin Agile are:
- Individuals and interactions over processes and tools
- Working product over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
It’s important to note that the Agile methodology doesn’t suggest that all documentation, contracts, or plans should be disregarded or thrown out with the trash; rather that the focus of a project should be on collaboration, flexibility and responsiveness – and when these values have adhered to businesses can expect boosted productivity and higher-quality output.
What’s in a framework?
The above values and their associated principles form the basis of the Agile methodology, but to be successfully implemented a framework or system needs to be implemented. The three most widely used options are:
- Scrum (Used by Netflix, Adobe, Amazon, and Apple)
- Scrum works well for large-scale, complex projects that rely on multiple tasks to be actioned as quickly and efficiently as possible. Projects are divided into manageable tasks, or ‘sprints’, which are monitored in daily Scrums (meetings). The regularity of the Scrums allows for continuous feedback and collaboration, and as each team member has clearly defined sprints Scrum promotes a culture of transparency. On the flipside, disadvantages to be aware of include an optimum team size to make it work (minimum three, maximum nine/ten) and the need for one or more team members to have the right experience to provide meaningful feedback.
- Kanban (Used by Zara, Spotify, Pixar, and Toyota)
- Team members in a Kanban Agile environment are across a project’s workflow in real-time via a Kanban board. The board – which may be as literal as a whiteboard or a software program – forms the basis of the Kanban framework, with a project’s associated work items and their status able to be visualized at a glance. Considered an ideal framework for businesses new to Agile, it’s important to note that Kanban does run the risk of overcomplicating a project – so team members may still need a WIP to minimize confusion.
- Extreme Programming (XP) (Used by IBM, Ford Motor)
- Popular among software developers, XP enables teams to produce high-quality outputs while allowing for customer changes to be implemented throughout the process. This is enabled due to the level of testing undertaken, frequency of releases and an open channel of communication between customer and developer. While many programmers may find the idea of direct customer contact unnerving, the XP methodology is heavily reliant on mutual respect for it to work – and daily scheduled ‘stand up’ meetings should reduce the occurrence of ad hoc requests.
So, should I choose Agile?
No two businesses or cultures are the same – so knowing if Agile is right for your organization can only be determined by you and your stakeholders. But to guide you with your decision-making, several factors to be taken into consideration include:
- What is the organizational structure like; does it allow individuals to work in smaller teams without reliance on those in leadership positions?
- Do the types of IT projects you produce allow for collaboration both internally and externally?
- Is the culture of your workplace or team flexible in nature and are individuals open to change?
- Will Agile and your chosen framework allow people to deliver their best possible work?
It’s important to have a healthy project pipeline – and we know that success is built on a collaborative approach. A team must be keen on their framework of choice and the rest of the members must be clear about their outcomes and daily stand-ups to keep the entire team on the same page and regular sprint demos that enable customers to provide instant feedback. The Agile methodology may not be right for others – so it’s important that businesses considering this approach undertake proper due diligence before taking the leap.
The original article by Bilal was published at Makeen.io
Featured Image Credits: Pixabay