AGILE METHODOLOGIES

HOW USEFUL ARE THEY? WHAT DO EXPERTS SAY ABOUT THEM?

AN OVERVIEW OF AGILE METHODOLOGIES.

Agile methodologies are approaches to product development and project management, with roots in IT and in the Agile Manifesto for software development, created to show the dissatisfaction and insufficiency of the traditional models.  

Agile appeared to face the traditional “waterfall” approaches, characterized for being rigid and based on standardized sequential phases that occur one after another. Thus, this approach did not leave room for sudden changes nor customer feedback, resulting in the wrong products being delivered.

Waterfall approach. Own creation

Agile aims to deliver the right product through small cross-functional self-organizing teams, enabling frequent customer feedback and correction. 

How is Agile able to achieve this? 

Agile segments the tasks to anticipate deliveries, by breaking large projects into shorter periods, called iterations. By doing this, customer feedback can be taken into account more often and changes can be made accordingly to ensure its future success. 

The structure of the teams is really important when implementing Agile. The demanding tasks require teams to be self-organizing, in continuous communication and in direct contact with customers to satisfy their expectations from the beginning.

Agile Framework. Own creation

The adoption of Agile is becoming more and more common in companies that want to deliver products that will receive a great welcome and will eventually become a success in the market. Apart from that, Agile also improves companies internally by increasing team productivity and performance and by nurturing the organization with greater flexibility and with a competitive advantage.

AGILE HISTORY. HOW DID WE GET TO WHERE WE ARE TODAY?

It was not until the spring of 2000 when the idea of speeding up development times to bring new software to market faster came into place. A group of 17 software developers, including Martin Fowler, Jim Highsmith, Jon Kern, Jeff Sutherland, Ken Schwaber and Bob Martin met in Oregon to discuss the matter and they recognized two key opportunities that achieving this goal could make possible:

  • Delivering earlier the benefits to users to solve the product-market fit and development problems
  • Getting feedback from customers to confirm the usefulness of new software and continue to improve on it accordingly.
Figure 3: Software developers working on the Agile Manifesto
Figure 3: Software developers working on the Agile Manifesto

Although this did not result in current Agile methodology, it was the first step for its later development since speed to market, feedback and continuous improvement are keys of Agile.

Less than a year after this meeting, this same group met again in Utah, looking to expand on their progress and achieve a more concrete solution to the major development problems of the period. Within three days, the group produced the “Manifesto for Agile Software Development” (known more commonly as the Agile Manifesto), which implied an inflection point in the history of Agile. This manifesto laid out twelve principles and four key values for agile software development. 

The four key values are as stated below:

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.
Figure 4. 12 principles of the Agile Manifesto

ADVANTAGES AND DISADVANTAGES.

The use of agile methodologies has become widespread due to the broad advantages it offers. These are some of the most important:

  • It allows the team to divide the project into stages and thus, focus on each one individually and work faster.
  • Agile allows you to adapt the project as it progresses, so if any change arises, it is very easy to reorganize the team in relation to the new objectives.
  • Agile methodologies make it easy to find errors, since the team can focus on development, testing, and collaboration.
  • Flexibility to define priority functions and set goals.
  • Close interaction between the team and the customer ensures constant progress, quality improvement, the ability to make changes effectively, and the option to present new ideas about the product being developed.
  • It allows you to quickly identify which are the most interesting tasks at all times, without wasting time on constant reports that detect them.
  • The client can see results much more easily at any point in the process because agile methodologies make projects more transparent.
  • Faster feedback from end users.
Figure 5: Agile’s framework

But it also has some disadvantages to consider. These are the most important ones:

  • It is difficult to determine the amount of time and money that will be needed to complete the project due to constantly changing requirements.
  • A high level of interaction between the client and the developers is required, which can take time and make the process difficult.
  • Lack of attention to documentation can make it difficult for new team members to access needed information.
  • The lack of project boundaries might lead to uncontrolled expansion, causing the project to never reach completion.

However, the majority of mistakes are caused by a lack of comprehension of the Agile approach, or simply a refusal to implement the methodology.

BEST PRACTICES.

