I’ve taken a fair few Agile courses in my time.
But I’ve never received a certificate to prove my extensive Agile knowledge.
Luckily, through my work, I was able to complete Atlassian’s Agile Project Management Course and passed with flying colours!
Here are my summary notes.
🧠 The Agile Mindset
A different way to think about working
Adding Agile practices to your team is great, but without the mindset and drive for contiunous improvement, you will never see the benefits of a true Agile project.
I think a lot of the time people get discouraged about using Agile because it can be very difficult to implement properly. There will always be some team members who have their work systems engrained and it seems more effort to change them than to just keep plodding on (or you may not feel like you have the authority to influence change).
Getting buy-in from the top is therefore essential. I’d argue that if management at the top aren’t on board with Agile, it is going to be exhausting and eventually futile to push for a truly Agile project. But that doesn’t mean you can’t use elements of Agile and try to make grudual, small changes!
Agile is fundamentally a mindset. A way of asking ‘how can we do this more efficiently as a team?’.
It’s not perfect, but it seems the best mindset out there, for now.
The Agile Manifesto: Values
I’m not going to list all the Agile Principles, you can just Google them, but the core values of Agile are quite important:
- individuals and interactions
- working software
- customer collaboration
- responding to change
These four values drive the frameworks behind Agile, in an attempt to make software products more efficient, fail faster, and improve user satisfaction.
Why project managers should be supportive, not directive
In the past, companies were set up in hierarchies: anyone working on building a product could work their way up to a management role as they would know everything about developing the product from first-hand experience.
Today, our companies are built on knowledge workers — software developers, engineers, data scientists, etc. — each of these roles takes years, if not decades to learn. No project manager can have the depth of expertise needed for all these roles.
Project managers today must therefore facilitate collective decision-making from the team, enabling all experts to drive the success of the project.
🤸🏻♀️ How to Agile
Popular Agile Frameworks
- Scrum — a framework to embrace the agile mindset where work cycles are divided into sprints to allow for ongoing feedback. This is the most widely used Agile framework today.
- Extreme Programming (XP) — an Agile framework only for software teams
- Kanban — lean thinking (respect for customer values and aim to continuously improve)
Agile Roles
Product Owner: The What
Product Owners set priorities for the product, works with the team, manages backlogs, interact with stakeholders — without them the team loses their sense of direction
Scrum Master: The How
The Scrum Master coaches, encourages, facilitates self-management — aims to serve everyone else on the team so they can do their best work
Tips for Managing Individuals and Interactions
- Avoid hand-offs (where work is passed between teams, causing delays as they wait for each other). People and teams work at different speeds, so you can end up with some teams working overtime while others have too little to do.
- Do small batches of work, even if this makes everyone individually less productive. Working together is more efficient: people feel as though they work best on their own, but when you add everyone’s time up together, it’s actually less efficient than everyone doing smaller but more interative batches of work.
- Use sprints. Predictable and shorter time periods of work are better for making progress than having long-term goals.
- Create cross-functional teams. Everyone in the team should have knowledge about how to do everyone else’s role — not to expert level, but they should have a good enough understanding to avoid backlogs and hand-offs. It is the project manager’s responsibility to ensure everyone on the team has the sufficient skills.
- Use user stories to facilitate the right conversations about values. ‘As a user, I want x feature, so that I get x value’. A project manager should have conversations with the team to ensure they deliver that value. Make sure you use simple value statements!
- Avoid groupthink by getting people to anonymously rank the effort they think the sprint will take. Then have a discussion on why everything thinks their number, the aim is to get consensus from everyone on how much effort they expect to give to the sprint.
Tips for Delivering Working Software
- Know your highest priority features and focus on these first. 20% of features are used ‘always’ or ‘very often’, these are the features to focus on first.
- Use a task board for prioritisation. User stories provide the tasks, then move them along to ‘to do’, ‘doing’, or ‘done’, as work progresses.
- Build working software, not powerpoints or wireframes. This communicates progress and reinforces the need to work on highest value features.
Tips for Responding to Change
- Use time boxes. Don’t schedule more meetings, be dedicated to making decisions in the first meeting, otherwise the whole sprint could be delayed.
- Have a sprint planning meeting at the start of every 2-week sprint and a sprint retrospective at the end of the 2 weeks.
❌ Common Agile Mistakes
- Over promising results — know how Agile can help specific problems in your company
- Not measuring benefits of Agile and your team — morale, time on tasks, etc. This helps to gather evidence on if Agile is working.
- Rush Agile adoption — you should instead speak with management and make sure they support Agile.
- Change titles before implemting change — if no one is really a product owner yet, don’t give them that title
- Not getting executives on board — if execs tell teams to use Agile but don’t use it themselves you will lose team morale
- Too many rules — encourage teams to manage themselves
- Lack of transparency — if you don’t know something, say so!
- Assign tasks — let teams manage their own workload (pull and push tasks)
- Not releasing frequently — internal release, beta release, or public release. Have a release plan that you update frequently
- Overworking the team — know how long it takes them to do tasks, how overworked are they, come to agreements on workloads
Closing Remarks
There you have it. My quick notes on the Atlassian’s Agile Project Management Course. (There were also 3 modules on Jira but writing my notes out for a software tool seems counterproductive.)
Overall, I found the course thorough and useful, but sometimes modules overlapped and you felt like you’d heard the definition of ‘Scrum’ at least 4 times already.
But if you want a detailed course on Agile and Jira, this one is for you 👌