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

Text
0
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

PROJECT MANAGEMENT

General provisions

Project management is considered as a method and a set of procedures based on adopted management principles used to plan, evaluate, and control work assignments in order to duly achieve the desired result, within the budget and in accordance with project requirements. This chapter contains the basic principles of project management, which should be taken into account when building an IT Enterprise Architecture. Any projects involving, affecting or depending on IT are IT projects. The “project” approach should be a guidance when planning, developing and implementing various IT architecture services.

Project management is a very broad topic, affecting and interwoven with various directions of activity, such as quality management, risk management, finance management, and so on. This chapter briefly describes the main aspects, methods and techniques of project management.

A project is a one-time, non-recurring activity or set of actions to be taken within specific term, and aimed at creating unique products, services, results or clearly defined goals. The signs of the project are:

•There is an exact start date. The key feature of the project is the “time component”, i.e. there is the beginning and end of the project.

•There is an exact finish date. Date of the estimated deadline for the project is to be set, but the finish date is fixed upon obtaining the final result or achieving the objectives of the project.

•The project result is unique. This is the second distinction between a project and a process or regular activity. “Unique” does not mean absolutely new for everyone, it can be unique for an organizer or team.

•The resources and budget are limited.

• The specific order of the assignments. It may imply temporary changes in the managerial breakdown and make it different from the one established in the organization.

Program differs from the project by a larger scale and possibility to consist of many projects. For example, an organization has a transition program to a centralized IT management system, which may include several separate projects.

An assignment or a set of assignments is a set of actions to be performed by one or several persons using a simple list defining a sequence of actions.

Key Aspects of Project Management

Triple Constraint or Project Triangle describes the balance between the scope, cost and schedule of the project, which affects the final result, i.e. quality. Quality is the fourth element of the Project Triangle, located in the center, and any change in the sides affects it.

“Triple Constraint or Project Management Triangle”


There is a huge difference between doing something well, fast or cheap. It is impossible to change one of the factors (funds, list of jobs, time or quality) without affecting at least one of the them. As an example:

• In order to approximate the finish date (time) of a project, one can spend more resources (funds) or remove some assignments (scope) from the project.

• In order to terminate a project within a budget (funds), one can either reduce some assignments (scope), which will affect the product’s capabilities (quality).

• In order to add new features (quality) to the product, one can extend the project’s timeline to allocate time for new assignments (time), thereby adding new tasks (scope) and involve new people to work faster (costs).

The idea of all methods and approaches is to focus attention on one or several factors controlling the effects on the rest.

Criteria for a project success are defined by the actual indicators to coincide with planned ones in terms of duly project termination, within the estimated budget and in accordance with the requirements for the final result. These requirements can and should be formulated and include measurable criteria, i.e. indicators of project success.

The goal of the project manager is to achieve the criteria for project success.

The main task of the project manager is to maintain the balance of the project triangle.

According to practice, only a quarter of all projects reach the criteria for success. That is why planning a project one should indicate the main success factors of the project (for example, the project budget and the continuity of the result), as well as possible tolerances – the allowed deviations of related factors (for example, the project implementation timeframe, but not more than ten percent, etc.).

To make project management more convenient, an organization can implement a classification of projects by different categories. Each organization defines the categories and characteristics of the project independently. Below is a general classification of a project by complexity:

• Simple project aims to generate new or improve existing business processes, information systems, software, documents, services, machines, and equipment. Only one business process will be changed or created in a company’s single division. Simple project usually has a low cost, a small scope of work, and a short time frame and involves a small number of employees.

• Complex project aims to generate new or improve existing business processes, information systems, software, documents, services, machines, and equipment. Several business processes will be changed or created. Complex project involves several company divisions and usually a high cost, a large list of assignments, a long time frame and a large number of employees.

Classification by priority allows defining the project implementation sequence: Low, Middle or High. The projects can be classified by purpose in regards of interaction with IT:

• Administrative projects deal with organizational changes, which usually do not affect the IT infrastructure, or involve IT resources.

• Internal projects are usually implemented within one department and make insignificant changes in IT infrastructure and do not involve many IT resources.

• IT projects are carried out within the organization and have a significant impact to IT infrastructure. They aim to replace the organization’s current IT infrastructure and involves significant IT resources.

The very first phase (stage) of the project, regardless of the project management method chosen, is the initial stage or project initialization. At this stage, the decision is made to start the project. This book suggests that the project initiators can be:

• Business units, or

• IT department.

An introductory information at this stage can be an organization strategy or a business plan.

A business plan is a document providing a detailed justification of the project and the ability to comprehensively assess the effectiveness of decisions made, planned activities, and answer the question whether the project is worth investing.

Defining project objectives is one of the most important aspects of the project management process. Each project should have at least one main objective and possibly several private, subsidiary goals. The objectives are:

• Sets the direction of the project implementation.

• Defines results in terms of end products or services.

• Serve as a source of information to resolve the project’s controversial issues.

The statement of the main objective should be action-oriented, short and simple, and as clear as possible. It is important to remember that the objective should be formulated using the terms not to confuse project participants, decisions makers or those who read project documents. At the initial stage, the formulation of objectives can be murky and express a general direction.

