How the 12 Principles of Agile are really just Common Sense
PART 2
Agile is more than just a process for software developers, it is made up of common-sense best practices that can apply to any project across the board. In our last post, we looked at the first six of the twelve principles in the Agile Manifesto; here we will look at the remaining six.
7. Working Software: Progress is measured primarily by the delivery of working software. This tangible measure keeps teams focused on delivering value rather than getting bogged down by documentation and process.
Customers want products and services that work. By keeping the focus on ensuring the deliverables are functional, then they can start to use the iterations that are created throughout the development process right away and don’t want to wait for the entire project to be complete.
8. Sustainable Development: Agile promotes a sustainable work pace, ensuring that sponsors, developers, and users can maintain a consistent and productive rhythm indefinitely. Sustainability allows for slightly gradual improvements each time by setting attainable goals that can be slightly stretched now and then.
Sometimes a project will have a crunch time where a lot of work needs to occur in a very short period of time. But that isn’t a good model to do for everyday work. Think about when you are working out or playing a sport. You need to slowly build up strength in your muscles by not overloading them too much at a time. If you give them too much work to do by trying to run too fast or lift too much at once, you could tear a muscle and be set back for weeks while you recover. Instead, giving just the right amount of work with a little extra here and there will grow your muscle’s capacity to go longer and farther and faster over time.
Your team is like your muscles and when you maintain a sustainable pace with attainable goals, they will do their best job and keep the team from getting burned out.
9. Technical Excellence: Continuous attention to technical excellence and good design enhances agility. High-quality code and thoughtful design practices make it easier to adapt to changes and improve over time.
Everyone wants the best product and that takes intention in the process and from the leadership. It’s much easier and faster to work on a project and send it out without review and care to move on to the next project. But we all know that is not the best for the customer or the longevity of your company’s reputation if you do that. Choosing to ensure the work completed is high quality is in the best interest for all of the stakeholders.
10. Simplicity: Maximizing the amount of work done is essential. Agile teams prioritize tasks that deliver the most value and avoid unnecessary work, streamlining the development process.
Through effective communication and excellent teamwork and collaboration, the development team understands the work so well that they can chunk the work into manageable segments to keep it simple and eliminate extra work that, in the long run, is unnecessary. It just makes sense to keep things simple, it will make your team more efficient and make things easier to organize and maintain.
11. Self-Organizing Teams: The best architectures, requirements, and designs emerge from self-organizing teams. When teams have the autonomy to make decisions, they are more creative and effective.
Choice is important because it gives ownership to the chooser and empowers their day-to-day life. There are a lot of aspects to life where we don’t have choice and have to play the cards we’ve been dealt. Having choice feels good for your team, gives them freedom to do tasks that they are interested in, and feels rewarding to them. When this happens, your team will be more creative and productive, needing less management and follow-up, which is in the best interest of the team.
While it is easier to just hand out instructions and expect everyone to “just do what they’re told”, it’s not better for the team. They aren’t robots and have expertise in the best ways to complete the project. Allowing self-organizing from time to time leans into the strengths of your team and gives them room to do their best work.
12. Reflection and Adjustment: At regular intervals, agile teams reflect on their performance and adjust their behaviors accordingly. This introspective practice drives continuous improvement and fosters a culture of learning.
Reflecting, when done well, is the most efficient way to identify lessons learned from a previous project to apply to a future one. These can be hard and maybe you’ve been in one before that wasn’t led well and you felt worse afterward instead of better, enlightened, or empowered.
The purpose of the retro is to, without blame, take stock of the reality of how the last project went. What went well and why, what didn’t go well and why, where do we stand now, and how can we make changes to improve it the next time.
These types of conversations require trust, psychological safety, and a neutral party as a facilitator. A retrospective can hold a lot of power and provide fantastic suggestions and resources for the next steps that will benefit the team, the product, and ultimately the customer.
These Principles genuinely are best practices for any business environment and are straightforward, common-sense ideas. In Agile, your coaching team will use these principles along with a hand-selected set of tools and resources developed from the different Agile methodologies (more on those in a future post), to help your team navigate the complexities of your project and deliver high-quality products.