Hey, hey... Programmer, this is another article for you! The second part of the article on design patterns. Get to know Adapter and Memento.
“If one does not know to which port one is sailing, no wind is favourable.” — Seneca
All IT projects that we carry out naturally have a specific goal. One can assume that the goal is “a dream with a date of implementation” … and remain at this level of detail. For the purposes of effective implementation of IT projects, however, it is worth considering the problem of goals in more detail.
In the Project Management Body of Knowledge (PMBoK) methodology, which is the standard Project Management Institute approach, the project goal is defined as: targeted result of activities, strategic position to be achieved, effect or result, product produced or also realized service. You can see here a great convergence of the goal with the very assumptions of the project.
Each project has a general goal and a number of specific goals. Their proper definition and, what is very important, establishing the proper connections between them, is one of the most important tasks facing the person undertaking the project implementation.
In order to determine whether the objectives have been achieved, they should be written out in a way that can be analyzed. It is important to know that in order to formulate goals well, it is necessary to know the needs as well as the wishes and value systems of the people who are to benefit from the project results. One of the ways to properly define the goals is included in the so-called the S-M-A-R-T concept.
The goal of an IT project should be smart (after Doran G. T.), that is:
- Specific
- Measurable
- Approved / Accepted
- Real / Realistic
- Timely
Specific goal means that it must be precise, and therefore unambiguous, and understanding it should not be a problem for anyone. Fuzzy, “vague” goals are not a good basis for effective operation and, more importantly, it is difficult to make important decisions during the project implementation on their basis. Of course, a specific goal is easier to achieve than an unclear, imprecise goal.
Target measurability is very important. Quantification is a natural proposition here. 40 servers, 50.000 Euro, 26 switches, 3.000 lines of code … We know exactly what the threshold is. Unfortunately, sometimes determining the goal is not so simple. It is then necessary to define the quality requirements as precisely as possible. It is important to choose appropriate measures / indicators for this. They must correspond to the nature of the project, be easily accessible and understandable for recipients, reliable in a given implementation, and result directly from the measurability of the desired results. The measurability of goals in each project can be achieved in other ways and depends on the specificity of the enterprise and the nature of the planned project.
If the goal of the project is not approved in the company, especially by its management, the chances of its implementation are significantly reduced. Developing a joint action strategy and identifying the project group with the project’s goals are key factors in which success depends. It is worth considering here the activities of the so-called “project branding”, i.e. the appropriate attitude of the company’s employees and the environment to the activities covered by the project. I will describe it in more detail in a separate article.
A realistic goal is one that is achievable. An overly ambitious goal may seem impossible to achieve, as a consequence, leading, inter alia, to a decrease in the motivation of the project team. On the other hand, a goal not treated as a challenge does not encourage action, often demobilizing the team of implementers.
Timelines, specific deadlines and implementation dates (Timeliness) are the essence of a well-chosen goal. Because, for example, the goal saying: “reduce the costs of the company’s operation by 7%” is concrete, measurable, it is probably met with enthusiasm and approval of the management board and it seems possible to achieve, but still … it is neither concrete, nor can it be determined whether it is real. Specifying a too-long-deadline can lead to the impression that the goal is too vague or not ambitious enough. Therefore, the correct definition of the deadline and its alignment with the other assumptions of the project goal is extremely important.
A well-defined SMART goal significantly increases the chance of an effective implementation of an IT project. It provides a broad understanding not only for the management, the team implementing the project, but also employees and associates who will be directly affected by the effect of its implementation.