avatarRuchi

Summary

The web content provides an in-depth analysis of the first six principles of the Agile Manifesto, emphasizing the importance of customer satisfaction, adaptability to change, frequent delivery of working software, collaboration, motivated teams, and effective communication.

Abstract

The article "Understanding the Principles behind Agile Manifesto — Part 1" delves into the core principles that underpin Agile methodologies. It underscores the significance of prioritizing customer satisfaction by delivering valuable software features regularly. The author, referencing Tony Hsieh, highlights the role of trust and teamwork in enhancing collaboration and productivity. The principles advocate for embracing changing requirements, even late in development, and delivering working software frequently to facilitate rapid feedback and adaptation. The Agile Manifesto emphasizes the necessity of daily collaboration between business stakeholders and developers, fostering a shared understanding and reducing dependencies. It also stresses the importance of building projects around motivated individuals, providing a supportive environment, and trusting teams to achieve high performance. Lastly, the article points out that face-to-face conversation is the most efficient method of information exchange within a development team, reducing ambiguity and ensuring a shared understanding.

Opinions

  • The author suggests that Agile is often misunderstood as a trend rather than a set of principles designed to improve software development processes.
  • Agile's focus on customer satisfaction through continuous delivery is seen as a way to build trust and improve team collaboration.
  • The article posits that embracing change is more cost-effective and efficient when managed through shorter feedback loops and frequent software deliveries.
  • Teamwork and a cohesive unit are considered vital for the success of Agile projects, with the manifesto advocating for the dissolution of siloed work practices.
  • Psychological safety is deemed essential for individuals to experiment, learn, and innovate, with the Agile approach valuing individuals and interactions over processes and tools.
  • The author believes that real-time conversations, whether face-to-face or via video/teleconferencing, are superior to written communication for effective information exchange within development teams.
  • The article concludes that Agile is about generating more value with less work, rather than simply increasing work output.

Agile

Understanding the Principles behind Agile Manifesto — Part 1

This article describes the first six principles of the Agile Manifesto

Agile seems to be the new buzzword these days. The posts tend to be trending following a #agile hashtag. Every day my inbox is filled with promotions of Agile courses & webinars which are packed in a way like they’re custom-designed only for me. Many posts & articles often suggest Agile as the best methodology for any development team without actually experimenting empirically. But let's zap back to the reality of actually understanding the Manifesto, which revolves around the methodologies and frameworks that are trending in the market.

If you’re going to learn how to do something, you’d better learn to do it right. — Christopher McDonald

Link to the Agile Manifesto and Principles — https://agilemanifesto.org/

Table of Contents · 1. The highest priority for any business is to ensure customer satisfaction. · 2. Welcome to changing requirements, even late in development. · 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale. · 4. Business people and developers must work together daily throughout the project. · 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. · 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

In this article, I have elaborated my understanding of the Agile Principles. These principles form the basis of any framework derived from Agile.

Let’s dive into the first 6 principles…

1. The highest priority for any business is to ensure customer satisfaction.

As Tony Hsieh, CEO of Zappos rightly mentioned,

Customer service isn’t limited to a role or a department, it should be the entire company.

When a customer is satisfied by the continuous delivery of working software in regular intervals, trust is built. It is a proven fact that teams work best and collaborate better when they trust each other. A piece of working software becomes desirable if it is the most valuable feature delivered in priority. Hence, backlog prioritization plays a vital role in satisfying the customer by delivering the most important feature first.

2. Welcome to changing requirements, even late in development.

Agile encourages empiricism, i.e., we acquire more knowledge about the feature by working on it. Most projects often tend to shift from the original plan. The early we realize the shift in the plan, the early we can prepare to tackle them. Also, the cost of delay exceeds if the change is managed at the end of the product development cycle (which is usually the case with the waterfall approach). With shorter feedback loops, frequent delivery of working software and effective communication, change can be easily embraced even late in development. Thus, a shorter feedback loop plays a vital role in embracing change.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.

Agile emphasizes delivering working software frequently, in order to gain faster feedback from the customer and to promptly incorporate them in subsequent delivery cycles. The value here is that the working software is delivered to customers in every iteration, which can range from weeks to a couple of months based on the project and customer requirements. (PS: Iterations here do not mean Sprints)

4. Business people and developers must work together daily throughout the project.

Teamwork contributes to winning projects when individuals collaborate together as a cohesive unit. Any individual or group involved with the project development, be it customers, stakeholders, developers, testers, designers, etc. need to have a shared understanding to work towards a common goal. Agile manifesto emphasizes how individuals can achieve more when they collaborate and communicate rather than working in SILOs. Working together as a team reduces the dependency and handovers, and results in a rapid development cycle. Also, by working together daily, the team gets an opportunity to mitigate the risks at the early stages before they turn critical.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

While it is important to provide physical safety, it is more important to provide psychological safety that allows individuals to experiment, learn from failures, and innovate. Agile can never solve problems on its own. It only helps one identify problems so that together, the team can find a solution. Remember the Agile Manifesto says, Individuals and Interactions over Processes and Tools and while we still value the processes and tools, we value individuals and interactions more.

Performance is best when you’re doing something that you’re passionate about. Studies reveal having happier workplaces and motivated individuals, have better problem-solving, less stress, better health, greater success and a competitive edge. According to Huffington Post, close bonds help dissolve dissatisfaction they may feel otherwise, making them more likely to work productively and remain in their current position for longer. Hence, having a circle of trust breeds motivation and, in turn, results in high performing teams.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

The development team needs to understand the right information correctly. Studies reveal, written communication is prone to ambiguity, as the level of understanding varies from person to person. Also, it’s a proven fact that real-time conversations work better due to synchronized communication and faster response time. Having worked with multiple co-located and distributed teams, the most efficient mode of communication that I’ve always vouched for is real-time conversations (face-to-face/video/teleconferencing). Conveying information through the documents and emails (handovers) with no real-time response might be fatal. Imagine a scenario where one of your development team members is remote and others are co-located. Have you ever missed out on having a conversation/discussion and sharing the updates of the day with the remote team member? It’s a common practice for teams to usually outcast the remotely working member unless everyone goes remote, even in co-located environments. Going partially remote is also a good recipe for disastrous teams.

Also, notice the well-articulated words — “to and within the development team”. The emphasis is more on the development team and less on stakeholders, as they can be scattered anywhere and distributed among various teams. Hence, is it essential to have frequent conversations and communication with the development team to ensure shared understanding and work towards common goals? (PS: face-to-face in-person or video is regarded as the most efficient & effective method, but it need not be the only method)

Agile is about working smarter, rather than harder. It’s not about doing more work in less time: it’s about generating more value with less work.

Hope these six principles have helped us brush our knowledge on the Agile Manifesto & Principles. Looking forward to hearing your experiences and thoughts on these. Knowledge is wasted if it isn’t shared, so here are my thoughts about Part 2.

If you loved this article, how about sharing it with your friends and colleagues too? And if you would like to support me further, join Medium today. By using my referral link or buying me a Coffee, you support me in continuing to write & share on this platform.

Thank You for helping me pursue my writing passion!

Follow my work > LinkedIn | Instagram | | Medium

Agile
Software Development
Leadership
Business
Productivity
Recommended from ReadMedium