Agile methodologies have proven their worth, now the question is: What are the best practices when adopting them?

  • First, accept that change is the core of Agile: even if it is late in the development stage, it is important to be willing and ready to adapt and change initial plans, to fit best what customers expect. It is okay to find out later that customers’ needs were not accurately identified (adaptive planning).
  • Have a dynamic interaction with consumers at all times: customer satisfaction is the absolute priority. Favour the interaction of customers and developers so they understand the goals and provide solutions fast. In the same way, it is encouraged to regularly (every 3-4 weeks) ask for all stakeholders feedback.
  • Set a good working atmosphere, access to resources and a motivating environment for the development teams. Consider a flexible schedule which best fits them, not the corporate standards. This is part of self-organization.
  • It is also good to have meetings, give feedback and exchange opinions and ideas about what needs to be done, achievements and failures.
  • Encourage the development of the software in stages (with tools like Gantt charts to organize the development schedule), to do every step well in a right amount of time and to identify and solve bugs easily (short delivery times).
  • It is part of Agile to think about reworking the code regularly. The goal is to achieve the same results but in a clearer and more efficient way.
  • To ensure that the project is respecting realistic deadlines, the product owner should manage a list with all the tasks prioritized by importance.
  • It is often advised to encourage working in pairs. Indeed, pair programming has the same amount of job done, but of higher quality, due to the synergy (they put their skills in common) and thanks to the double checking.
Extract from Infographic. Own creation

If you put in place your processes following these guidelines, you should be able to see the benefits of incorporating agile methodologies to your business management.

EXAMPLES OF AGILE METHODOLOGIES:

There are currently over fifty agile methodologies available. Despite this broad availability, a number of project managers opt for hybrid project management methodologies, mixing agile with traditional approaches. 

The huge amount of methodologies available may seem a little bit overwhelming at the time of choosing the appropriate for your company. So, what are the differences and which one fits better my company’s needs?

Some of the most well-known agile methodologies that are currently improving companies internally and externally are the following:  

  • SCRUM:

Scrum’s popularity has not been achieved by luck but rather by all of its capabilities that have made it one of the most practical and well-known agile frameworks. 

Scrum framework is characterized by:

  • Adaptation: Scrum highlights the importance of planning before starting a project.
  • Value is achieved fast: Scrum is based on short bursts of operation (sprints) that produce value quickly and consistently. This way customers can refine their specifications and needs based on what has already been delivered.
  • Team-Focused: Scrum is known for being a “team-centric” approach. The framework found an inspiration on the self-organised nature of rugby teams when they handle complex strategies on the pitch.

The implementation of Scrum forces companies to introduce different changes internally. Following this framework, companies have to adapt to the three different core roles of Scrum: scrum master, product owner, scrum team.

  • Scrum master: the facilitator of the scrum development process, in charge of making sure that the scrum framework is being followed.
  • Product owner: ensures the scrum team is always delivering the maximum product value. He relies on the updates of the Scrum master.
  • Scrum team: a collection of individuals (five to nine members), members of a self-organized group who have the business, design, analytical and development skills to carry out the actual work.

Big companies such as Sptofify have changed to adapt the business to Scrum’s framework. The company is currently implementing Scrum’s guidelines in the following way: 

The Scrum masters at Spotify are required to be experienced agile coaches, many of them leading agile trainers. Then, Spotify uses totally independent small teams (product owners) which are treated like individual startups: they are allowed to work independently making it easier to focus on assigned, specific functions within Spotify’s products. Finally, these teams are organised into larger units (scrum teams) that are vaguely structured into chapters and guilds to drive stronger knowledge sharing between teams.  

The Scrum masters at Spotify are required to be experienced agile coaches, many of them leading agile trainers. Then, Spotify uses totally independent small teams (product owners) which are treated like individual startups: they are allowed to work independently making it easier to focus on assigned, specific functions within Spotify’s products. Finally, these teams are organised into larger units (scrum teams) that are vaguely structured into chapters and guilds to drive stronger knowledge sharing between teams. 

The opportunities offered by Scrum are countless and it is no wonder why it has been chosen by major companies such as: Google, Apple, Facebook, Airbnb…

  • KANBAN

This agile-based methodology originated from lean manufacturing pioneered by Toyota. The way Kanban works is very simple: 

There is an extensive to-do list with tasks organized by priority. These tasks and their status are visualized as cards on a board and are accessible to all project workers. These cards are moved according to the status of the work: let’s say a team member is ready for some work, then he would transfer the corresponding card to a new status such as “Doing” or “Testing”.

Kanban board. Own production

Kanban has been found to be really useful when orders arrive unexpectedly and you desire to deploy work as soon as it is ready rather than waiting for things to arrive. for designing, managing and improving information workflow systems. 

To ensure the correct implementation of Kanban, some principles for the teams have been established: balance, customer focus, leadership and understanding. 

