Agile project management is one of the most in-demand skill sets in today’s digital economy. Project managers who think, live and breathe Agile are at the epicentre of some of most innovative software and digital product development projects globally. This guide explains the key features of Agile and provides a toolkit to start your own Agile project management journey.
Let us get started with an introduction to the Agile process.
Agile is by definition a flexible methodology so it has no definitive dimensions. Ideally it will shift and change according to the needs of the project and the organisation.
However, it relies on a number of key traits that form a central support around which it can adapt to a changing project.
The key traits of Agile are:
Agile is classed as an Iterative and Incremental Design (IID) process. Iteration is a central component of Agile. In the case of software development, iteration theoretically refers to redeveloping the entire program for each feature.
Since it can be difficult to guess how much work a particular feature will involve it makes more sense to break features down into components that should take roughly the length of an iteration to develop. It is easier for developers to estimate a feature that will take a set amount of time rather than the other way around.
The name Agile alludes to an ability to adapt to changing circumstances. Project managers need to be able to regularly determine what the circumstance are so they can see if they have changed. After each iteration managers and their teams can stop to see how the sands have shifted and decide if they need to adjust course or continue as planned.
Prevent Scope Creep
Wrapping up an iteration even if it is not feature complete prevents programmers from continuing to refine a feature, add elements that are not necessary at that stage or connect it to other components. This is sometimes referred to as ‘Gold Plating’. It means that without a time limit an iteration could continue indefinitely as developers continue to refine one feature instead of working on others of equal importance.
Another idea within Agile is that the project should produce a constantly growing prototype throughout development instead of a single finalised product at the end of development. The iterative process creates a rhythm whereby developers get used to adding new features to the working prototype on a regular basis. This allows for production throughout the course of the project rather than just the end.
Sprint vs Iteration
Depending on the particular type of methodology being used, an iteration may be referred to as a sprint. The two terms may also be used side by side with a single sprint being iterated over or a project wide iteration containing a number of sprints. Regardless of how the terms are used they are always "timeboxed", that is they are set to take place over a specified period of time and both aim to produce a complete piece of functionality within that time.
Another key principle of Agile development is efficient communication. Primarily this means face-to-face meeting. Not every discussion about the project can be face-to-face but regular revisions should involve face-to-face or as close as possible. In this way, the iterative approach can be applied to discussion. For international team communication team meeting can be conducted Via Skype or Google hangouts. This will replicate the ‘face-to-face meeting’ experience.
Ideally, work will be handled by a number of teams that each contain stakeholders with responsibility for different aspects of the project. This way team members have relevant stakeholders available to them to discuss issues as they arise rather than waiting until the end of an iteration or another project wide meeting to find an answer. This maintains good project flow and keeps different stakeholders informed of the progress of different parts of the project.
When talking about project success it is important to define success in the context of a project. Business owners are likely to see success in commercial terms; a certain number of downloads, a specific number of signups or a straightforward number of sales.
For the project manager, success is likely to be as simple as reaching a finalised product that has enough of the features that the client can sign off on it. However, that is not as simple as it sounds.
No project is destined to succeed in those terms and many projects do not reach that point. This is why it is so important for Agile project managers to use every tool at their disposal to maximise the odds of success.
Here are some of the tools:
Scrum is an Agile methodology framework. That means that it sets out a set of specific practices for implementing agile development. So where Agile is a set of less specific guiding principles, Scrum proscribes a number of practical techniques for applying Agile theory. The intention is to provide a structure for development without imposing a structure on development.
Agile methodologies are typically user focused. The end user is a critical stakeholder and will often determine the success of a product in both the commercial and functional sense. In the development process, it makes sense to break the project down from the user's perspective. User Stories are an elegant means of doing this.
Taking inspiration from production methodologies applied at Toyota's manufacturing plants, the Kanban approach seeks to have teams "pull" jobs from a schedule when they can rather than have them be "pushed" onto teams regardless of capacity.
As with User Stories, an important part of Kanban is in visualizing the work process. This is done with a Kanban board.
The Kanban board holds jobs and organizes them into categories. Like User Stories, jobs are visualised simply on cards or post it notes. Jobs that are available to be taken up are in a pool. When a team takes up a job, they move it to the in-progress column. As they finish a job they move it to the completed column and take a new job from the pool.
Communication of information is central to the efficacy of Agile methodology. It is all about ensuring each stakeholder knows what the others want, what they are doing and what they have done. Keeping track of the project's progress needs to be easy to do and available to everyone.
Digital communication naturally has a role in facilitating this. There are many specially designed tools for Agile project management. The examples below are just a tiny proportion of the tools available to teams but they demonstrate how these tools can be applied to improving the success of a project.
This open source platform has as its focus simplicity of form and function. Agile development requires clear, unconfused communication so any software facilitating Agile development has to enable this. It features templates for Kanban, User Story and Scrum approaches to development.
With a broader focus on organizing internal communications and documentation, Basecamp might be considered more of a general purpose project management tool. It facilitates chats, note sharing, task listing and a number of other productivity-focused activities.
A major challenge for the Agile approach of regular communication is the dislocation of teams in different countries and time zones. Blossom specialises in managing projects with distributed teams. It is centred around the Kanban model to help give each team member an overview of what other teams are responsible for regardless of what time that team starts and ends their working day.
Development projects are ever growing in their complexity due to new technologies and innovations in the global marketplace. Mastering the tools and techniques of Agile enables project managers to be adapt quickly to this flux and successfully deliver projects no matter what the circumstances. Agile is also a constantly evolving methodology and its inherent flexibility means that it can adapt to incorporate a growing numbers of tools and applications that make it more effective. In short, it has never been a better time to master Agile project management.
About Digital Skills Academy
Digital Skills Academy is a premier industry provider of online Degree and CPD programmes. We offer the world’s leading online International Degree programmes in digital technology, digital business and digital design, which develop tech-savvy business professionals and business-savvy tech professionals. Participants in Digital Skills Academy programmes come from respected international companies that include Barclays, EY, Deloitte, Credit Suisse, Dell, SAP, Google and Oracle.