How has the COVID-19 pandemic changed what IT organizations seek? Hiring managers offer their insight on how to show your strengths and land an IT job now.
Agile project management, explained
What is agile project management, and is it right for your team? How is it different from other project management approaches? Experts answer all your burning questions
How does agile project management work?
When getting started with an agile approach, leave everything you know about traditional project management at the door. In fact, that’s just what the originators of agile project management did, says Rob Zuber, CTO at CircleCI.
“The agile methodology is a reaction to – and a revision of – a way of doing things that developers didn’t think was working. It irked enough of them that they had to retreat to a safe space to collect their thoughts on the matter," Zuber explains. “What came out of that was a list of principles that weren’t processes themselves, but could be used to generate processes. The mission of this gathering was to help people change the way they thought about developing software.”
Participating in an agile project is different in a number of ways, so Poepsel suggests that teams just getting started should take it slowly. “Agile projects require higher degrees of flexibility, collaboration, and comfort with uncertainty by comparison,” he notes. “Those teams just starting their agile transformation should choose a smaller, low-risk project, and they should be prepared to continuously improve their agile execution with each sprint.”
Here are a few simple explanations of how it works:
“With an agile methodology, teams are given greater control and accountability than in more traditional, hierarchical environments. It’s important to agree on clear objectives, but teams have the autonomy to achieve those objectives in the best way they see fit. This makes them feel more invested in the work and often yields better results. The agile model popularized by Spotify uses the concept of ’squads’ and ’tribes.’ Squads are autonomous teams with 6 to 12 people working on a particular feature. Each squad may include developers, operations staff, QA, a designer, and a product manager, all working side by side. Multiple squads working on related features make up a tribe, and each tribe has a leader responsible for the overall environment.” – Namit Jain, senior vice president of engineering, Qubole
“The agile methodology was created as a direct response from critics of traditional methods who felt that there was too much room for problems to remain unnoticed until the project neared completion. With agile development, teams break each feature into the smallest discernible chunk of work and produce incremental value over time. Agile focuses on delivering working software with each release because with projects like IoT, the space is often evolving quickly. A product that seemed like a great idea a year ago might be obsolete today, so being able to modify any part of the development process quickly is ideal for design.” – Ben Wald, co-founder and VP of solutions implementation, Very
“Adoption of agile project management enables product teams to pivot on product strategy with minimal impact to engineering team deliverables. In an agile project management model, independent and autonomous Scrum teams are organized to manage their sprint activities and have complete end-to-end ownership of their product delivery. With a consistent agile delivery pattern, Scrum teams can drastically improve their sprint velocity, develop domain expertise, and consistently modernize the engineering environment to allow for a more frictionless delivery model.” – Farid Roshan, head of engineering, Altimetrik
10 agile project management terms you should know
For teams looking to incorporate more agile project management methodology into their workflow, here are a few must-know terms, defined by Very co-founder Ben Wald.
- Behavior-driven development (BDD) is an agile software development technique that encourages collaboration between developers, QA, and non-technical or business participants in a software project. BDD focuses on obtaining a clear understanding of desired software behavior through discussion with stakeholders. It extends TDD by writing test cases in a natural language that non-programmers can read.
- Burndown chart is a visual tool for measuring and displaying progress. Visually, a burndown chart is simply a line chart representing remaining work overtime. Burndown charts are used to measure the progress of an agile project at both an iteration and project level.
- Daily standup/Scrum is a whole-team meeting that happens at the same time every day that usually lasts 15 minutes or less. The meeting is designed to allow the entire team to synchronize with each other and to understand the flow and challenges of the development process. Each team member should provide the following information: What did I do yesterday, what am I planning to do today, and what impediments do I currently have?
- Feature creep is when software becomes complicated and difficult to use as a result of too many features.
- Kanban is a method for developing products with an emphasis on just-in-time delivery and the optimization of the flow of work on the team. It emphasizes that developers pull work from a queue, and the process – from the definition of a task to its delivery to the customer – is displayed for participants to see.
- Product backlog acts as a repository for requirements targeted for release at some point. These are typically high-level requirements with high-level estimates provided by the product stakeholders. The requirements are listed on the backlog in priority order and maintained by the product owner.
- Retrospective is a team meeting that happens at the end of every development iteration to review lessons learned and to discuss how the team can be more efficient in the future. It is based on the principles of applying the learning from the previous sprint to the upcoming sprint.
- Scrum Master is not the team leader but acts as a buffer between the team and any distracting influences. The Scrum Master ensures that the Scrum process is used as intended. The Scrum Master is the enforcer of rules. A key part of the Scrum Master’s role is to protect the team and keep them focused on the tasks at hand. The role has also been referred to as a servant-leader to reinforce these dual perspectives.
- Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: First, the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test, and finally refactors the new code to acceptable standards.
- Timeboxing is a planning technique common in planning projects (typically for software development), where the schedule is divided into a number of separate time periods (timeboxes, normally two to six weeks long), with each part having its own deliverables, deadline, and budget.
[ Culture change is the hardest part of digital transformation. Get the digital transformation eBook: Teaching an elephant to dance. ]