IT Architecture from A to Z: Theoretical basis. First Edition. Vadim Aldzhanov

Читать онлайн книгу.

IT Architecture from A to Z: Theoretical basis. First Edition - Vadim Aldzhanov


Скачать книгу
Methodology

      WATERFALL is a traditional project management methodology. It is also called the “cascade” or “flow” model, due to the fact that its proposed sequence of phases resembles a waterfall. The most obvious way to make your project more manageable is to break down its implementation processes into consecutive stages. Such linear structure is a foundation of traditional project management. This approach does not imply a return to the previous stages upon their termination and adoption, or making changes to the project requirements. This project management methodology involves splitting a project into a series of sequential assignments, with a clear estimated objectives and deadlines. Project members perform tasks in due course, completing each assignment before proceeding to the next one. The stages in the “waterfall” model as applied to IT software development projects, are the following:

      • Requirement analysis

      • Design

      • Implementation

      • Integration

      • Verification

      • Installation

      • Maintenance

      Stages of Waterfall model

      In this case, the developer cannot proceed to the next stage without completing the previous one. First, the requirements are completely defined, resulting in a list of software requirements. The next stage is design aimed to create the documents with detailed description of the method and plan for implementing these requirements for programmers. After the design is completed, the programmers carry out the project. The next stage deals with the integration of individual components developed by various programming teams. After the implementation and integration are completed, the product is tested and debugged. At this stage, all shortcomings that occurred during the previous development stages are eliminated. After that, the software product is implemented and maintained – introducing new functionality and eliminating errors.

      The strengths of the classic project management are the requirement for the customer or company leadership to determine what they want to get at the first stage of the project. Early inclusion brings some stability to the project, while planning streamlines the implementation of the project. Besides, this approach involves monitoring indicators and testing, which is absolutely necessary for real projects. Potentially, the classical approach allows avoiding stress since there is spare time at each stage, reserved for any complications and risks occurring. Moreover, correct planning stage allows the project manager to know what resources are available, even if this assessment is not always accurate. The main benefit is an ability to estimate the implementing cost of the solution in advance and monitor the state at all stages of the project management life cycle.

      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


Скачать книгу