By Mark Baulo
Methodology is defined as the framework where a logical scheme based on values, principles, and guidelines is applied. Depending on which industry you belong to, you might hear the word and its many different variations quite often. But in the field of Information Technology, one is coming on top and is proving to be a favorite amongst project managers and developers alike - the Agile Methodology.
In pursuit to further the skills and knowledge of its employees, last April 04, 2022 Innovuze Solutions Inc. conducted a Virtual Seminar on the Agile Methodology and its Principles headed by the General Manager himself Mr. Lionel Amarado The seminar aims to simplify the concepts for beginners. Participants were expected to learn the Attributes, Values, and Principles of the methodology, and understand its advantages and disadvantages. The seminar was attended by the employees of ISI both in the office and also by those working from home.
What is Agile?
Based on the definition of the word alone, Agile means to move quickly and easily. The Agile Methodology then is an approach that favors fast, iterative, and smaller increments, with continuous feedback being responded to quickly. But before going deeper, Mr. Amarado shared that years ago, a survey was conducted on ISI employees on what development or project management approach they use?
Seeing as quite a few of the employees are already working in development, the survey showed that quite a few were already using the Agile methodology and some of its variations - Scrum and Kanban.
To better understand Agile, Mr. Amarado presented a comparison of another project development methodology - the Waterfall Methodology.
Waterfall vs Agile
The Waterfall methodology is said to be best when the problem and solution are already clearly defined and have been in long use. In this method the final product is very resistant to changes and doing so would cost time and resources, requiring only small maintenance. Due to it being a done and done project, the waterfall approach is stricter when it comes to the timeline and will always stick to the agreed-upon scope of the project.
Due to these features, the waterfall method is best for projects with a physical outcome such as the construction of houses, buildings, automobiles, etc. The designs have been tried and tested, the end products are difficult to change, and the timelines can be easily predicted.
In contrast, the Agile methodology is best used when the issues that need addressing are still unclear or are constantly changing. It could be viewed as an explorative method of finding solutions. As can be seen from the provided image, the problem is analyzed and defined, the solution is designed and implemented, and it is then tested. Whatever the results of the test might be, the process reiterates with new data. This way, problems can be addressed as the project progresses, the solution itself can change, and the budget and timelines will vary.
Due to its nature, the Agile methodology is best used for Social Media applications, marketing campaigns, informational websites, and mobile games! As more and more people use these products, data can be acquired on how to improve these services and then updates can be made, and the cycle continues.
Most Common Agile Methodologies
When learning about Agile, two variations always come to mind - Scrum and Kanban. At this point, Mr. Amarado asked some of the participants if they are familiar with these two. Sure enough a few said that they are currently using, or have used these in the past.
In this framework, a team commits to a small increment that is potentially shippable conducted throughout set intervals called sprints. Members of the team adopt specific roles, create artifacts, and hold regular ceremonies.
Another very popular framework in Agile is Kanban. This framework focuses on visualizing the tasks and organizes them in columns clearly defining where you are in the development process. Usually, the columns include a requested, in progress, done, needs review and others that are required by the project.
The Agile Attributes, Values, and Principles
As Mr. Amarado puts it, it is important to understand the underlying values and principles of a methodology to fully understand and appreciate how it works.
According to Mr. Amarado attributes can also be referred to as the characteristics of the methodology. And that they are the things that make Agile what it is. These are qualities or features that somehow define a thing or process. For the Agile methodology, it is Transparency, Customer Focus, Adaptability, Shared Ownership, and Continuous Improvement.
If those were the attributes of the agile methodology, the following are its values. As Mr. Amarado puts it, the values are the things that you believe in - things that are most important to you. And these are the things that are important, or put forth in the center, when it comes to the Agile Methodology.
That individuals and interactions are more important than processes and tools.
Functioning products are more important than documentation.
Collaboration is more important than negotiations. And
Responding to change is more important than rigidly following plans.
Finally, we have the 12 principles of Agile. Principles are defined as the foundations or fundamental truths of anything, and for Agile the following must be abided to.
Satisfy the customer - giving early output and receiving early feedback is the key to a successful project.
Welcome change - the needs of the customers are unpredictable and might change over time - accommodate these changes.
Deliver frequently - the earlier you deliver the earlier you get feedback and resolve problems.
Work together - both technical and non-technical people must learn to work together - collaboration is essential.
Trust and support - give every member of the team the support they need.
Face-to-face communication - speaking face to face or having “synchronous” communication is always better and leads to less confusion.
Working software - 90% done is still not done, a working product is the only measure of success.
Sustainable development - Use what works and eliminate what doesn’t - always try to identify and manage risks.
Continuous attention - always pay attention to technical excellence.
Maintain Simplicity - always keep things simple, and try to avoid complicating your processes.
Self-organizing teams - when provided with freedom, motivated teams generate the most value - they are able to track their own work and progress.
Reflect and adjust - always reflect on what has been done, admit mistakes, and set expectations for the next interaction.
So, whether you are new to the methodology or not, always keep these principles in mind as they will guide you in your future projects should you choose to try and use Agile.
Advantages and Disadvantages of Agile
From all that has been discussed by Mr. Amarado, we can see that Agile has several advantages and using this approach has led many projects to success. Customers and clients are satisfied because they are part of the process. The repeated iterations and error corrections ensure better product quality. It allows the team a lot of freedom and flexibility as well as space to develop complex and completely unfamiliar products.
Mr. Amarado also stressed the importance of applying these principles to how we conduct our day to day business. That the organization’s environment and culture be conducive to these principles. Stating also that the mission, vision, and core values of the organization should align with these.
However, everything has pros and cons, and that goes with the Agile methodology. Despite these positives, there are some issues that the methodology does have that you need to be aware of. Understanding these disadvantages allows you to better make decisions whether or not Agile is the best method to use for your project.
Changes and requests can be costly - change is good, but having too much change can affect the stability of the project and just cause further and further delays and clouds the MVP.
Early delivered products can have defects - releasing products too early can have bugs or quality issues. Always have Quality Assurance as part of your process.
Some mistakes can be fatal - mistakes can be a great learning opportunity but some can be quite costly and dangerous such as those relating to security, banking, or health.
Strictly following all principles can be expensive - tools will not guarantee success. When implementing Agile focus on mindset and attitude rather than the tools and compliance.
Too much simplicity and lacks formality - some important steps or processes might be skipped for the sake of simplicity. Try to be sustainable, think about simplifying processes or documentation but not to outright skip them.
In conclusion, Mr. Amarado reminded the participants that Agile Methods are helpful in projects that aim to deliver products that satisfy customers. These values and principles guide the team on how to work with every member the right way. As well as fully understanding why you are using Agile, making use of its advantages while still recognizing its disadvantages and how you can resolve or minimize their effects.
Mr. Amarado thanked everyone for their attendance and participation, as well as participants thanking the speaker for what they have learned. Before ending the seminar, Mr. Amarado posed a question for everyone and asks what their personal experiences were with Agile and how, after going through the seminar, adding changes in their current processes using agile methods could benefit the team.
A very important question indeed, one that every employee needs to think about. Beyond the seminar, I’m sure many will find the many little adjustments that they can do to make their day-to-day tasks a little bit more agile.