Agile as it says!
Agile defines a better ways of developing a product to give a continuous delivery of a quality product with the constant interaction from business and development. A highly qualified and motivated professionals are required to handle the task. A detailed understanding of the product including business, development and delivery is needed before (re)defining the Agile process for any given project. Blind adoption of each principle in Agile may not suite the requirement and the result is subject to fail.
Agile as it Applied!
Agile has a well defined principles and it broadly applies to any kind of project including technical and non-technical. This can be applied on everyday personal life as well. The Agile principles are very clear and crisp which requires a very deep understanding before applying in a project. There are projects which don't require a in depth knowledge of Agile, but still can be applied and worked extremely well. These project which are mostly repetitive in nature (like as in assembly line, manufacturing segments, manual testing etc.) works very well with agile and can notice a positive productivity improvement and probably can see the results is sales as well.
Agile as in Service!
In service based sectors, scrum methodology is most suited. The constant 2 week scrum to sustain a product works well with some tweaking based on the type of product which is supported. In some cases, the constant 2 week scrum cannot be applied repeatedly due to the nature of the work.
Agile as in Technology!
In a product development sectors, various methodology types like scrum, Kanban, Devops etc, or the combination of these can be used to defined the agile process for a given project. This Agile process need to be /tweaked/redefine specific for the project. This newly tweaked Agile process is expected to be followed through out the life cycle of the project. Also, this newly defined process must be ready for the change as and when the product and the process evolves.
Agile as upper management sees it!
This has become a fashion in most of the upper management to put up a slide about Agile and its adoption. Most often they don't have a clear understanding of the Agile, and modify the process as they think it makes sense to them. This leads to project failure most of the time and bring a negative sentiment to the Agile as a methodology.
Agile as developers sees it!
Given a well defined Agile process for the given project is defined, then it is expected to be followed religiously. when this happens, the developers get into a mode of completing-the-task rather than completing-task-with-good-quality. The push back from the earlier sprints after testing adds more pressure on the developers in the current working sprint. This can be seen as distraction to have a quality sprint most often, and this effect follows.
The counter argument is, if the developers can write small stories in detail and put every possible detail including the automated unit testing as part of the sprint, then the most of the quality issues can be addressed with in the sprint itself. In the current technology world, finding such matured programmers are difficult and handling the developers who are not up to the mark is very challenging to the management.
Having such mixed set of experienced people in the team, leads to many complications like
- Bad quality
- Misunderstanding in the team
- Quicker release cycle but slower feature additions
- Better accountability but less innovation
- and many more
Agile what it needs more ?
Agile as a methodology got well defined principles and different methodology available to use as and when it needs. The missing part is who does what job, and how to make it transparent and implemented with out any casualties.
For example, the short stories of any feature must be written only by the experienced and matured developers. The developers to qualify to write short stories, should have a training process before a developer gets into that role. Similarly, other areas like road map definition, interaction with business, scrum-master roles should have a learning process which are unique for every project .
In assembly-line or in manufacturing segment, almost every engineer will do a very similar and repeated job which don't require a special talent to complete their tasks.
When it comes to highly complex technical projects, every person with its right skill set need to be identified properly and assign the task to work on. As with Agile, the reporting model gets flatter and get more difficult for people to get identified and assigning the right task to the right people.
More than defining a right Agile process for the project, identifying the right skill set match to the Agile requirement is a big challenge. Wrongly identifying the resource is on another reason for the project failure. also, this leads to innovation failure as well.
Summary
Agile is a well defined methodology to help excel in the highly competing market segment.Define and follow the Agile process is simpler.
Identifying the matured developers to lead the feature don't just work as expected and leads to project failures.
Comments