Skip to main content
Research Paper Master's 3,691 words

The Agile Manifesto and its five major software development methodologies

~19 min read
✍️ How to write this paper — guide & tools
Essay 3,691 words

Evaluating Agile Methods
Introduction
The Agile Manifesto is based on the idea that, instead of clients giving their instructions and then the IT crew coming back six months to a year later with a finished product that may or may not satisfy, the development team should keep up a constant stream of contact and communication with clients throughout the process, sending updates and continuously delivering software so that the client can see how work is progressing and give feedback to the team (Fowler & Highsmith, 2001). This paper will explain the origins of the Agile Manifesto and how each of the top five Agile methods (Scrum, XP, Crystal, Kanban and Lean Development) relate to the manifesto making them an Agile method or process in the first place. It will then describe the main characteristics of Agile methodolodgy, differentiate between Agile methods and traditional waterfall methods, explain best practices for applying Agile methods to project management, assess the benefits of agile project management methods to my organization, including examples for support; and, finally, analyze how Agile techniques influence the leadership of a project.
Origins of the Agile Manifesto
The Agile Manifesto originated with the need, identified among software developers of a better process of delivery: they advocated for early delivery and continuous improvement. They wanted more flexibility and adaptability; they wanted teams who were willing to allow the development of software to evolve in order to satisfy the client’s needs. They wanted the process to be iterative. So in the 1990s they began to take a stand: they wrote the Agile Manifesto in opposition to the heavyweight methodology characterized by too much pre-planning, too much micro-managing, and not enough communication among team members and clients. They developed the lightweight methods known as Scrum, Extreme Programming (XP), Crystal, Kanban and Lean Development. They convened in 2001 in Snowbird, Utah—seventeen software engineers who wanted to break the mold by advocating for lightweight rather than heavyweight methods in their industry. Kent Beck, Alistair Cockburn, Martin Fowler—these were just a few of them—but together they drafted, signed and published the Agile Manifesto, or the Manifesto for Agile Software Development (Beck et al., 2001).
The Manifesto included four main pillars or values that agile software engineers should hold above the traditional heavyweight ways: Individuals and Interactions over processes and tools Working Software over comprehensive documentation Customer Collaboration over contract negotiation Responding to Change over following a plan (Beck et al., 2001). The meaning of this was simple: 1) while tools and processes have obvious value, they are useless in the hands of people who do not interact and communicate—which is why individual workers and interactions must be valued and promoted over and above the tools and processes that are used; 2) documentation serves a purpose, which is to facilitate the engineering of new software: the software development is not there to facilitate documentation—yet in heavyweight micro-managed environments that is precisely what happens; 3) contracts are used to bind clients to companies—but if the company works closely with the client from the beginning and for the duration of the development the good will and close relationship of both parties will naturally bind them and in a more constructive way to boot; 4) plans help to show the way—but plans should be adaptable as sometimes the originally envisioned way forward becomes blocked or a better path is seen (Boehm, 2002). Each of the top five agile methods embraces the values of the Manifesto, as shall now be seen.
Top Five Agile Methods
Scrum
The Scrum framework focuses on sprints, which are stages of development that occur in a time span reflective of their name: they are quickly achieved goals that the team works together to achieve so as to deliver a working product to the client within a matter of weeks. There is a daily scrum—a 15 minute meeting at which strategies are aligned and various members’ activities coordinated and placed in synch with one another. Because software development depends upon teams knowing how the product is evolving and new input is always being given by the client, these daily scrums are highly effective at yielding positive returns and keeping team members engaged and focused on the task at hand (Jyothi & Rao, 2011). One of the best qualities of Scrum, which makes it highly aligned with the Agile Manifesto, is that employees are very motivated as they have a clear goal for each sprint and they want to reach that goal.
Extreme Programming (XP)
One of the original 17 signees of the Manifesto developed XP and so it should be no surprise that this highly adaptable method focuses on leveraging communication, feedback, and simplicity to create an environment of respect and courage so that new ideas can be pursued and the client’s needs met no matter what the stage of development (De Lucia & Qusef, 2010). The main goal of XP is customer satisfaction, which is a metric that drives everything. Because customer needs can sometimes become discernible only in the final stages of development, it is imperative in XP that teams solve problems by working together as a whole. Communication is a must in order to address all manner of obstacles so that the product delivered is exactly what the client wants and requires. For this reason, XP is really the epitome of the Agile Manifesto since it is like patient-centered care for the IT industry.
Crystal
Another method developed by an original Agile signee, Alistair Cockburn, Crystal is similar to XP in that it prioritizes communication and interaction above all else—but it is different in that in order to satisfy the customer it does not put the customer front and center but rather puts the team front and center so that every team member feels part of the process of developing the best possible product for the customer (Cockburn, 2004). Crystal emphasizes the importance of having talented team members and critical importance of those talented members interacting with one another. Without talent and without interaction, there can be no progress and no satisfied customers—which is why Cockburn developed this light and loose methodology, which beyond these basic parameters is a fairly simple framework consisting of a family of methods (which is what crystal essentially is) that can be used in almost any software development project (Boehm, 2007). Crystal aligns with the Manifesto because it guarantees timely and frequent product deliveries to clients, and promotes discussion and giving room for improvements to take place over time.
Kanban
Kanban is a “just-in-time” method that relies on a high degree of organization and transparency. Essentially, it focuses on creating work flow diagrams that all parts of the team can see and visualize so that they know exactly where the project is at any one point in time and they can see exactly who needs what, who is waiting on what, which members are where, and so on. It aligns with the Manifesto’s values because it serves to create an environment in which there is interaction and communication and where continuous deliveries can be achieved (Anderson, 2010).
Lean Development
This methodology actually has its origins in lean manufacturing and the essence of lean manufacturing is applied to IT. In software development, this methodology focuses on eradicating anything that does not matter to the main mission; promoting high quality development; not only creating a new program but also creating a knowledge bank (i.e., documenting the process so that it can lead to future intellectual and engineering growth as well); respect, delivery, and optimization (Poppendieck, 2007). Though one of the values of the Manifesto is to hold working software over and above documentation, Lean Development actually holds the two together at an even level, which makes it unique among the Agile methods. It is very Agile in essence, however, because it allows for all extraneous and unnecessary information and practices to be removed, which facilitates faster operations and more adaptable techniques.
Main Characteristics of Agile Methods
The main characteristics of the Agile methods can be seen in the twelve principles of the Agile Manifesto: Customer satisfaction Welcoming changing Delivering working software on a weekly basis Daily cooperation among stakeholders Employee motivation Communication—face-to-face if possible Progress measured by working software Development that is sustainable High quality design and technique Keeping design simple so as not to waste energy and effort Self-organizing teams Team reflection at regular intervals so as to make adjustments as needed (Beck et al., 2001). Each of these principles reinforces and promotes one of the main pillars or values of the Agile Manifesto and many of them (if not all) can be found in the five most popular Agile methodologies. For instance, Scrum and XP both put customer satisfaction at the front and center of their approaches. XP especially promotes the idea of welcoming change. All of them strive to turn over new software to clients at a weekly rate. Crystal, Scrum and XP emphasize face-to-face communication. Lean development and Kanban focus on simplicity and a non-waste mentality. Each of the five most popular methods thus represents some aspect of these 12 principles.
Differentiating between Agile Methods and Traditional Waterfall Methods
The main difference between Agile methods and traditional waterfall methods is that Agile incorporates testing of the software into every iteration whereas waterfall has testing as its own unique phase at the end of development. Thus, in waterfall it is not uncommon for defects in development to be discovered late in the process, whereas in Agile they will be discovered and corrected during the iteration phase (Balaji & Murugaiyan, 2012).
Another big difference is that Agile promotes a product mentality rather than a project mentality. In traditional waterfall methodologies the project itself is seen as the all-encompassing objective and it is broken down into phases, with one phase being completed before a new phase is begun. This gives the project a pre-defined scope and character. Agile does not embrace such a style but rather views each iteration as a product in and of itself so that the focus—as in Scrum—is on delivering a product within just a matter of weeks and allowing that product’s value to dictate how the team proceeds from that point forward as it tackles the next requirement of the client (Mahalakshmi & Sundararajan, 2013). The waterfall approach uses Software Development Lifecycle phases (SDLC) in order to guide the overall project and keep it within a time frame. The agile approach uses iterations, which are typically around 2 weeks, to keep the products coming at a rapid pace as they provide the consumer with something tangible to see and understand and give feedback on along the way. In the SDLC framework, the consumer does not receive anything until the project is concluded.
Best Practices for Applying Agile Methods to Project Management
Agile methodology can be applied to the realm of project management and best practices have been identified for doing just that (Sutherland, Viktorov, Blount & Puntikov, 2007). For example, Kanban provides a framework for project managers to use that promotes transparency and better understanding of the work flow so that all stakeholders involved in a project can see the progress to date and know who is waiting on deliver of what so that another portion of the project can commence.
Traditional project management methodologies tend to be linear: they begin with a project initiation and proceed to planning and execution stages. Performance is monitored and finally the project comes to a close. This is essentially the waterfall model: the client’s needs are specified, the project is designed in total around those specifications, the project design is then implemented and progress is monitored with goals being determined according to phases that are pre-determined (VanderLeest & Butler, 2009).
Agile methods applied to project management focus instead on flexibility of design, work phases being broken down further into micro-cycles—i.e., sprints as they are known in Scrum; team members are communicative throughout the entire process and everyone collaborates well with others. Iterations are designed to yield a product and that product is passed on to the consumer for feedback, and the client is thus made an integral part of the process all the along the way (Fernandez & Fernandez, 2008). Project managers who use agile methods can better manage any change in priorities that are communicated by clients to the team. They can also increase the team’s motivation and ability to perform by breaking down work into sprints and providing tasks on a day-to-day basis. By using a framework like Kanban, they can create a visual display of how the work flow will be, which helps create a sense of transparency and understanding among workers.
Benefits of Agile Project Management Methods for My Organization
The benefits of agile project management methods for my organization are enormous considering that there is a need for companies like mine to have more customer-oriented services, such as online shopping, that customers can use to add convenience to their day. For example, my organization is a grocery chain with stores across the country. It is traditional for customers to come to the store, shop and checkout their items at that checkout line. However, because there has been so much innovation in shopping over the last two decades thanks to the Internet, customers have multiple options when it comes to getting their groceries. Amazon offers delivery services so that consumers do not even have to leave their homes to get their goods. As a competitor, our organization is faced with the task of matching Amazon’s customer-oriented shopping experiences. Yet our organization has to work fast in order to compete and not lose market share—which means the company must create some sort of web presence that allows consumers to shop online and either pick-up in store or have delivered to their homes.
That is where agile project management can come into play. It can help our company to increase its speed to market in terms of getting our product offerings onto a web-based platform that consumers can access conveniently from their homes. The Scrum approach would allow for an iterative approach—i.e., for a product to be delivered in quick time so that the organization can at least begin to have a presence online and allow customers to see what is available. The front end can be quickly produced and the back end segments can be added later: prioritizing the needs of the organization would be easier for the project manager to do if he adopts a flexible approach, like that used in Scrum, XP and Crystal.
In the end, the main benefit is a higher product quality: for our organization, our website would be based upon feedback that is obtained from consumers as one iteration is provided after another and feedback is incorporated into the next iteration. Thus, the project is constantly undergoing revision and testing with real consumers. The idea behind this is to be as customer-oriented as possible and to achieve a high rate of customer satisfaction (Ferreira & Cohen, 2008).
Increased project control, the mitigation of risk, and a quicker return on investment are other benefits that for my organization that agile project management can provide. For instance, using the Kanban framework, my company’s team members could see exactly how the work flow of the project is leading to the final outcome for each iteration, thus allowing everyone to stay on task. This gives the project manager a great deal of control in terms of communicating the whole picture to the team. Likewise, risk can be reduced by having the client actively engaged with team members in the development of the product: so for our company, our consumers would be providing constant feedback to our developers regarding the latest iterations put up online for the consumer to test and try out. This reduces the risk of getting to the very end of a project using traditional waterfall methods and having the consumer hate it—meaning the entire six months to a year was wasted. With agile project management, feedback is immediate after each iteration, and issues can be addressed quickly and thus mitigate the risk of total failure down the road. This in turn leads to a greater return on investment, as the organization is investing time and money in the development of the project and by the time it is completed wants to see a positive return. In agile project management that return is more likely to be guaranteed because the consumer will have been providing guidance all along the way so that the final iteration reflects the will of the consumer (Jyothi & Rao, 2011).
How Agile Techniques Influence the Leadership of a Project
Agile techniques can influence the leadership of a project by promoting flexibility and adaptability among project leaders. Leaders can focus less on the actual tasks and more on the people involved in making goals obtainable. In other words, leaders do not have to be micro-managers when agile techniques are implemented. In traditional waterfall approaches, the leader will conduct oversight of every operation and look at metrics to make sure tasks are being accomplished on time. With agile techniques, the leader focuses more on shoring up the morale of the workers and providing them with the means to collaborate and communicate with one another and with their clients so that everyone is on the same page and has the same idea of what is required for the product to get out the door.

753 Words Hidden
Leaders using agile techniques will thus spend more time communicating with team members and making sure that information is passed along properly and less time…
Cite This Paper
PaperDue. (2019). The Agile Manifesto and its five major software development methodologies. PaperDue. https://www.paperdue.com/essay/what-are-agile-methodologies-research-paper-2174081

Always verify citation format against your institution’s current style guide requirements.