Agile as a project management strategy
Agile is one of the most common project management strategies in existence. It employs the use of iterative techniques to resolve problems. Simply put, agile prioritizes customer satisfaction by involving the customer in the process, identifying the problems or tasks of the project as well as solutions, speedy execution of these solutions to ensure a quick and quality delivery.
The creation of the Agile type strategy dates back as far as 1957, even though it did not carry the name at that time, however iterative software development methods saw great strides through the 1970s and the 1990s and in the year 2001, a group of software developers met to discuss “lightweight development methods”, and thus, the Agile software development manifesto was born
There aren’t many projects using the Agile strategy that last too long. Agile involves breaking down your project into smaller iterative and incremental pieces called iterations or sprints. These sprints are executed in short time frames called time-boxes that last anywhere between a day to four weeks and each sprint packs in planning, design, coding, unit testing and acceptance testing. At the end of the sprint, the working product is presented to the customer for a satisfaction test and if this goes well, the project can be closed.
When projects are broken into sprints, there is a chance of it failing earlier in the project and being fixed immediately, as opposed to completing the entire project and having it fail at the final test. Agile is widely adopted by various project managers because customer satisfaction is a priority, it is fast and it aids early fixes to project problems.
Another major characteristic of agile is that team members have to work hand in hand, and therefore, quality communication will help a lot. Agile also requires quick feedbacks and thus, daily stand-ups are a must.
The agile sprint breakdown may follow different forms but and style, but the general guide for building sprints are:
- Sprint requirements
- Sprint design
All sprints have features to be implemented. And just like building anything, materials are required. This is a point in the sprint where all necessary factors for a successful sprint are taken into account and deliberated on. This could basically be called the planning stage.
Once the requirements are set, the next step is to design and this involves visually bringing the plan to live. A design of the visual aspect of the project is processed and then accessed for satisfaction checks.
Once the design is approved then coding begins. This is the vital process of actively building the product. It is broken into tasks and distributed to the developers on the team. Once each task is done it moves to the next stage.
Tests are essential to building any product. After each iteration or sprint is completed, they are tested for quality and functionality. Once the project is finally completed, a series of end to end tests are carried out for consistency checks. The green light on all these checks and tests means the project is at the completion stage.
This is the final stage which is the actual deployment of the built product for use. For this to happen, the customer must be satisfied with the final product and then the product can go live.
No strategy is perfect and Agile as a strategy has its own challenges, I will discuss a few.
- Lack of training
- Team focus
- Assigning tasks
- Too many tasks in a sprint
- Time frame, scope, quality
Lack of training
Many people believe that as a result of the flexibility of agile as a strategy, there are no rules, but that is not the case. A lack of training on the use and adaptive methods of the agile strategy begins to cause strain on unprepared teams
This particular strategy requires focus from team members as assigned tasks have to be judiciously delt with and some times team members become preoccupied with different other tasks, as a result, lapses begin to occur.
Task assignment can be tricky with agile strategy because in other to speedily complete projects, team members are mostly assigned tasks according to their strengths and the adverse effect of this is that team members are not given the opportunity to grow and work on their weaknesses.
Too many tasks in a sprint
In the process of breaking down the project into sprints, there is a common mistake of overloading or underloading the sprint and mismanagement of sprints can lead to miscalculated timelines
Time frame, scope, quality
The timeframe, scope, complexity and quality are decided by either the project owner or the project manager and sometimes, not all necessary factors are taken into account.
Because of the nature of this strategy, Developers switch between tasks rapidly and without good pacing, burnouts are imminent
Agile is a strategy that can be used in and out of software development, It is speedy and if done right will keep your customers coming back to you. However, you have to ensure that this technique is suited to your team and your project types to ensure optimal performance.