Determination of stakeholders allows identifying the direct customer, final decision makers, as well as general issues related to the project arrangement, such as organization, project team by areas (the managerial level), interaction procedure, decision-making, communication mechanisms, and so on.

The output of this phase is to identify stakeholders, set project objectives and general issues of the organization. Depending on the project management methodology, additional conclusions and results may be formed. A business plan, a project charter or the meeting minutes can be considered as the primary documents of the initial stage.

The next stage of project management can be planning. Planning is the most important and difficult stage of project management. This stage deals with detailed project development and answers to the main question: whether the organization is ready for the project and if the project will be successful. The level of complexity depends on the methodology and the complexity of the project. At this stage, one collects business requirements, specifies objectives, determines success criteria, details tasks, plans resources, time, and so on. Key documents at the output of the planning stage can be a project plan, terms of reference etc.

Coordination and approval of the project is a stage, or better to say, determination of the “milestone” or reference point of the project that answers to the main question: whether we start the project, or not? Once the leadership has approved the project, the stage of execution commences. This stage can be different for different project management methodologies.

Project implementation begins once the project is approved. Planning stages are completed and the project is being carried out. Implementation starts with making a project team, followed by the detailed development and distribution of assignments and estimate. The project is considered as implemented if the final product of the project meets the project requirements. Regardless the methodology implementation consists of the monitoring phase and project status control that are performed at the same time. Another important process is Management of Change. The main documents at this stage are project status reports, performance reports, and resource utilization report.

 

Once the project is implemented, the final stage of termination commences. The project is complete in terms of achieving the project objectives and obtaining the expected outcomes. In addition, the project owners or the leadership may decide to terminate the project ahead of schedule, or to change the project objectives leading to its termination.

Project Management Approaches and Techniques

Choosing the right Project Management Methodologies (PMM) is the first step for your team to succeed. Project management helps improve the implementation process in terms of efficiency and cost, while reducing risks. However, declaring priorities is not enough. One should have good understanding of the positive impact of each project management methodology and the way it can interfere with the successful implementation of the project.

This chapter will briefly review the most popular project management methodologies and consider those I find the most interesting ones in more details.


Process-Based Project Management (PBPM)

PBPM is the main today’s approach to the project management, based on the process approach. This approach is a guarantee that each project will be directed to the continuation of the company’s mission. Before the project starts (initiation), the project plan is analyzed to determine its compliance with the approved or established mission. If the result of the analysis is negative, then all strategies and objectives are adjusted. Each action adds value to the organization’s strategic vision. These project management methods are also suitable for administrative projects in companies.

WATERFALL Project Management 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 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 is based on 5 main meetings:

 

• Backlog;

• Sprint planning,

• Daily meetings;

• Sprint review;

• Sprint retrospectives.

Backlog Refinement Meeting (“Backlog Grooming”) is a meeting similar to the planning phase in classic project management, and held on the first day of each Sprint. It reviews what has been done within the whole project, what remains to be done and what decision is made to do next. The product owner determines which tasks are of the highest priority at this stage. This process determines the Sprint effectiveness, because this is what the value the customer will receive at the end of the sprint depends on.

Sprint planning: Once the priorities have been determined by the product owner, the team jointly decides what exactly they will do during the upcoming iteration, how to achieve the goal set at the previous meeting. At this stage, teams may apply different planning and evaluation tools, as long as they do not contradict Scrum principles and logic. Sprint planning is carried out at the very beginning of the iteration, after the Product Ordering Meeting.

In a perfect world, Daily meetings are held every sprint day, at the same time. Team members spend 15 minutes to share information about the status of the tasks and the entire project. These meetings are not intended for discussing problems or decision-making. If some questions arise or conflicts occur after the briefing, the Scrum Master and the participants involved discuss them separately. The meetings are needed to share information and keep all team members up to date with the state of the project.

Sprint review is a stage to examine and adapt the product being created. The team presents the results of the activity to all interested parties. Its main task is to ensure that the product of the stage meets the participants’ expectations and is consistent with the project objectives.

Sprint Retrospective is carried out upon the sprint review and before planning the next sprint. The team finds out how clearly and smoothly the stage was implemented. The challenges occurring in operations, methodology and interaction are studied. This stage allows the team to conduct a reflection and to implement the next Sprint more effectively.

SCRUM strength is that it was developed for projects in which “quick wins” are combined with tolerance to changes. This framework is suitable for situations when not all team members have sufficient experience in the field in which the project is being implemented – constant communication between team members compensates the lack of experience or qualifications of some employees due to information and colleagues’ assistance. In my opinion, the main Scrum’s benefit is that one is allowed to “make quick mistakes.” Instead of preparing an expensive and long release, Scrum deliveries every two weeks are quite small. But they are easy to track and, if something goes wrong, fix it quickly.

SCRUM weakness is that it is very demanding for the project team. It should be small (5—9 people) and cross functional, which means that team members should have more than one competency required for the project implementation. For example, a software developer must be a tester and business analyst at the same time. This is done to keep all the team “busy” at different stages of the project, and so employees would help and replace each other. In addition, team members must be “team players”, be able to take responsibility and self-organize.

To hire such a mature team is very difficult! Scrum is not suitable for all teams and organizations because the process proposed may not be suitable for the development of a specific product – for example, an industrial machine or a building.