Agile — Is it a silver bullet?

Niroshan Madampitige
4 min readApr 9, 2019

An overview of agile core concepts

Agile is a mindset based on Empirical Process Control

“Agile is a mindset, a set of values and principles that individuals and teams can follow when developing software. Agile is not a methodology, a specific way of doing something, a framework or a process. It is a collection of beliefs based on three pillars; transparency, inspection, and adaptation. This allows development teams to be effective in what they do”. The traditional project management focuses on the three main project constraints, scope, time and cost, while agile tackles a fourth parameter, value.

Four Values and Twelve Principles

Agile Values

The Agile Manifesto, also known as the Manifesto for Agile Software Development, is a formal proclamation of the four key values and twelve supporting principles that guide the various iterative and people-centric approaches towards software development. The different agile methodologies practiced around the world, use these values and principles as guidelines towards satisfying the customer through early and continuous delivery of valuable software.

JananiLiyanage is an Enterprise Agile Coach at a leading software company in Sri Lanka. According to her, lengthy specifications, extensively detailed plans, and unyielding bureaucracy are no longer useful! The key to agility is the practice of transparency, inspection, and adaptation. A Certified Scrum Master and a Certified Scrum Product Owner, Janani, added that Leading organizations like Google, Facebook, Amazon stay abreast of business and technological advancements by deploying transformational leadership, cross-functional self-organizing teams, frequent customer release cycles and Agile engineering practices that support iterative and incremental delivery.

Remember, Agile is not a process!

“Agile is not a process. One of the major myths found in the IT community is considering agile to be a process” were the thoughts of Dr. Ruvinda Rathnagoda, a Technical Project Manager/Scrum Master at a renowned US-based software company in Sri Lanka. Agile in fact is not a process. It is actually a “way of working”. Dr. Ruvinda elaborates further on this by adding that, “Agile is a way of working, which creates a working culture in an organization based on trust which is then governed by important principles and guidelines.” In simple terms, Agile is a philosophy rather than a process or methodology.

The primary measure of progress is working software

When working in an agile environment, the primary measure of progress is working software. Multi-talented, self-organizing teams focus their attention on technical excellence whilst they frequently deliver working software. Developers work closely with business people and welcome changes to requirements even if they are communicated late in the development cycle. The team meets at regular intervals to reflect on how to become more effective and fine-tune their behavior accordingly. Agile teams have sufficient processes to facilitate effective collaboration, teamwork, and efficiency. The success or failure of the project depends solely on this empowered development team.

Agile Focuses on the best possible investment

“It is because we try to do everything, and deliver everything that our clients ask. Agile focuses on what is important; the best possible investment required to deliver the highest value to the customer through prioritization and deferring commitments. Instead of anticipating, agile believes in inspection and adaptation which allows the team to adapt to the situation whilst being focused on delivering maximum value.”

Core Agile Concepts

01. Empirical Process Control:

Agile Project Management believes in Empirical Process Control (Transparency, Inspection, and Adaptation).

Transparency — ensure everyone can easily see what is happening.

Inspection — inspect the product being created and how it is being created

Adaptation — adapt the product being created or the creation process if required. Adaptation is achieved thorugh the three stages called, envision, explore, adapt.

02. Agile is Incremental and Iterative:

Agile is focusing on a concept called MVP (Minimal Viable Product) to deliver the value faster. Agile focuses on time-boxed iterations to deliver value progressively.

03. Agile Uses Adaptive planning

The traditional project management methods such as PMBOK or Prince2 trust anticipated planning, but, agile trust adaptive planning. As the requirements, the environment, the business context change, agile emphasizes on adaptive planning which means planning is done often considering the changes and the progress made by the team.

04. Agile recommends in-built Quality

As you develop the code, the code shall have the expected quality to avoid or minimize external testing and time wastes. these are many practices that allow the teams to minimize quality errors and defects.

05. Short Feedback Loops

Feedback loops are critical to the success of Agile delivery. An empirical process is one where a team inspects how and what they have done, and use this feedback to improve their process and products.

In summation, Agile is a mindset based on Empirical Process Control targeting the optimum value delivery to the clients. There are different agile frameworks which help you to manage your projects and product development through agile practices based on agile values and principles. Agile is easy to understand and very challenging to master!

E-mail — madampitige@gmail.com | LinkedIn | YouTube | Medium

--

--

Niroshan Madampitige

“Changing the world starts with you…” | Co-founder, Scrum Meetups in Colombo | Agile Coach @ Vetstoria | Speaker