Before you decide on the chosen method of conducting the project, get acquainted with possible alternatives. We divide project methods into:
- Cascade methods (Waterfall) otherwise traditional
- Agile methodologies
- Extreme methods
- Mixed methods.
Cascade methods ( Waterfall) otherwise known as traditional.
The cascade model assumes the division of the task into steps that must be completed to the full extent in a given time. It was described as a rigorous approach to tasks, time and projects in 1970 by Winston W. Royce and concerned IT projects. The project consists of activities and each activity is a cascade (step).
The project runs according to this schedule:
- Determining the requirements or creating a plan.
- Checking implementation possibilities, specification analysis.
- Task design.
- Implementation of the task.
- Tests and verification of correct operation.
- Product implementation and administration.
Each stage is checked and verified. In case of failure, the team goes back and improves the whole stage until ready.
The disadvantage of this methodology is the lack of flexibility and possible increased costs (e.g. working time) by repeating the same activities. The cascade approach blocks the transition to the next stages of the project, which in some tasks can be a factor inhibiting development.
The Waterfall methodology, despite its age and lack of flexibility, has its supporters and is used in e.g. projects where everything is described in detail and each of the cascades can be implemented.
The method works especially well in repetitive projects. The key to the efficient use of this classical method is a detailed plan, divided into stages. Strict adherence to deadlines and costs is particularly good in engineering projects (e.g. during construction), or IT projects. Once these are implemented in a specific company they are transferred to other enterprises while maintaining the implementation stages. Waterfall requires stability in companies where it is used, but as a result of its use we can be sure that there are no deviations from the assumptions, which is the biggest advantage of this method.
Advantages include, among others, certainty of receiving the expected results, constant and defined work rhythm as well as accuracy during work.
The disadvantages include low flexibility, no possibility of introducing modifications during work and correctness tests are carried out at the very end.
Waterfall methodologies used in practice:
- PRINCE2 (Project IN Controlled Environment) methodology – projects in a controlled environment. Prince2 is a product-based project management method known since 1983.
Prince2 processes can be divided into:
- project preparation
- initiating the project
- strategic project management
- stage control
- product management
- final stage management
- closing the project
The strengths of the Prince2 methodology are a clear approach to the project, control over the start of the work, duration and completion of the task. Observing the steps, comparing progress and ensuring that the project has business justification.
- PMBOK Guide (A Guide to the Project Management Body of Knowledge), i.e. a standard for project management based on the project life cycle.
PMBOK defines 49 processes throughout the entire project cycle, which are divided into:
Initialisation (start) processes – processes in the process of defining a new project.
Planning processes – setting the scope, goals and defining tasks.
Implementation processes – implementation of planned works.
Project completion and closing processes.
Agile methodologies, unlike traditional ones, divide the project into sets of smaller tasks that can change depending on the needs. They assume adjustment to the changing situation and provide an appropriate response in order to achieve the best results.
The agile manifesto is a set of rules developed in 2001 that sets the hierarchy of importance for project components:
- People and interactions above processes and tools.
- Working software over extensive documentation.
- Cooperation with the client beyond formal arrangements.
- Responding to change over following the plan.
Agile methodologies are suitable for many projects, although they were initially created for IT projects. The main agile principles are:
- Customer satisfaction through early and continuous software delivery.
- The positive reception of changing needs, even late in software development.
- Working software is provided frequently (usually weekly).
- Close cooperation between stakeholders and developers.
- Projects are created around motivated people who should be trusted.
- Face-to-face communication is the best communication.
- Working software is the basic measure of success.
- Constant development, enabling an even pace.
- Constantly focusing on technical excellence and good design.
- Simplicity is essential – the art of maximizing the amount of work not done.
- The best requirements and projects come from teams that self-organize
- It is necessary to constantly improve efficiency by analyzing the possibilities of improvement and adapting them to the obtained conclusions.
Agile methods focus on the interaction between project participants, flexible adaptation to changes and requirements, and constant cooperation (e.g. with the customer). They provide an empowered team, i.e. a team with decision-making possibilities and properly motivated according to these methodologies, does not need supervision. Techniques for flexible adaptation to changing situations are intended to help with any problems.
The strengths of agile methodologies are speed of operation, no requirement to start the design process anew with introduced changes, independence of individuals and entire teams, and focusing on customer needs, which can result in good relationships.
The disadvantages of the methodology are limited control over the next stages of work, a mistaken assumption of high competence of team members, skipping important elements while focusing on customer requirements.
Stages of work:
- Planning- which means gathering all requirements thoroughly, analyzing and planning the next steps. It requires a thorough discussion of the project implementation and high communication skills.
- Designing is the stage that follows the information gathered in the planning part.
- Programming – work on a project based on a plan.
- Tests – verification, the effect of the work corresponds to the previously planned project.
- Implementation – task implementation after testing,
- Information on effects, i.e. a summary of tests and project implementation.
Each of the stages can be changed and improved at any time depending on the client’s requirements.
Agile methodologies are great for SEO and IT projects where independent teams without a structured hierarchy work on a specific task.
Examples of agile methodologies:
- Scrum – A popular methodology based on agile.
Projects divided into iterations lasting up to a month are called sprints. Each sprint must end with a working version of the product. It is a popular method of working in IT teams because it allows you to solve problems and adapt to the requirements. Scrum uses an iterative approach, i.e. incremental, which aims to maintain control over the problems.
Scrum is based on three pillars:
The pillar of transparency, which assumes that all the most important components of the project must be understood and accurately defined. Everyone has the same assessment of progress and control of progress because of this.
An adaptation pillar so if there are any problems that disturb the process of creating the project, the team will adopt new conditions and introduce variables to the correct operation within the process. The inspection pillar introduces the principle of frequent checks on project work. It is important that checking progress does not disturb the team’s work and does not delay the project.
Operation of Scrum teams.
Teams should be self-sufficient and fully autonomous. The goal of this approach is to allow team members to adapt to changing situations and to act flexibly.
Each team should consist of the project owner, the development team, and the Scrum Master, i.e. the person responsible for controlling the entire process and matching the rules to the Scrum methodologies.
In the Scrum methodology, the operation process is divided into time boxes (Time Boxes):
Sprint planning – defining the product and task register. At this stage, the owner of the project determines the functions of the product to be implemented based on the information collected.
Sprint – carrying out the task according to the established rules. Assumptions cannot be changed during a Sprint. The team works together sharing information and experience. The duration of the sprint cannot exceed 30 days.
Daily Scrum – a short meeting every day when Sprint is carried out during which the Scrum Master verifies and updates the status of work by asking each participant:
-What they have done so far, what they will do in the near future, and what problems they encountered.
The meeting is short and is always conducted on the same principles to introduce a daily routine.
- Extreme programming (XP)
- Lean Software Development
- Agile modeling
- Agile unified process (AUP)
- Disciplined agile delivery
Sprint Review – This happens after each meeting to discuss the work which has been completed.
Sprint Retrospective – Team members meet and discuss organizational issues related to the work. The goal is to improve existing working methods.