IT Architecture from A to Z: Theoretical basis. First Edition. Vadim Aldzhanov
Чтение книги онлайн.
Читать онлайн книгу IT Architecture from A to Z: Theoretical basis. First Edition - Vadim Aldzhanov страница 17
The weaknesses of the classic project management are the intolerance for change. If your project is not restrained in resources and time, and the project content has been modified, you should better look at other project management systems. Moreover, in real IT projects it is quite difficult to formulate detailed requirements for the final project at the initial stage.
Agile Project Management Methodology
AGILE is a family of processes and methods for developing flexible methods to manage and administer projects. Agile is a set of ideas and principles of how to implement projects. Frameworks, individual flexible methods such as Scrum, Kanban, Crystal, LeSS, SAFe, Nexus and many others have been developed based on these principles and best practices. These methods can be quite different from each other, but they follow the same principles. Flexible methods involve changes in product requirements throughout the project. Such design implies a completely different approach to project management. The methodology was initially developed for projects requiring high flexibility and quick implementation. Flexible project management is a progressive and iterative project methodology. Its main feature is that at the beginning of the project the final product of the project is unknown as well as the project life cycle. The project activity is split into several iterative phases, short cycles called sprints. Each sprint consists of multiple tasks and has its final product and result. The Agile methodology allows project managers to constantly receive feedback and improve the product after each iteration. In accordance with this methodology, responsibility for the result is divided between three positions:
• The product owner defines the project objectives, develops the optimal schedule for the project parameters, adapts the project implementation process to the changed requirements and sets priorities in the product specifications;
• Scrum master sets priorities for task to be executed by the project team and eliminates difficulties that could prevent their execution;
• Team members execute most of the assignments, carry out daily management, create progress reports, and monitor the quality of the product.
Agile Model
AGILE methodology is flexible and enables changing project parameters easily, which is important for service-oriented projects such as software development or graphic design. But this methodology is not suitable for projects with strictly defined parameters and requirements.
Project management requires quick adaptation to changes, tracking recent development trends and ability to benefit from them. The human resource is equally important. Therefore, the ability to create a dynamic project team based on cooperation and flexibility and the possibility of finding a compromise are necessary. Stakeholders are also very important. They monitor and check each stage of the project, while the team members, in turn, promptly correct the project, creating high-quality products or services that meet consumers’ needs and demands.
AGILE design is better applicable for projects that require intensive interaction in real time and are implemented by highly motivated teams that do not need additional control. The AGILE methodology is distinguished by high interactivity and enables quick adaptation to the project. One of its main benefits is possibility to quickly identify controversial issues and make the necessary changes at an early stage of development, without waiting for the verification. AGILE is a design ensuring the use of recurring processes, risk reduction, prompt feedback, quick turnover and reduced complexity.
AGILE’s strengths are its flexibility and adaptability. It can be adjusted to almost any conditions and processes within the organization. That is what ensures its current popularity and the large number of systems in different areas created on its basis. One of the AGILE’s principles is “Reaction to changes is more important than following a plan.” AGILE covers new, innovative open end products. The proportion of uncertainty when developing such projects is high, while the product information is revealed as the project progresses. Such conditions make “waterfall” implementation impossible since there is no planning information. The second strength of the approach is the ability to “make mistakes” and correct them quickly without a significant impact on the status of the project as a whole.
AGILE’s weakness is a necessity to create individual management system by each team, guided by the AGILE principles. This is a complex and long process that will require changes within the entire organization, including procedures and basic values. This is a thorny path and not all organizations can do it. It requires changes in knowledge and perseverance, as well as serious administrative resources and expenses. Besides, there is a floating estimate of deadlines and budgets, uncertainty in the planning of goals and objectives, insufficient documentation and, as a consequence, increasing the likelihood of divergence of tasks and actual implementation, complexity of a project retrospective analysis.
SCRUM project management methods
SCRUM project management is a classical method within AGILE framework describing all planning, control and analysis at all stages. The methodology for implementing AGILE development involves an interactive approach. Scrum sessions (30-day sprints) are used to prioritize tasks. To simplify the job, the project manager’s responsibilities are transferred to the scrum master. Independent solution of specific tasks require small teams. The achieved results are assessed during the meetings with the scram master, followed by the determination of priority for outstanding tasks. The main features of this technique are:
• Meetings and sprint analysis;
• Small team;
• Restriction on certain periods of time (sprint) to run WIPs;
• Work in Process WIPs.
Following Agile principles, Scrum splits a project into parts to be used immediately by the Customer to obtain values, called “W” – product backlog. Then the product owner, i.e. the customer’s representative in the team identifies the priorities of these parts. The most important “pieces” are selected first for sprint performance – this is how 2—4 weeks Scrum iterations are called. At the end of the sprint, the customer is presented with a working product increment – the most important usable “pieces”. It can be a partially functioning site or application. After that, the project team proceeds to the next sprint. The duration of the sprint is fixed, but the team chooses it independently at the beginning of the project, based on the project and its own performance.
To ensure that the project meets the customer’s requirements, which tend to change over time, the incompleted content of the project and amendments are reassessed before each sprint starts. This process involves everyone including the project team, the project team leader (Scrum Master) and the product owner. Everyone is responsible for this process. Scrum Master is supposed to help project participants better understand and accept the values, principles and norms of Scrum practice. He is the leader and intermediary between the outside world and the team. His has to ensure that no one interferes with the team to work independently and comfortably on assignment. The team is responsible for ensuring that all the necessary tasks are done and the deliveries are completed at the end of the sprint. The main structure of Scrum processes