As they say “The art of life is a constant readjustment to our surroundings.” – being Agile! Let’s see why Agile Methodology is not just an approach, it’s an attitude.
The Agile Methodology
Say searching for a job didn’t work? Why do you think industry is moving towards automation? Why more & more professionals are seeking automation tracks? As the testing arena gets more competitive, people are seeking new opportunities in automation, mobile, cloud, IoT, etc. Why? Simple! Plan A didn’t work. Comfort zone didn’t work. To stay relevant, you need to change & grow your skill set with the ever-changing technology. Else, you will be obsoleted!
Same goes with everything in IT. To stay relevant, you need to readjust. You need to be swift & responsive to the client demands, changing technology and flexible workplace. How? Simple! As in life – Develop >> Review >> Feedback >> Change >> Adjust >> Next development.
It’s an attitude
Agility is the ability to adapt and respond to change…Agile organizations view change as an opportunity, not a threat!
As you might have guessed – Everybody doesn’t welcome change. To bring change is not easy. Why do you think many people stay in the same company for years, even if there isn’t any new learning? There are two kind of people – who like to be in their comfort zone vs. who enjoy the change. Being agile is an attitude. Not a methodology! It’s not about ‘Can we use Agile methodology here?’, but rather ‘How agile can we be, here?’
The Agile development
It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.
What do you think is better? Developing a custom website for Client in 6 months just to know that technology has evolved in the background and now the client wants a Mobile App OR getting a continuous feedback and then readjust the strategy after 2 months to eventually develop a Mobile App in 7 months? Yeah! The choice is simple.
The Agile movement seeks alternatives to traditional project management – a set of principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. Agile methodology promotes adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. Agile approaches help teams respond to unpredictability through incremental, iterative work cadences and empirical feedback.
Agile methodology is an alternative to waterfall, or traditional sequential development. “Agile Development” is an umbrella term for several iterative and incremental software development methodologies like Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD). While each of the agile methodology is unique in its specific approach, they all share a common vision and core values & principles expressed in the Agile Manifesto.
Agile methodology is described as “iterative” and “incremental” – assess the direction of a project throughout the development lifecycle. This is achieved through regular cadences of work, known as sprints or iterations. Every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops, inspect and adapt the direction of a project every two weeks, there’s always time to steer it in another direction. Working software is the primary measure of progress. Development using an agile methodology preserves a product’s critical market relevance and ensures a team’s work doesn’t wind up on a shelf, never released.
There are quite many other advantages of Agile methodology. We will have a separate article dedicated to it in the future…
The Agile Manifesto
In February 2001, 17 software developers met at the Snowbird resort in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development, in which they said that by “uncovering better ways of developing software by doing it and helping others do it,” they have come to value “individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan”. Some of the authors formed the Agile Alliance, a non-profit organization that promotes software development according to the manifesto’s values and principles and to encourage practitioners to further explore and share ideas and experiences.
Agile methodology can be a very exciting and invigorating approach, although some projects suit agile more than others. Stay tuned for more on Agile methodology – the process, principles, models and methods.