Agile is a family of flexible approaches to software development. They’re also referred to as frameworks or agile-methodologies. Firstly, Agile appeared in IT environment but over time has spread into other fields such as industrial engineering to artificial intelligence.
Agile means that during project realization you do not need to rely on pre-created detailed plans. It is important to orient on constantly changing conditions of environment and take into consideration feedback from customers as well as the users. It’s a way to stimulate developers to experiment and search for new decision beyond standard frames.
For visualization of agile-approaches developers use physical and electron boards. They provide make work process more open and clear for all specialists. It becomes very important when a team doesn’t have a formal head.
There are a list of separate specialized agile-approaches such like Scrum and Kanban. Let’s consider both of them as well as their advantages and disadvantages.
Scrum – a “structure” approach
This technology means that each project has its own universal command of specialists that works on it. Along with them product owner and scrum-master work under the project, too. First one’s work is to connect command with customer and oversee project development. In reality is it not a team leader, rather a curator. Second one helps product owner to organize business process. His work is to hold common meetings, solve everyday problems, motivate team and watch for compliance with scrum-approach.
So work process is divided on equal sprints which last from one week to a month depending on project size and team. For each sprint team formulate tasks before its start and in the end with summarized results. Only after summarizing the project then moves to the next sprint.
Such approach facilitate managing of work’s efficiency because of ability to compare results of different sprints.
Kanban – a “balance” approach
In this approach the task is to balance different specialists inside team to avoid situation when designers work for days and developers claim on loss of new tasks. The whole team is one, there are no masters or owners. All business process divides not on sprints but on certain stages of tasks solving such as “Planning”, “Developing”, “Testing”, “Finishing” etc.
Main efficiency indicator is average time of task’s passage on the board. If task passed quickly, it means that team worked productively and harmoniously. In the case if task delayed, there is a necessity to analyze on what stage and why the delays appeared. This analysis helps define whose work results need to be optimized.
What method choose?
Each agile-approach has its own situations for usage. Agile is used for inner communications. In fact it is just a common direction while Scrum and Kanban are its varieties.
Scrum helps make employees:
The main sense of this method is a task solving in self-organizing teams where each one has his own role and is responsible for his part of work. It’s main advantages are clarity and simplicity.
Kanban’s target is to rise production flexibility and adapt to market changes. This approach used in case when you need to shorten amount of unfinished tasks up to some certain number. Also it’s a good way to approach balance between team load and it’s output or results..
So choice of certain agile-approach depends on what effect you want to approach and what problems in team exist.