What are Agile users silent about, and whether Agile can ensure the planning and completion of tasks on time?

The Principles of Agile

As we have already mentioned above, the Agile implies:

  • Readiness for permanent changes, which should be more important than following the genuine plan
  • The admissibility of the changes in the requirements even in the later project development stages!
  • A continuous delivery of working product.

These are really cool principles. They allow to react flexibly to the current situation, current trends and the real needs of the clients. Permanent releases allow you to check and adjust fresh ideas instantly. Focus on the most important features allows you to dispose efficiently the available resources and to provide the most up-to-date service and the most demanded functionality.

This approach is exceedingly successful and effective almost in all industries and especially in IT!

The Typical Management Issues

This all sounds great, but let us take a look at this process from the point of view of the budgets and deadlines. After all, managers and business owners should understand by whom, when and for how long this or that functionality will be realized. It is necessary to set priorities properly. It is necessary for the releases planning. It is necessary for making strategic decisions on business development and resource management.

For example, here are frequently asked questions, the answers to which are extremely important when making managerial decisions:

  • We want to add several important features to the product. How quickly will we be able to do it?
  • We need to launch the first version of the new product, how much time will it require and how much will it cost?
  • We have a fixed budget. What functionality will we be able to implement within its scope?
  • We have a release date. What will we manage to do to this date for sure? To what extent will the projected scope change if we add 10 more team members?
  • And so on...

Planning Process in Agile

However, Agile starts facing problems with the answers to these questions... Because it is very difficult to provide projections or assessment of the upcoming work in the world of flexible development: Agile doesn't imply building of so detailed and clear plans, specifications and deadlines. Moreover, even if the approximate assessment will be given, it is very difficult to ensure its feasibility within the development cycle: our originally scheduled scope will always vary and be adjusted after each iteration. There will be cool and fresh ideas, various corrections, the recommendations that should be released primarily. Yes-yes, it is how Agile works.

Agile adherents may object to this point: why do we need deadlines and budgets? After all, Agile assumes continuous delivery of high priority features! After each iteration we will release new functionality, which will immediately start to work, produce a profit and give the opportunity to gather feedback from real use!

The Importance of Project Management

However, we dare not agree with this opinion.

It is not always correct approach to release continuously new developments on the live environment after each iteration! Very often, feature or product is not attractive to the client, not yet a minimum set of functionality has been implemented. Will you use the product which has only a "welcome" page and log-in details? Will you visit the online store, which does not give the opportunity to order a purchase after you have spent time on review and selection of the goods, again?

And how to act without features delivery scheduling? As a rule, before the product or any new functionality launch, different media and marketing activities are applied; and they need to be pre-planned and organized. Or the new functionality requires adjustments in different areas of your application, which will be performed by other departments or teams, and this activity should be synchronized.

The absence of coherent budget is a very dangerous approach in the implementation of projects in general. Because all the participants, anyway, have certain budget size expectations. In this case, the real budget and expected one would have difference and cause many problems: distrust and tension will grow between the participants of the project, extra processes control, which is not especially necessary, will be introduced. In some cases, the budget exceed can lead to the product development collapse or the dismissal of part of the team, which is certainly very sad.

Is Agile Good Only in Ideal Projects?

All of these looks and sounds so, that Agile is good only in the "ideal" projects: when we already have successfully working product, bottomless budgets, completely loyal customers and the lack of complicated management situations.

In the same real projects: when our budgets and resources have a reasonable limitation, the exact terms of the implementation of the new functionality must be identified and followed with the minimum error, when our product has not become the leader in its segment yet and the consequence from the introduction of unsuccessful or incomplete features can be very painful, more conservative methodologies which give more predictability and control should be used.

Hybrid Approaches

But actually this is not the case! Agile is perfect for any companies, teams and projects! However, if the issues of planning play an important role in your project or company, you should use the so-called hybrid approach: Agile which includes a number of best practices of the project management. At the moment, the hybrid approach is the best choice for organizations which are just beginning to implement the Agile!

