At Easy Agile, we embrace agile principles (of course), and we strive to help software development teams put agile methodologies into practice. However, with so much to get done each day, it's easy to lose sight of the core principles of the agile manifesto.
You're probably thinking that you read the agile principles before and now put them into practice...all day, every day. Why do we need to revisit them?
You don't need to memorize the principles. They're much more of a guiding light than a rote process. But lining up the agile principles against your everyday agile practices provides reinforcement that you're putting them into action. This also helps you identify areas for improvement. 🙌
The continued relevance of the agile manifesto's principles
The agile manifesto focuses on:
- Continuous improvement by responding to feedback and change
- Allowing software developers and cross-functional teams to organize in a way that embraces collaboration and interaction
- Involving customers in the development process and responding to their feedback
The manifesto outlines 12 agile principles which are the bread and butter of agile software development. We'd like to provide practical context to these agile principles, so we're going to organize them into three categories — building working software by being organized, helping teams collaborate, and tactics for keeping customers happy.
Getting organized so you can build working software
The first few agile principles we'll review revolve around the concept of working software — a product your customers can use as early in the software development process as possible. You’ll adapt it as you get feedback about what’s working well and what could be improved. This is in contrast to a waterfall methodology to development, which is a more linear approach that typically does not allow for iterative updates.
Creating working software you can continuously update is one goal. But, that's easier said than done without the help of purpose-built tools like Jira, whose goal is to help agile teams manage their chosen agile framework, whether it be Kanban or Scrum. (You can read our guide on the differences between Kanban and Scrum...or how to use them together. 💪)
Now, let’s look at which of the 12 agile principles fall into this category — #3, #7, and #8 — and how Jira helps implement a framework that adheres to them.
Agile principle #3
"Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale."
Atlassian (the makers of Jira) sums up the embodiment of this principle perfectly in its definition of a sprint: "A sprint is a short, time-boxed period when a Scrum team works to complete a set amount of work."
While agile sprints run over a short period of time, running them smoothly takes a lot of work for product owners and software developers. Luckily, Jira provides ways to streamline that work — check out our guide on automating parts of your sprint.
Agile principle #7
"Working software is the primary measure of progress."
Sprints can help you ensure that your team delivers working software incrementally. If planned well enough, a sprint can serve as a stopping point for the release of your next batch of features and functionality to your end-users.
Agile principle #8
"Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely."
Agile frameworks like Scrum can help measure if a team is maintaining a consistent pace. Within sprints, effort can be measured in different ways like agile story points. As sprints are completed, Jira automatically creates a visual report of how many story points a team is completing from sprint to sprint in its velocity chart.
Time for team collaboration
You're an agile team delivering working software and using a super-tool like Jira to plan your work and track your progress. But you need a human touch to truly follow agile values. Please welcome agile principles #4, #6, #11, #5, and #12 to the stage.
Agile principle #4
"Business people and developers must work together daily throughout the project."
Daily stand up meetings are a manifestation of this principle. In this meeting, each team member addressed three topics: (1) what they worked on yesterday; (2) what they're working on today; and (3) what is preventing them from making progress today.
Agile principle #6
"The most efficient and effective method of conveying information to and within a development team is face-to-face conversation."
Whether it's in an in-person or remote meeting, conveying information is tricky — but (phew) we've already addressed that with practices like daily sprints and velocity charts to exchange information across team members and to visually review team progress. And you'll soon see other ways that agile software development teams organize and communicate with each other.
Agile principle #11
"The best architectures, requirements, and designs emerge from self-organizing teams."
Well, first, what exactly is a self-organizing team? It does not need outside direction or micromanagement to figure out what to work on and how that work gets defined and prioritized. These teams figure out how to plan their work, iterate to deliver that work, and then collaborate on how to continually improve. The agile ceremonies of Scrum — stand up, sprint planning, sprint review, and retrospective — are a working example of this.
Agile principle #5
"Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done."
Ok, so we went out of order on this principle — but for good reason. Following principle #11 makes sense because good self-organized teams are inherently motivated. They work together to figure out how to get the job done and to help each other when someone is stuck. That said, it's important to have defined roles in an agile team, like a Scrum master who can motivate and give feedback to team members.
Agile principle #12
"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."
This principle perfectly describes a retrospective — a team meeting to reflect on your most recent sprint or iteration of work and to discuss how to improve for the next one. By answering these questions: (1) What went well?; (2) What could have gone better?; and (3) What can we adjust to improve for next time? your team is collaborating and interacting in an effort to become more effective.
Achieving customer satisfaction
Last, but certainly not least, in the agile principles are customer needs. Who is your customer? What are their needs? How do you respond to their feedback to make sure you provide a working product that they love? Enter principles #1, #2, #9, and #10.
Agile principle #1
"Our highest priority is to satisfy the customer through early and continuous delivery of valuable software."
It turns out that to satisfy your customer, you need to understand who your customer is. 😉 This takes work. A proven methodology for figuring out who your customers are is to create customer personas. These are fictionalized profiles of your customers that document things like their behavioral patterns, their shared pain points, and what their general demographic information looks like.
Agile principle #2
"Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage."
Requirements can't be effectively changed unless they are defined and made visible to stakeholders for feedback. Even if that feedback causes change late in a development cycle, that's ok! (You'll probably also receive change-inducing feedback on the working software you've already delivered. 😎) Tools like a product roadmap or a user story map that provide visual views of your product backlog help give your customers and stakeholders a platform to have the ability to provide feedback.
Agile principle #9
"Continuous attention to technical excellence and good design enhances agility."
One word: retrospective.
Ok, two more words: sprint review.
In the context of principle #9, the retrospective and sprint review are two agile ceremonies to use to continually adjust your software's quality and design to best meet your customers’ needs.
Agile principle #10
"Simplicity–the art of maximizing the amount of work not done–is essential."
Imagine you had views of your customer profiles (personas), a visual mapping of their journey through your product (user story map), and a prioritized view of your plan to deliver your product (roadmap). What a time to be alive! If you're doing all three, chances are your team has pretty great insights into whether or not you're getting the right work done. 💪
Putting the 12 agile principles into action
Now you understand how the agile principles have been formed into agile frameworks and how tools like Jira can help agile teams run with those frameworks. We've also mentioned three effective ways to put these principles into action, and our products make it easy to do.
- Easy Agile TeamRhythm supports agile teams from planning through to review with features that support user story mapping, backlog refinement, sprint and version planning, and team retrospectives.
- Easy Agile Personas for Jira provides teams with a customer-centric approach to backlog refinement.
- Easy Agile Roadmaps for Jira gives visual insights for teams and stakeholders around the vision and plan for a product.
- Easy Agile Programs is a complete PI Planning solution that makes scaled cross-team planning and execution easy.
Check out all of our agile solutions in Atlassian's marketplace!