Has Agile become a common practice for your company yet? If not, see the first from our fresh series of Agile articles to get a better understanding of the Agile methodologies and why you most definitely have to start applying them. Each article is accompanied by clear infographics, so you won’t get bored by studying long reads.
What is Agile?
So, what is agile software development? Definition by TechTarget is as follows: from a technical perspective Agile is an iterative approach to planning and guiding project processes. The iterative approach enables transparency, which many value the most in Agile. Transparency is achieved through working on small project chunks (each chunk per project iteration), instead of doing a monolithic piece which is troublesome to monitor. This is what distinguishes Agile development process steps from other development processes. Agile cuts the whole project scope into small work pieces that fit nicely into an iteration, the length of which is determined considering the time and efforts needed to cope with the task/workpiece.
From an interpersonal perspective, Agile development is characterized by a healthy communication flow between the parties engaged in the task. While the job is being done, all the people engaged interact actively about any project-related issues. That is, BA talks to the Client, devs talk to the QA, Client talks to the devs and QA, etc.
What about the agility? As its name suggests, Agile approach allows teams to readily adjust to the project-altering circumstances and change the code, that is a pretty common thing for any project. It is possible due to the fact, that the work is revised after each short iteration. So, the Client sees if the devs actually deliver what he/she wants as the iteration ends and corrects the contractor, if needed. Furthermore, it is way easier to fix the bug if you have to revise a two-week work piece, than if you have to correct a month-long code writing.
How to implement Аgile software development? To do this, first you need to choose the right Agile methodology. And here’s the tricky piece: many confuse Agile with Scrum, by far the most widely used Agile methodology. What you need to understand, is that Agile is a family of methodologies, which, besides Scrum, includes Kanban, Extreme programming, Future-driven development, and others. Each of them fits best their respective purposes. In other words, you can’t apply Scrum to each of your projects with the same effect. However, there’s always Kanban/Extreme programming/Future-driven development there to help you out, so you can decide for yourself which methodology better meets your demands.
Nevertheless, what unites them all is the four principles that form the basis of the Agile approach.
The four core values of Agile software development according to the Agile Manifesto are:
• 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.
Enough of boring introduction? Okay, got you. Get your well-deserved infographics below.
The first of our infographics is dedicated to Scrum. Unfortunately, its application rates are declining (according to Drupal) and we’re astonished as to how come so. Scrum is a brilliant thing and Google, IBM, Spotify and other giants adopting Scrum in their practices prove it by their own example. Thus, we’re rushing to save the day and tell you how to do things the way they should be done in order to make the best out of the Scrum methodology.
Follow Julie and Jane, our Scrum students, for better clarity.
Don’t be disappointed to see only one Agile methodology here. The next three will be highlighted in the upcoming articles from the Agile series.