Apart from the mentioned principles, companies that have chosen to implement this strategy must take into account that there are several stages that must be followed: 

  1. Visualize Work: for this, it is important to create a board with a column for each stage of the process and post sticky notes with the tasks on it. Some of the stages that describe the project team’s workflow are: (e.g., Not Started > Development > Dev Testing > Acceptance Testing > Done).
  2. Limit Work in Progress (WiP): a core lean manufacturing concept that enforces a cap on the number of tasks a team can operate on at the same time – typically no more than 2-3.
  3. Pull, not Push: following this procedure, each team member completes their current task before “pulling” a new assignment from the board. By doing this, the segments of the team will have a higher throughput and this will avoid bottlenecks.
  4. Monitor and Improve: visualizations like a cumulative flow chart will help companies understand how work is going and to anticipate and identify possible bottlenecks.

The possibilities and capabilities of Kanban are countless. The implementation of this model will favor the organization of the work, it will improve team communication which will result in a smoother workflow and ensure success.

Therefore, there is no doubt why big companies such as Pixar Studios, Spotify and Zara have incorporated this framework into their internal processes.

  • XP:

XP is another of the most well-known agile methodologies.The first objective of XP is to highlight the technological aspects of software development. To achieve this, it uses a set of outlines and work rules to formalize the process of writing code, this allows the coding process to be less random, to reduce timing when delivering an application and to remove bugs.

This tool has been found to be appropriate and useful for:

  • Dynamically changing software requirements.
  • Avoiding risks caused by fixed time projects using new technology.
  • Small, co-located extended development team.
  • The technology you are using allows for automated unit and functional tests.

To effectively implement the program, it is important to understand how it works with your company. It consist of five phases:

  1. Planning: after a meeting with the team, a release plan will be developed and broken down into iterations to cover the necessary features piece by piece.
  2. Designing: this second step is a part of the planning process.
  3. Coding: in this phase, tools such as coding principles, pair programming, continuous integration, and collaborative code are used to construct the actual code that is required to achieve the objectives.
  4. Testing: this phase is the core of the process. Unit and acceptance tests have to be run to ensure the success and meeting of the objectives.  
  5. Listening: this phase cannot be skipped or missed since the success of the process is achieved to a great extent by the constant communication and feedback between all the members of the company involved in the development of the project.

One of the techniques that programmers use during coding is “re-factoring”, a practice in which programmers are constantly working to simplify the code. By doing this, programmers are able to minimize the number of errors since the code is kept clean and the things are just defined once.

The crucial key and main advantage of XP is the constant communication which allows programmers to focus their work on perfecting the previously specified features.

Companies such as Ford Motor, Chrysler and IBM have found very useful the opportunities offered by XP to the point that it is now an essential part of their core businesses.

  • LEAN DEVELOPMENT:

The application of Lean concepts to software development is known as lean development. Lean concepts originated in manufacturing as a way to simplify the production line in order to reduce waste and increase consumer satisfaction.

Lean production allows companies to get information straight from the source, which solves the issue of developing software that does not meet the needs of customers. Short iterations enable the team to communicate limited sets of plans ahead of time and make decisions as a way to respond to changes.

Lean focuses on eliminating anything that does not have value for the company.  Lean tools should be used to tackle the 8 main sources of waste that cause inefficiency and lower productivity in businesses: Wait, Defect, Transport, Movement, Excess Inventory, Excess production, Unnecessary processing and Unused talent.

Using lean ensures that your business will take a variety of valuable steps during projects: communication and learning from the company, its clients, monitoring progress and testing and adapting earlier and more often.

  • CRYSTAL:

The creator of this method was Alistair Cockburn, who worked at IBM in the 1990s and developed a framework for software development. By interviewing successful teams, he realized there was not a formal methodology, but best practices that varied based on team size, criticality and priority.

Crystal method focuses primarily on people and their interactions when working on a project rather than on processes and tools. For example, a small team can keep aligned with regular communication, so it doesn’t need much status reporting and documentation, whereas a large one may get out-of-sync and would benefit from a more structured approach.

The teams are characterized by color, according to the number of people involved in the project:

  • Crystal clear – Teams with less than 8 people.
  • Crystal yellow – Teams with 10 and 20 people.
  • Crystal orange – Teams with 20-50 people.
  • Crystal red – Teams with 50-100 people.

At the heart of the crystal there are 7 principles. The first three are compulsory for all crystal approaches, but the rest are optional and can be adopted if appropriate:

  1. Frequent delivery: the code has to be delivered regularly to the real users. If this is not done, it is highly probable that you will be building a product that
  2. Reflective improvement: companies have to analyse what they did, the way and the reason, and thus reflect and decide how to improve it in the future.
  3. Osmotic communication: this term refers to “Co-location”, which means having a team in the same space so as to facilitate the flow of information between team members.
  4. Personal safety: team members should be open to discuss ideas openly, since wrong suggestions do not exist in a crystal team.
  5. Focus on work: it is highly important for team members to know their next task, to be able to do it and have the access to the necessary information and communication.
  6. Access to subject matter experts and users: getting feedback when necessary is an important input for the team members to ensure the success of the project.
  7. Technical tooling: giving teams the access to different tools such as continuous deployment, automated testing and configuration management ensure that errors will be managed quickly and with no need of human involvement in the process.

