The digital transformation currently taking place in all areas of our lives has also affected work methods within corporate departments. The current trend, which is becoming increasingly widespread, is the use of agile methodologies to deliver greater business value to companies.
After explaining what the Scrum agile methodology entails, we’ll now show you some other methodologies that are also widely used:
Extreme Programming (XP)
Unlike other agile methodologies, XP is used exclusively for software development, and it is the most prominent methodology for this purpose. Another defining characteristic is its ability to work with iterations as short as a single day, with nearly daily deliveries and deployments of results.
Next, we'll take a look at the values, activities, and roles that make up this agile methodology:
Values
- Simplicity
A simple design is one of the principles that should be followed, along with simplicity in the code and documentation.
- Communication
Communication with the client must be seamless because the client is also part of the team.
- Feedback
Deliveries are made in short time frames, which allows for immediate feedback from the client.
- Motivation
Because there are so many deadlines to meet—even if they're small—it motivates us to focus on what needs to be done right now, without worrying about tomorrow.
- Respect
There is mutual respect among programmers because no one can write code that causes another piece of code to fail, and between programmers and clients due to their smooth and constant communication.
Activities
- Encode
Standard engineering practices are followed in code development: pair programming, refactoring, and coding standards.
- Try
It goes hand in hand with coding, since it is essential that development be test-driven.
- Listen
When working in pairs and alongside the client, it is important to listen to others and share information and professional opinions.
- Design
A simple design, refactoring, adherence to coding standards, and in-code documentation are essential.
Roles
- Agile leader or coach
He or she is responsible for the overall process, must be familiar with the methodology, and must facilitate the team's work. His or her mission is to guide the project members in following the process correctly.
- Client
Write down the requirements and verify that they meet the acceptance criteria. You must also prioritize the requirements for implementation and delivery based on business criteria.
- Programmer (Developer)
Responsible for writing the code and performing the unit tests that meet the requirements. These roles include: programmer, programmer-analyst, designer, etc.
- Tester
Assists the client in writing functional tests and manages and uses the tools for those tests.
Kanban
The primary purpose of the Kanban methodology is to track changes in the status of work that reflect progress and work in progress. To do this, it uses a task board in which each column is assigned a status: backlog, in progress, to review, done, etc.
Unlike Scrum or XP, Kanban does not change the process or work style. Its purpose is to prevent overproduction and ensure that components move from one subprocess to another in the correct order, while controlling the quantities produced.
The five core practices of the Kanban methodology are as follows:
- Visualize: Make the workflow visible to understand how it evolves.
- Limit work in progress: There should be no more than a certain number of tasks in each status.
- Directing and managing the workflow: It is necessary to monitor, measure, and report on the workflow for each stage.
- Make Process Policies Explicit: The rules and guidelines for the work must be established.
- Use models to identify opportunities for improvement: It is important to implement gradual changes to improve the method.
Read
Understood more as a philosophy or approach to work than as a methodology, it has its origins in Lean Manufacturing as applied to manufacturing and production processes.
The main idea is really simple: focus on what truly adds value and reduce or eliminate what doesn't contribute anything, maximizing customer value and minimizing waste.
In this regard, the principles that define the Lean philosophy are: eliminate waste, promote learning, make decisions as late as possible, deliver as quickly as possible, empower the team, and see the big picture. Consequently, this approach leads to higher quality, lower costs, and shorter lead times by eliminating activities that do not add value.
With regard to waste that may arise during the process and cause disruptions in the value stream, it can be classified as follows: overproduction, downtime, unnecessary transportation, overprocessing, excess inventory, excessive movement, quality defects, and wasted talent.