The Elements of Project Management that are Worth Adding to Agile

Let us then consider what elements of project management should be included in the pure Agile to make it absolutely appropriate to any company, to minimize the risk of potential problems and to increase the probability of successful completion of any project

  • The project should be estimated!

    There is no necessity to evaluate the project as precisely as possible, only high-level, approximate evaluation is enough. Also, if the project is expected to be long-termed, it is not necessary to assess the entire project, it is enough to evaluate the scope of one or few phases.

    Such an assessment is very important, because:

    • It will allow the stakeholders form and formulate their expectations from the project.
    • It will form a high-level scope and foreground the estimated project budget.
    • In the process of evaluation, a team will analyze the global scope of the coming works that will positively affect the quality and speed of realization of the project.
  • The project must have a valid road map
    A high-level road map should be established on the basis of the evaluation, available resources and the expectations of the stakeholders
    • It will assess the approximate duration of the project and create realistic expectations in terms!
    • This will allow to check “the health” of the project and see how successfully it moves along the reference points.
    • This will give a clear vision when the functionality will be ready to be demonstrated.
  • Manage flexibly the size of iterations

    • In the beginning of the project or phase the iterations are desirable to be made large to enable the team to accelerate. At this stage short iterations are not needed, but rather even more harmful, as the team will focus on the fundamental and architecture activities.
    • Iterations are worth doing as short as possible, when closer to the grand release, to have the opportunity to react and adjust the final product.

  • Be ready for constant changes and corrections in the original plan.

    In this regard, we must either maintain the existing road map without changes or restructure it neatly in accordance with the new global purposes! Alongside with that, the rebuild and the consequence of these changes must be absolutely transparent and comprehensible to all the participants

    This is, perhaps, the most important point! As we have already repeated many times, priorities and scope changing is expected and welcomed in flexible development methodologies, and as a rule, when we talk about scope changing, we imply its expansion. In this case, the main objective of the project team is to reconstruct correctly the so-called project triangle which consists of scope, terms and resources. The scope increase can be corrected by means of adding resources or changing the date of the final release, but the most common adjustment occurs by means of scope revise: after each priorities change or adding new functionality the project team should analyze all the tasks planned for the nearest grand release and form a new scope and road map. The success of the project practically fully depends on how correctly and transparently these corrections will occur!

  • Use the modern tools for the project management.

    As the priority and scope corrections will occur often enough, the permanent scope revise will become time-consuming and problematic process for the project team and the stakeholders. It will have to be taken into account the dependencies between tasks, their importance, complexity and decided what and how can be shifted. Also let us not forget about the fact that the size of the team can be changed: the team can be increased or decreased, people will take compensatory leaves, sick leaves and maternity leaves... And all of these changes must be also taken into account in the updated road map.

    Therefore, it is extremely important to use modern tools for project management (such as the TBB, Jira, Azure DevOps or other). This will save a lot of time while changes processing that will make the process of scope revise transparent and clear for all the participants, it will allow not to forget and never miss an important nuance or task.

  • Adapt and apply flexible approaches alongside with described above recommendations

    And you will be pleasantly surprised at how powerful, flexible and fast Agile is!

Summary

  • Budget, deadlines and resources management is important for any project regardless of the methodology used.
  • The pure Agile has certain problems with the high-level assessments and terms compliance.
  • The non-stop delivery of working functionality and constant priority changing are rather problematic approaches in terms of project management.
  • Hybrid approaches is the best choice for the companies which just start implementing Agile or for those which consider strategic planning very much.
  • Assessment, road map, a willingness to the controlled changes are key factors of the successful implementation of any project.
  • The use of modern project management tools (such as the TBB, Jira, Azure DevOps or other) is extremely important and useful in cases of work with all types of project and methodologies .

You can get acquainted with one of the highlighted project management tools and our other articles in more details here.

In the next article we are planning to consider the use of Agile in distributed teams which are in different geographic locations, and best practices for self-motivating team creation.

To be continued...