WHAT DO EXPERTS SAY ABOUT AGILE?

Quote from Henrik Kniberg (Minecraft developer)

The main problem experts have identified is that most companies underestimate the complexity of the implementation of Agile in their companies. However, they firmly believe that, if used correctly, it brings lots of benefits that should not be overlooked.

Agile will force companies to change their way of working, and that will require lots of economic and effort investments. Experts have identified 3 keys aspects to ensure the efficiency on the implementation of this methodology:

  • Team dedication and stability.
  • Sprints should be kept short.
  • The whole organization has to be aligned..

Therefore, the implementation of Agile requires lots of commitment and constant improvement and learning. These processes never end but the outcomes of the uses of the technology end up outweighting all the investments put into it.

As the CIO of Deutsche Bank, Wolfgang Gattner, stated “We have to get there. The traditional ways are not fast enough, they are too complex and they don’t surface innovation. So that is very clear”.

FUTURE OF AGILE METHODOLOGIES.

The future of Agile learning seems to be uncertain. However, there are clear trends evolving that should be taken into account. Some of the predictions about where this methodology is going are:

  1. Convergence and hybrid approaches: Although Agile appeared as a revolutionary substitute of Waterfall and traditional project management, benefits are achieved by combining both approaches. With this, plan driven principles would be blended with Agile in the right proportions to ensure success and efficiency. There will no longer be independent approaches and methods, rather, they would be all incorporated in the right proportions.
  2. Scaling Agile: Agile will start to be used in larger and more complex projects. In order to achieve this, it is necessary to ensure that the above mentioned is well followed. Scaling Agile will require finding a way to combine it with traditional management practices, to get the best results.
  3. Enterprise-Level Transformations: When deciding to apply Agile, companies have to thoughtfully do so, rather than just doing it because they want. It has to be applied in the context of the company’s most critical business objectives.

In conclusion, due to the complexity and newness of Agile, it is hard to predict its future. However, for sure the necessity to implement it on much more complex projects will force companies to find how to blend it with the traditional management to ensure its success. Achieving a well defined and implemented Agile methodology strategy requires a lot of skill and knowledge of the principles behind Agile.

To finish our review of the Agile Methodologies, this is a video which summarizes the topic in a very dynamic way and can be useful to clarify any possible doubts you may have.

“I am a management and technology student, I find economics really interesting and it is one of my strengths . I see myself in the future working as a business analytical. Love traveling and reading news about innovative developments.”

IRENE DAZA CORTINA

I am currently studying Management and Technology and I am really interested in all the business and economics aspects, also I like marketing. In some years, after I have finished my studies, I see myself working in a big company, in the marketing department, hopefully being the director of that department. I love travelling and sports”

ANA BAÑOS CASTRO

“I’m currently studying Management and Technology since I find the digital world really fascinating and I see myself working in a big company, although now I’m wondering where I really want to work. I’m passionate about gastronomy and languages, and I also love travelling and swimming.

SARA SANMARTÍN VÁZQUEZ

“I am a french business student, highly interested in the social and environmental impacts of the corporate world. I see myself working in a start-up, which I believe have the best management, processes and methodologies, including in terms of technology management.”

MANON GIRARD

“I am a current student in Management and Technology degree. What really interests me is the new whole world of digital technologies and how it affects interpersonal relationships, also I really like anything that is maths related. To be honest, I do not know how I see myself in the near future but I keep trying and learning new things to figure it out. What I know for sure is that I would love to work in an international company. Regarding my personal interests, I really enjoy practising sport and cooking. Of course, I love travelling because it makes you grow personally by knowing different cultures around the world.”

LARA GÓMEZ MARTÍN

“I am a student of the degree in Management & Technology. I have always found it interesting how business can use new technological methods and finance. Therefore I may see myself in the future working for a business doing its accounting or starting a company my own.”

LUIS DE PABLOS

“I am currently studying Management and Technology at Universidad Carlos III de Madrid. I’m really passionate about technology and how it can be used to facilitate our everyday lives. Apart from business, I find myself to be really interested in scientific subjects. I love traveling and learning about other cultures, I consider it to be extremely enriching. I am not sure where I will end up working in a future but hopefully, I will find a job that satisfies all of my interests and passions.”

JULIA PABLOS

BIBLIOGRAPHY

Leave a Reply

Your email address will not be published. Required fields are marked *

SWA Learners Blog © 2018