Project Planning and Estimation Difficulties

Hi, guys! While our developers are working on the new version of Riter, we would like to talk a little about project management as a whole and some issues you can face while planning your team work on tasks in particular. We believe that our experience will prove useful and help you to lead your company with Riter in the best way and avoid common mistakes. This time we are going to focus on the problem of choosing instruments and methodologies for your project needs, some existing prejudices about flexible development methodologies and task estimation process.

Choosing tools and methodologies

Now one of the most difficult tasks for developers is planning and estimating of forthcoming work. Many talented and not so people struggled to solve this problem in the way which seemed to be the best for them. Thus, a huge number of conflicting standards and rules are designed to tell IT people how they should live and work. And this number is growing almost every day! You must have heard about these development methodologies, they are often called "Agile", "Kanban", "Scrum" and other smart words. Today each project manager considers it his duty to study and impose the only chosen methodology on his team everywhere in their work.

All of these methodologies do essentially the same, only in slightly different ways - they try to systematize and generalize the rules of work with any problems which can arise during the development process. And the biggest disadvantage of all these standards is that the effective way to do some job is dismissed in favor of unification and universalization of any work methods. It is preferable to act on a well-known and proven, although not the most effective scheme. This position is understandable from the manager's point of view, as it facilitates planning and reduces the risks associated with the use of new, untested methodologies. But a developer, who is placed to such conditions, has to face all its shortcomings.

There is no universal algorithm for work with tasks for all kinds of teams. Any methodology that works excellent for a group of 15 developers will not work at all for a group of 150 people. And at the same time the methodology oriented on teams with thousands of performers is absolutely not suitable for a small outsourcing company with 40 programmers. Development tools and standards should simplify the existing workflow, and not change or complicate it. The methodology should allow to describe your work in the best way, and therefore it is necessary to focus not on what is fashionable, but on specific conditions and goals of the project. So, choose tools for tasks, rather than adjust tasks for the specific tool!

Standards

Flexible methodology principles

Continuing the topic of development methodologies, it's impossible not to raise a question of flexible methodologies and some prejudices against them. While some teams blindly follow fashion trends, another ones are categorically opposed to all of them in general. One of the most serious arguments against flexible methodologies usage is based on the example of building a house. Not fully understanding the principles of Agile, for example, they regard it as a lack of any rules and standards at all. "How are you going to build a house without drawings, a plan and changing the architecture on the fly?" - they ask and in the reinforcement of their words attach the picture with the house, based on different ways of building, which is about to collapse.

We have to disagree with this assessment. A dilapidated unfinished house without documentation is not a flexible methodology, but the absence of any methodology in general. You have to admit, these are completely different things. First of all, a flexible methodology means the release of a certain version of a product, which can already be used, but it still needs further development on users' demand. Additional improvement of the product occurs as necessary, without interfering with the use of the existing functionality. And in this analogy with the building of a house, our flexible methodology is a fully constructed, ready-to-use new building. Thus, it gives an advantage to the result, the needs of your users, but not to changing conditions and development tools.

Methodologies

Getting started with time estimation

Whichever methodology you choose for your project, it will include a stage of tasks estimation. Even if you are an experienced manager or a team lead and the tasks are quite typical, you should understand that you will not be able to foresee everything. Your goal is to minimize the risks of breaking project deadlines. To do this, it is necessary to take into account and constantly monitor many factors, such as the productivity and skills of particular developers, their work load in different projects, the accuracy of task estimation by different team members. To be more precise about some job terms, it may be reasonable to use its evaluation by several possible performers. In case of the timing violation, tasks should be redistributed between developers in another way, some not urgent work may be delayed.

Time-estimation

If the team is small enough, it will help to organize its work in the most effective way. But what if tens or hundreds of people are involved in the project? In this case, it will be quite troublesome to coordinate them manually and notice the threat of the project failure in time. Fortunately, Riter AI was created to solve this problem. It is managed so that everything that can be done automatically does not require users' attention. The collection and systematic analysis of data, evaluation of developers' actions in the system are aimed at increasing the accuracy of tasks estimation, planning and distribution the work among team members and predicting the actual deadlines for projects completion.

We sincerely hope that this article was interesting to you. If you have something to add or just want to express your agreement or disagreement, please, contact us by email. We are incredibly happy to get our readers feedback, to know your opinion on the topic and expectations from future posts. Stay aware of the latest Riter updates and other related information about project management with our blog!

Riter development team