Developing an agile mindset

-By Tanmay Anand

The word agile literally means something capable of moving quickly and easily.

So what does an agile mindset mean?

An agile mindset focuses on producing and adapting to change in uncertain environments.

It is a mindset based on a set of beliefs and principles. Carol Dweck first popularized the concept of fixed mindset and growth mindset. A person with a fixed mindset believes that their qualities/skills are fixed and cannot be changed, so they focus solely on perfecting that skill set, whereas a person with a growth mindset is eager to learn new skills and believes that skills can be developed given enough time and proper guidance.

Akin to a growth mindset, in an agile environment, one must operate in a tumultuous setting and cope with uncertainty regularly, and in an agile environment, one needs to adapt their skills according to the uncertainties encountered.

“On February 11–13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, seventeen people met to talk, ski, relax, and try to find common ground — and of course, to eat. What emerged was the Agile ‘Software Development’ Manifesto. Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation-driven, heavyweight software development processes convened.” — extract from the History: The Agile Manifesto.

The four values that are the heart and soul of any project or process involving agile approach are :

1.Individuals and interactions over processes and tools.

2.Working software over comprehensive documentation.

3.Customer collaboration over contract negotiation

4.Responding to change over following a plan

In addition to these four values, there are 12 detailed principles for an agile approach i.e -

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile is highly valued and applied quickly in startups because everything is in its infancy, whereas it is more difficult to adapt to agile in large companies that already have their own fixed workflow. However, it can be incorporated by starting agile processes in a small team and then introducing them to the entire organization.

Agile evangelists might tell you to use agile and use its benefits in all the use cases but practically sometimes it is better to use traditional “waterfall” or “V-model” in some cases.

The major advantage of using agile over any other model for project management is that we work in small cycles called “sprints” in agile. After every sprint, a new version of your product is released. This reduces the pressure on the team compared to one-time release panic in a team as the stress is divided because of the continuous release of a new/better version of the product.

One can relate this in real life by taking the example of a student who reads and practices daily instead of mugging up everything a night before the exams.

In conclusion, Agile is a mindset that can be easily developed once all the theory is applied practically in a real-time project. Whenever one is facing any problem in applying agile they should refer to the 12 principles of the agile approach and then try to implement that in their projects.

An agile mindset combined with appropriate tools can be a game-changer for a lot of projects. Finally, in a world where a guy who builds rockets also builds self-driving cars, agility is not an option but a necessity.