Unit 3
Unit 3
Unit 3
These components play a very important role in your project that can help your
team meet its goals and objective. Now, Let’s dive into each of them a little in
detail to get a better understanding:
People
The most important component of a product and its successful
implementation is human resources. In building a proper product, a well-
managed team with clear-cut roles defined for each person/team will lead
to the success of the product. We need to have a good team in order to
save our time, cost, and effort. Some assigned roles in software project
planning are project manager, team leaders, stakeholders,
analysts, and other IT professionals. Managing people successfully is a
tricky process which a good project manager can do.
Product
As the name inferred, this is the deliverable or the result of the project.
The project manager should clearly define the product scope to ensure a
successful result, control the team members, as well technical hurdles
that he or she may encounter during the building of a product. The
product can consist of both tangible or intangible such as shifting the
company to a new place or getting a new software in a company.
Process
In every planning, a clearly defined process is the key to the success of
any product. It regulates how the team will go about its development in
the respective time period. The Process has several steps involved like,
documentation phase, implementation phase, deployment phase, and
interaction phase.
Project
The last and final P in software project planning is Project. It can also be
considered as a blueprint of process. In this phase, the project manager
plays a critical role. They are responsible to guide the team members to
achieve the project’s target and objectives, helping & assisting them with
issues, checking on cost and budget, and making sure that the project
stays on track with the given deadlines.
W5HH Principle
Barry Boehm gave a philosophy that prepares easy and manageable designs or
outlines for software projects. He also gave a technique to discuss objectives,
management, duties, and technical approach of the project and its necessary
resources. Then he named it the W5HH principle when few questions resulted in
project properties, definition, and resultant plan to make the project successful.
Those questions are :
The W5HH principle in software management exists to help project managers
guide objectives, timelines, responsibilities, management styles, and resources. In
this lesson, we’ll explore each part.
W5HH questions :
Why the system is going to be developed?
For the purpose of software work, all stakeholders must assess the validity of the
system product/project. Here Barry questions that whether the project’s purpose
will justify the cost, time spent on it by people?
What is activities are needed to be done in this?
In this Barry questions what task is needed to be done for a project currently.
When is this done?
Project Scheduling is done by the team after recognizing when project tasks will be
started and when they enter into the final stage to reach the goal.
Who are the reasons for these activities in this project?
Every member who is part of the software team is responsible for this. And their
roles are defined.
Where are these authoritatively located?
Not only do software practitioners have roles in this but also users, customers,
stakeholders also have roles and responsibilities organizationally.
How is the job technically and managerially finished?
All technical strategies, management rules of the project are defined after knowing
the scope of the project which is being built.
How much part of each resource is required?
This is known by software developers after the estimation of each resource as per
the needs of customers/users.
This W5HH principle of Bohem is appropriate irrespective of the scale or difficulty
of software projects being developed. These questions help in planning the outline
of the project for the software team.
The W5HH principle outlines a series of questions that can help project managers
more efficiently manage software projects. Each letter in W5HH stands for a
question in the series of questions to help a project manager lead. (Notice there are
five ”W” questions and two ”H” questions).
W5HH The Question What It Means
Why is the system being This focuses a team on the business reasons
Why?
developed? for developing the software.
Who? Who is responsible for This is where you determine which team
each function? member takes on which responsibilities. You
may also identify external stakeholders with a
claim in the project.
How will the job be In this step, a strategy for developing the
How? done technically and software and managing the project is
managerially? concluded upon.
1. Product Metrics: Product metrics are used to evaluate the state of the
product, tracing risks and undercover prospective problem areas. The
ability of the team to control quality is evaluated. Examples include lines
of code, cyclomatic complexity, code coverage, defect density, and code
maintainability index.
2. Process Metrics: Process metrics pay particular attention to enhancing
the long-term process of the team or organization. These metrics are used
to optimize the development process and maintenance activities of
software. Examples include effort variance, schedule variance, defect
injection rate, and lead time.
3. Project Metrics: The project metrics describes the characteristic and
execution of a project. Examples include effort estimation accuracy,
schedule deviation, cost variance, and productivity. Usually measures-
Number of software developer
Staffing patterns over the life cycle of software
Cost and schedule
Productivity
Advantages of Software Metrics
1. Reduction in cost or budget.
2. It helps to identify the particular area for improvising.
3. It helps to increase the product quality.
4. Managing the workloads and teams.
5. Reduction in overall time to produce the product,.
6. It helps to determine the complexity of the code and to test the code with
resources.
7. It helps in providing effective planning, controlling and managing of the
entire product.
Disadvantages of Software Metrics
1. It is expensive and difficult to implement the metrics in some cases.
2. Performance of the entire team or an individual from the team can’t be
determined. Only the performance of the product is determined.
3. Sometimes the quality of the product is not met with the expectation.
4. It leads to measure the unwanted data which is wastage of time.
5. Measuring the incorrect data leads to make wrong decision making.
Software Project planning starts before technical work start. The various steps of
planning activities are:
The size is the crucial parameter for the estimation of other activities. Resources
requirement are required based on cost and development time. Project schedule
may prove to be very useful for controlling and monitoring the progress of the
project. This is dependent on resources & development time.
4. **Historical Data**: Use data from previous projects with similar scope and
complexity to improve the accuracy of estimates.
6. **Three-Point Estimation**: Use three estimates for each task: the optimistic
estimate (O), the pessimistic estimate (P), and the most likely estimate (M). The
final estimate is calculated using the formula: (O + 4M + P) / 6.
Different models of Cocomo have been proposed to predict the cost estimation at
different levels, based on the amount of accuracy and correctness required. All of
these models can be applied to a variety of projects, whose characteristics
determine the value of the constant to be used in subsequent calculations. These
characteristics of different system types are mentioned below. Boehm’s definition
of organic, semidetached, and embedded systems:
Importance of the COCOMO Model
1. Cost Estimation: To help with resource planning and project budgeting,
COCOMO offers a methodical approach to software development cost
estimation.
2. Resource Management: By taking team experience, project size, and
complexity into account, the model helps with efficient resource
allocation.
3. Project Planning: COCOMO assists in developing practical project
plans that include attainable objectives, due dates, and benchmarks.
4. Risk management: Early in the development process, COCOMO assists
in identifying and mitigating potential hazards by including risk
elements.
5. Support for Decisions: During project planning, the model provides a
quantitative foundation for choices about scope, priorities, and resource
allocation.
6. Benchmarking: To compare and assess various software development
projects to industry standards, COCOMO offers a benchmark.
7. Resource Optimization: The model helps to maximize the use of
resources, which raises productivity and lowers costs.
Types of COCOMO Model
1. Basic Model
E = a(KLOC)^b
Time = c(Effort)^d
Person required = Effort/ time
The above formula is used for the cost estimation of the basic COCOMO model
and also is used in the subsequent models. The constant values a, b, c, and d for the
Basic Model for the different categories of the system:
Software
Projects a b c d
MAKE OR BUY
Introduction
Are you outsourcing enough? This was one of the main questions
asked by management consultants during the outsourcing boom.
Outsourcing was viewed as one of the best ways of getting things
done for a fraction of the original cost.
The volume
The fixed cost of making
Per-unit direct cost when making
Per-unit cost when buying
Now, there are two formulas that use the above numbers. They
are 'Cost to Buy' and 'Cost to Make'. The higher value loses and
the decision maker can go ahead with the less costly solution.
Cost concerns
Desire to expand the manufacturing focus
Need of direct control over the product
Intellectual property concerns
Quality control concerns
Supplier unreliability
Lack of competent suppliers
Volume too small to get a supplier attracted
Reduction of logistic costs (shipping etc.)
To maintain a backup source
Political and environment reasons
Organizational pride
Reasons for Buying
1. Preparation
Team creation and appointment of the team leader
Identifying the product requirements and analysis
Team briefing and aspect/area destitution
2. Data Collection
Collecting information on various aspects of make-or-buy
decision
Workshops on weightings, ratings, and cost for both make-
or-buy
3. Data Analysis
Analysis of data gathered
4. Feedback
Feedback on the decision made
Conclusion
Process :
The manager needs to estimate time and resources of project while scheduling
project. All activities in project must be arranged in a coherent sequence that
means activities should be arranged in a logical and well-organized manner for
easy to understand. Initial estimates of project can be made optimistically which
means estimates can be made when all favorable things will happen and no threats
or problems take place.
The total work is separated or divided into various small activities or tasks during
project schedule. Then, Project manager will decide time required for each activity
or task to get completed. Even some activities are conducted and performed in
parallel for efficient performance. The project manager should be aware of fact that
each stage of project is not problem-free.
Problems arise during Project Development Stage :
People may leave or remain absent during particular stage of
development.
Hardware may get failed while performing.
Software resource that is required may not be available at present, etc.
The project schedule is represented as set of chart in which work-breakdown
structure and dependencies within various activities are represented. To accomplish
and complete project within a given schedule, required resources must be available
when they are needed. Therefore, resource estimation should be done before
starting development.
Resources required for Development of Project :
Human effort
Sufficient disk space on server
Specialized hardware
Software technology
Travel allowance required by project staff, etc.
Advantages of Project Scheduling :
There are several advantages provided by project schedule in our project
management:
It simply ensures that everyone remains on same page as far as tasks get
completed, dependencies, and deadlines.
It helps in identifying issues early and concerns such as lack or
unavailability of resources.
It also helps to identify relationships and to monitor process.
It provides effective budget management and risk mitigation.
1. **Task Sets**: A project consists of various tasks or activities that need to be completed to
achieve the project's objectives. Task sets refer to groups of related tasks that contribute to specific
project milestones or deliverables.
2. **Defining a Task Network**: This involves creating a structured representation of tasks and their
dependencies within the project. Tasks are linked together based on their sequencing and
interdependencies, forming a task network or a project schedule network diagram.
3. **Scheduling**: Scheduling is the process of determining when each task will start and finish
based on task dependencies, resource availability, and project constraints. This often involves
creating a project timeline or schedule that outlines the sequence and duration of tasks.
4. **Earned Value Analysis**: Earned Value Analysis (EVA) is a method used to measure a project's
performance and progress by comparing the planned value of work (budgeted cost for work
scheduled, BCWS) with the actual value of work completed (earned value, EV) and the actual cost of
work performed (actual cost, AC). This analysis helps in assessing project performance against the
baseline plan.
### Task Sets and Dependencies
- **Task Sets**: These are groups of related tasks that contribute to specific project objectives. For
example, a task set for building a house might include tasks like laying the foundation, framing,
plumbing, electrical work, and finishing.
- **Dependencies**: Tasks within a project often have dependencies, where the completion of one
task affects the start or finish of another. There are four types of task dependencies:
- **Finish-to-Start (FS)**: The dependent task cannot start until its predecessor task finishes.
- **Start-to-Start (SS)**: The dependent task cannot start until its predecessor task starts.
- **Finish-to-Finish (FF)**: The dependent task cannot finish until its predecessor task finishes.
- **Start-to-Finish (SF)**: The dependent task cannot finish until its predecessor task starts.
- **Task Network Diagram**: This diagram visually represents tasks and their dependencies using
nodes (tasks) and arrows (dependencies). It helps in understanding the sequence of tasks and
identifying critical paths (the longest sequence of dependent tasks) in the project.
- **Critical Path Method (CPM)**: CPM is a technique used to determine the longest sequence of
dependent tasks (critical path) in a project. Tasks on the critical path have zero float or slack,
meaning any delay in these tasks will delay the project.
- **Program Evaluation and Review Technique (PERT)**: PERT is a probabilistic technique that uses
three estimates (optimistic, pessimistic, and most likely) to calculate task durations. It's useful for
projects with high uncertainty.
- **Basic Components**:
- **Actual Cost (AC)**: The actual cost incurred for the work performed.
- **Key Metrics**:
- **Variance Analysis**: Comparing planned versus actual performance to identify deviations and
take corrective actions.
By leveraging these concepts and techniques, project managers can effectively plan, schedule,
monitor, and control project activities to ensure successful project completion within scope, time,
and budget constraints.