8 life-saving design principles

    Let's face it, it’s hard for a Russian person to plan. People in Russia are strong in improvisation and the ability to gather at a critical moment, giving amazing results. But life shows that a team of programmers on a similar ideology will not go far. Heroic efforts at one time cannot compensate for the indifference to another.


    What do zombie apocalypse and software development have in common? Simple rules help to survive both of these.

    The planning stage involves a conscious and focused team activity on the way to achieving the result. Defining tasks, breaking down into milestones, and anticipating deadlines is a necessary step on the road to implementing what was conceived. Especially when it comes to Agile’s agile methodology, which we consider the best.

    Development teams make such mistakes when planning software development.

    1. Planning deadlines should be programmers, not managers


    A common mistake is when the project manager, who does not properly understand the scope and specifics of the tasks, sets the project dates not in accordance with the experience, capabilities and competencies of the team, but based on the client’s own ideas, desires or requests. Programmers in such groups cannot be envied. The discrepancy between the planned and real terms is 40-80%. The atmosphere in the team is creating an oppressive and discouraging desire to work. Problems follow one after another, and the direct developers are blamed.

    2. It is necessary to determine in advance the approximate deadlines for the completion of the entire project and the real time of solving the problem


    In no case should you let go of the processes by gravity. Ignoring the planning procedure leads to slackness, low motivation of developers in the periods preceding the deadline, to a team not understanding what to do, where to move and what to get in the end. In associations where the approximate deadlines for the completion of the project are not determined, it is advisable to think that such chaos will not bring to good.

    3. Break the project into small stages with clear goals and a compulsory discussion of the results


    Application of the principle is necessary to counter Parkinson’s law, which determines that the total amount of work will always increase in order to fill all the time allocated to work. Following the advice, you can avoid the desire to work hard only shortly before the deadline for the project. The breakdown of the process of achieving a global goal into control periods with the need to complete specific tasks within a week or two will allow to use the team’s working potential to the maximum. With this approach, a high level of motivation and performance of developers is maintained throughout the entire period of software creation and the likelihood of achieving the desired goals increases.

    4. Team members should interact with each other as tightly as possible.


    First of all, the cohesion of the team increases and mutual assistance is stimulated. If there is insufficient communication between the members of the association, there is no “team spirit” that ensures coordinated work. Joint productive activities satisfy the social needs of a person in the sense of the significance of the work performed. Compliance with the principle allows you to painlessly replace any member of the team, because the participants are aware of who, what and how to do.

    5. Include a reserve of time to cover force majeure, new customer requirements, holidays and holidays, integration and testing


    At the initial planning stage, all situations cannot be foreseen. Therefore, you need to reserve time in reserve so that the team does not have to rush and, as a result, make mistakes. Do not ignore the need to debug and bring the software to the level of stable operation and an acceptable amount of bugs. The release of a crude product due to austerity of time is not reasonable. The Agile methodology assumes the variability of external conditions and the need for quick and painless adaptation to them.

    6. Do not rush, disrupt the plan and reduce software development time


    A common mistake of managers who think that programmers will be able to pull any time frame. Firstly, the team is demotivated, sabotages the labor process or writes statements of their own free will. Secondly, a sharp acceleration of work operations depletes the resources of the human body and psyche, leading to professional burnout. Thirdly, an overestimated pace leads to an increase in the number of errors in the code. Debugging and fixing in the future will require much more time than you can save in this way.

    7. Document planning with the appropriate task manager.


    Choosing a specific program is a matter of taste. Plans should be fixed. It requires visibility for both developers and customers, while maintaining the ability to make changes. This allows you to improve mutual understanding of the development team, management and client. The number of disputes regarding the interpretation of work actions is reduced. The clarity of the wording of the plan will help to avoid a double interpretation.

    8. Set priorities and focus on what matters.


    First of all, try to implement the most important functionality. Keep in mind that some features in the development process will have to be sacrificed, as well as the implementation of some ideas. And prioritization is possible only through communication and exchange of views.

    What do you think about planning in software development? Leave your comments on the article. We will be glad to hear your opinion. About development technologies: Once again about seven basic development methodologies . Top 10 mistakes scaling systems . 8 principles of development planning, simplifying life . 5 main risks in custom software development .








    Also popular now: