Project
execution currently faces increasingly demanding requirements from customers in
relation to their expectations of required high quality end products, with less
lead time and costs. In addition, depending on the type of project, customer
expectations in terms of time and costs can show strong variations between one
project and another. Therefore, it is recommended that multi-project
organizations approach different types of projects in the most appropriate way
to meet customer expectations. Consequently, it would be necessary to know and differentiate the most commonly used project execution models and how the project life cycle phases interact with each other.
Depending
on how progress the different phases of a project life cycle (from initiation
to closure) and how they interact with each other, at least four main execution
models could be identified:
1.
Sequential Execution (predictive) : Single-step
waterfall or traditional model.
2. Concurrent
Engineering (predictive, foreseeable and overlapped).
3. Lean
Development (predictive, adding value).
4.
Agile Development (iterative, incremental, adaptive): Scrum, XP, DSDM, other.
In addition, the current trend with hybrid models is gaining acceptance as they are based on combinations of the main models, taking the better of each one and discarding their shortcomings. Namely:
Most common hybrid models:
1. Sequential + Concurrent (sequential with enhanced overlapping).
2. Lean + Agile.
3. Sequential + Agile.
Hence, it would be advisable for multi-project organizations to approach each type of project with the most appropriate execution model (sequential, concurrent, lean or agile). This suggests that organizations coexist structurally with different execution schemes. Therefore, it would be necessary to identify which model best applies to a specific project and client and also to know the fundamentals of each model, its strengths and weaknesses.
As a reference and initial support to select the most suitable execution model for a given project, each of these execution models is briefly described below, with its advantages and disadvantages, in addition three comparative tables of them are shown.
Most common hybrid models:
1. Sequential + Concurrent (sequential with enhanced overlapping).
2. Lean + Agile.
3. Sequential + Agile.
Hence, it would be advisable for multi-project organizations to approach each type of project with the most appropriate execution model (sequential, concurrent, lean or agile). This suggests that organizations coexist structurally with different execution schemes. Therefore, it would be necessary to identify which model best applies to a specific project and client and also to know the fundamentals of each model, its strengths and weaknesses.
As a reference and initial support to select the most suitable execution model for a given project, each of these execution models is briefly described below, with its advantages and disadvantages, in addition three comparative tables of them are shown.
1.
Sequential
Execution (waterfall or traditional model)
Sequential Execution model (waterfall development or traditional execution) is a non-iterative design process in which progress is flowing steadily downwards (like a waterfall) through the project life cycle (conception, initiation, analysis, design, construction, testing, production / implementation and maintenance), sequencing the tasks lead to a final deliverable and the work is done in that order. One task must be completed before the next one begins, in a connected sequence of items that add up to the overall deliverable. The phases do not overlap, they are processed and completed one at a time.
Sequential Execution model (waterfall development or traditional execution) is a non-iterative design process in which progress is flowing steadily downwards (like a waterfall) through the project life cycle (conception, initiation, analysis, design, construction, testing, production / implementation and maintenance), sequencing the tasks lead to a final deliverable and the work is done in that order. One task must be completed before the next one begins, in a connected sequence of items that add up to the overall deliverable. The phases do not overlap, they are processed and completed one at a time.
Advantages:
- The model is simple and easy to use.
- Every step is preplanned and laid out in the proper sequence.
- It is an ideal method for projects that result in physical objects (buildings, computers).
- Project plans can be easily replicated for future use.
- As the methodology is quite rigid, it is easy to manage it because every phase consists of a review process and specific deliverables.
- Waterfall development methodologies are good for small projects that contain clear requirements.
- Relying on the method Waterfall, your customers know what to expect. They will get an idea of the cost, size, and timeline for their projects.
- If a company has employee turnover, the strong documentation allows for a minimal project impact.
Disadvantages:
- While this may be the simplest method to implement initially, any changes in customers’ needs or priorities will disrupt the sequence of tasks, making it very difficult to manage.
- Designers often are not able to foresee problems that will arise out of the implementation of their designs.
- Real projects rarely follow the sequential flow and iterations in this model are handled indirectly. These changes can cause confusion as the project proceeds.
- It is often difficult to get customer requirements explicitly. Thus specifications cannot be freezed.
- Changes to requirements cannot be easily incorporated and there are often laborious change control procedures to go through when this happens.
- Even a small change in any previous stage can cause big problem for subsequent phases as all phases are dependent on each-other.
- Re-work in a phase can be a costly affair.
Concurrent
Engineering approach comes mainly from the aerospace industry and its basic
premise revolves around two concepts. The first is the idea that all elements
of project life cycle should be taken into careful consideration in the early
design phases, together with early contact with suppliers. That is, handling in
advance at early project stages the downstream concerns. The second concept is
that the preceding design activities should all be occurring at the same time,
i.e., concurrently. The idea is that the concurrent nature of these processes
significantly increases productivity and product quality.
Biren
Prasad in his remarkable work “Concurrent Engineering Fundamentals, Volume I:
Integrated Product and Process Organization” described, among others, the following fundamental principles of
concurrent engineering:
1.
Early Problem Discovery
2. Early
Decision Making
3. Work
Structuring
4. Teamwork
Affinity
5. Knowledge
Leveraging
6.
Common Understanding
Advantages:
- Faster product development.
- Maximize product quality, by spending more time and money initially in the design cycle and ensuring that the concept selection is optimized.
- Increased productivity.
- Collaborative decision making.
- Teamwork, human Resources are working together for a common product.
- Information Sharing.
- Reduces Costs (Long Term).
- Reduces Development Time.
- Reduces Design Rework.
Disadvantages:
- Large Upfront Investment.
- The decision of beginning subsequent components without the required information is completed introduces potential risks of project changes and rework.
- Poor planning and lack of prudence can drive to poor decisions based on wrong assumptions, all of which can have negative impacts in project execution leading to rework and delays, and ultimately to increased costs.
- Dependency on efficient communication. Poor communication more likely to lead to disaster.
Lean
Development approach comes from Japanese automotive industry and essentially
it is focus on making what adds value from the customer's perspective reducing
the waste. That is, the continual process to increase the amount of valid
engineering data produced per time and money invested.
Lean
execution is based on:
- Focus on the end purpose.
- Determine the workflow.
- Eliminate waste.
- Test the project.
- Empower the team.
Lean
Principles:
1.
Identify Value.
2. Map
the Value Stream.
3. Create
Flow.
4. Establish
Pull.
5. Seek
Perfection.
Advantages:
- Increases organization productivity and efficiency.
- Avoids wasted motion.
- Increases safety.
- Eliminates unnecessary production.
- Reduced engineering leas time.
- Offer improvements at an inexpensive cost.
- The introduction of lean design principles in the design phase can be complicated and long.
- Diagnosing and identifying the level of waste in the process and the causes usually take extensive periods of time and effort.
Agile
approach comes from software development environment and it promotes an
incremental delivery model rejecting any predictability and long-term planning
instead.
For Agile
project management, the customer value is a number-one priority and so the
entire iterative process is organized and managed around it. This approach requires
that a small, highly-collaborative team is involved in the product development
life-cycle and they collaborate on product changes, improvements and additional
features during short sessions. “Change” is considered the driving force
of team collaboration and so it should be embedded into the Agile process in order to let the team explore
improvement opportunities and work on tailoring the product to its business
purpose.
Agile
means:
1. Individuals and interactions instead of
processes and tools.
2.
Working
software instead of comprehensive documentation.
3.
Customer
collaboration instead of contract negotiation.
4.
Responding
to change instead of following a plan.
Advantages:
- Higher customer satisfaction.
- There is closer collaboration between developers and the business.
- Changes to requirements can be incorporated at any point of the process, even late in development. It gives the opportunity for continuous improvement for live systems.
- Increased productivity.
- Reduced risk.
- Customer feedback loop.
- Visibility & accountability.
- Increased quality.
Disadvantages:
- Can be very demanding on the user’s time.
- Harder for new starters to Integrate in the Team.
- Costs can Increase as test are required all the time instead of at the End.
- Agile can be Intense for the Team.
- This method is especially bad in case of not good enough client feedback.
- Agile methodologies are often more difficult to understand than linear, sequential ones, at least initially.
- Because of the emphasis on working software there can be a perception that documentation can sometimes be neglected. The focus should be on appropriate documentation to the audience that needs it but, if not implemented well, this isn’t always the case.
- When implemented badly Agile can introduce extra inefficiencies in large organizations or can be working against long standing organizational processes.
- Active user involvement and close collaboration are required throughout the development cycle.
- All the team should work in the same location.
- Flexibility Can Lead to Bad Behaviors.
- Lack of Predictability.
- Scope creep risk.
Comparative tables:
Table 1. Execution models versus some key project constraints
Key
Project Constraints
|
Sequential
|
Concurrent
|
Lean
|
Agile
|
Deadline
Compliance (schedule)
|
Medium
|
High
|
High-Medium
|
Low
|
Budget
compliance
|
Medium
|
High-Medium
|
High
|
Low
|
Quality
compliance
|
Good
|
Excellent
|
Good
|
Excellent
|
Scope
compliance
|
Excellent
|
Goodt
|
Good
|
Good, but there
is scope creep risk
|
Required
team experience (resources)
|
Low
|
High
|
Low-Medium
|
High
|
Customer
/Stakeholder feedback
|
Low
|
Low
|
Low
|
High
|
Supplier
involvement
|
Low
|
High
|
Low
|
High
|
Communication
level required
|
Low
|
High
|
Medium
|
High
|
Risk
involved
|
Low
|
High
|
Medium
|
Low
|
Table
2. Execution models versus some key project characteristics.
Key
Project Characteristic
|
Sequential
|
Concurrent
|
Lean
|
Agile
|
Planning
|
Detailed
|
Detailed
|
Detailed
|
Developed
by Iteration
|
Scope
description
|
Detailed
|
Detailed
|
Detailed
|
Minimum
|
Plan
updating frecuency
|
End
of each phase
|
End
of each phase
|
End
of each phase
|
Short
periods (e.g. Weekly)
|
Handling
changes
|
Low
|
Low
|
Low
|
High
|
Adds
Value
|
Low
|
Low
|
High
|
High
|
Table
3. Some project type versus execution models
Project Type |
Sequential
|
Concurrent
|
Lean
|
Agile
|
Small projects with clear requirements
|
x
|
|||
Projects that result in physical
objects
|
x
|
|||
Projects with fixed scope and fixed
price contract
|
x
|
|||
Restricted projects in time
|
x
|
|||
Restricted projects in budget
|
x
|
|||
Software innovation projects
|
x
|
|||
Long term projects
|
x
|
|||
Automotive industry project
|
x
|
|||
IT development projects
|
x
|
|||
Projects that requires early
procurement
|
x
|
|||
Heavily restricted projects in time
and budget
|
x
|
|||
Projects with scope not well
defined
|
x
|
No comments:
Post a Comment