0% found this document useful (0 votes)
41 views22 pages

Presented by Group 1: Kritik Sharma Pranav Madaan Sourabh Pol Sudipta Modak

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 22

SOFTWARE

PROJECT
MANAGEMENT

ASSIGNMENT
3
Presented By Group 1:
Kritik Sharma
Pranav Madaan
Sourabh Pol
Sudipta Modak
Chapter 3: Software Project Management

1 (a) Effort is measured using which one of the following units:


(i) persons
(ii) person-months
(iii) months
(iv) Rupees

1 (b) COCOMO estimation model can be used to estimate which one of the
following:
(i) LOC
(ii) Effort
(iii) Function points
(iv) Defect density
Chapter 3: Software Project Management
1 (c) What is the correct order in which a software project manager
estimates various project parameters while using COCOMO:
(i) Cost, effort, duration, size
(ii) Cost, duration, effort, size
(iii) Size, effort, duration, cost
(iv) Size, cost, effort, duration

1 (d) Which one of the following is NOT a factor for "Lines of code" being
considered as a poor size metric:
(i) It is programming language dependent
(ii) It penalises efficient and compact coding
(iii) It is programmer dependent
(iv) It is dependent on the complexity of the requirements
Chapter 3: Software Project Management
1 (e) Which one of the following project parameters is usually the first to
be estimated by a project manager:
(i) Cost
(ii) Effort
(iii) Size
(iv) Duration

1 (f ) Which one of the following charts is the most useful to decompose


the project activities into smaller tasks that can be more meaningfully
managed:
(i) PERT chart
(ii) GANTT chart
(iii) Task network representation
(iv) Work breakdown structure
Chapter 3: Software Project Management
2. Write five major responsibilities of a software project manager.

A. Planning
For a project to be successful and completed within a specified time, the software project manager
for a company must plan effectively. This also includes:
● Scope
● Activity Schedules
● Gantt Chart
● Potential Risks

B. Setting Goals
He must set measurable goals that should define the overall project's objective.
For example: Complete the project within six months from the start date in the budget of xxx
amount.
It is concise, crisp, and outlines the objective clearly.
Chapter 3: Software Project Management
C. Time Management
Time estimation for the various activities is of major significance as it helps set the daily
priorities of each team member. A software project manager has to properly time all the
activities for the completion of the project and also prepare for any delays in any of the
activities.

D. Budget Allocation and Cost Estimates


Software project managers must assign budgets to the various activities and make any cost
considerations that there might be.

E. Implementation and Monitoring


Implementation of the project's activities includes delegating different activities and
ensuring their completion on time. Executing the plan of action and ensuring it is monitored
along the way is a key responsibility. A software project manager must set out the project
boundaries and scope. They formulate themselves into a plan of action and assist in
completing the project.
Chapter 3: Software Project Management
3. Identify the factors that make software projects much more difficult to manage compared
to many other types of projects, such as a project to layout a 100 km concrete road on an
existing non-concrete road.

Types of Complexity:

● Time Management Complexity


● Cost Management Complexity
● Quality Management Complexity
● Risk Management Complexity
● Human Resources Management Complexity
● Communication Management Complexity
● Procurement Management Complexity
● Integration Management Complexity
Chapter 3: Software Project Management

Main factors in Software project management complexity:

● Invisibility
● Changeability
● Interaction
● Uniqueness
● Exactness of a Solution
● Team Oriented and Intellect Intensive Work
● The Huge Task regarding Estimation
Chapter 3: Software Project Management

● Team Oriented and Intellect Intensive Work

Software development initiatives are collaborative and intellectually demanding. Without


collaboration amongst developers, the software cannot be produced. The life cycle activities in a
software development project need a lot of mental effort. Nonetheless, each team member must
typically interact, review the work of other team members, and interact with a variety of other
team members, resulting in varying levels of complexity when managing software projects

● The Huge Task regarding Estimation

Estimation is one of the most critical components of software project management. During project
planning, a project manager must estimate the project's cost, likely completion time, and the
amount of effort required to execute the project based on size estimation. This estimation is a
difficult process, adding to the difficulty of software project management
Chapter 3: Software Project Management
4. List the important shortcomings of LOC for use as a software size metric for carrying out
project estimations.

● LOC is a measure of coding activity alone


● LOC count depends on the choice of specific instructions
● LOC measure correlates poorly with the quality and efficiency of the code
● LOC metric penalises use of higher-level programming languages and code reuse
● LOC metric measures the lexical complexity of a program and does not address the more
important issues of logical and structural complexities
● It is very difficult to accurately estimate LOC of the final program from problem specification
Chapter 3: Software Project Management
5. Explain when should you use PERT charts and when you should use Gantt charts while you are
performing the duties of a project manager.

Gantt chart representation of a project schedule is helpful in planning the utilisation of resources, while
PERT chart is useful for monitoring the timely progress of activities.

● Use a PERT chart when you need to:


○ Anticipate the amount of time it takes to complete the project
○ Determine the critical path to meet your deadlines
○ Plan for large or more complex projects
○ Show the interdependence of tasks
● Use a Gantt chart when you need to:
○ Anticipate the amount of time to complete each task
○ Clearly communicate task responsibilities
○ Communicate the project’s progress
6. Briefly explain the COCOMO 2 model. In what aspects is it an improvement over the
original COCOMO model.

The COCOMO-II is the revised version of the original Cocomo (Constructive Cost Model) and is
developed at the University of Southern California. This model calculates the development time
and effort taken as the total of the estimates of all the individual subsystems. In this model, whole
software is divided into different modules. Example of projects based on this model is Spreadsheets
and report generator.

· It provides estimates that represent one standard deviation around the most likely estimate

· It follows a spiral type of development.

· In COCOMO II, Number of sub model are 4 and 17 cost drivers are assigned

· Size of software stated in terms of Object points, function points and lines of code

· COCOMO II is useful in non-sequential, rapid development and reuse models of software.


7. Explain why according to the COCOMO model, when the size of a software is
increased by two times, the time to develop the product usually increases by less
than two times.

it can be observed that the development time is a sub linear function of the size of the
product, i.e. when the size of the product increases by two times, the time to develop the
product does not double but rises moderately. This can be explained by the fact that for
larger products, a larger number of activities which can be carried out concurrently can
be identified. The parallel activities can be carried out simultaneously by the engineers.
This reduces the time to complete the project. Further, from fig, it can be observed that
the development time is roughly the same for all three categories of products. For
example, a 60 KLOC program can be developed in approximately 18 months, regardless
of whether it is of organic, semi-detached, or embedded type.
Software Sizing
8. What is meant by the ‘size’ of a software project? Why does a project manager
need to estimate the size of the project? How is the size estimated?

Software sizing or Software size estimation is


an activity in software engineering that is used
to determine or estimate the size of a software
application or component in order to be able to
implement other software project management
activities (such as estimating or tracking). Size
is an inherent characteristic of a piece of
software just like weight is an inherent
characteristic of a tangible material.
Project Size Estimation Techniques

Estimation of the size of the software is an essential part of Software Project Management. It helps the
project manager to further predict the effort and time which will be needed to build the project. Various
measures are used in project size estimation. Some of these are:

● Lines of Code
● Number of entities in ER diagram
● Total number of processes in detailed data flow diagram
● Function points
Lines of Code (LOC)
As the name suggests, LOC count the total number of lines of source code in a project.
The size is estimated by comparing it with the existing systems of the same kind. The
experts use it to predict the required size of various components of software and then add
them to get the total size.

Advantage Disadvantage
● Universally accepted ● Different programming
and is used in many languages contain a
models like different number of
COCOMO. lines.
● Estimation is closer to ● No proper industry
the developer’s standard exists for this
perspective. technique.
Number of Entities in ER Diagram
ER model provides a static view of the project. It describes the entities and their
relationships. The number of entities in ER model can be used to measure the estimation
of the size of the project. The number of entities depends on the size of the project. This
is because more entities needed more classes/structures thus leading to more coding.

Advantage Disadvantage
● Size estimation can be ● No fixed standards
done during the initial exist. Some entities
stages of planning. contribute more project
● The number of entities size than others.
is independent of the ● Just like FPA, it is less
programming used in the cost
technologies used. estimation model.
Hence, it must be
converted to LOC.
Total number of processes in detailed
data flow diagram
Data Flow Diagram(DFD) represents the functional view of software. The model depicts the main
processes/functions involved in software and the flow of data between them. Utilization of the number
of functions in DFD to predict software size. Already existing processes of similar type are studied and
used to estimate the size of the process. Sum of the estimated size of each process gives the final
estimated size.

Advantage Disadvantage
● It is independent of the ● Studying similar kinds
programming of processes to
language. estimate size takes
● Each major process can additional time and
be decomposed into effort.
smaller processes. This ● All software projects
will increase the are not required for the
accuracy of estimation construction of DFD..
Function Point Analysis
● Count the number of functions of each proposed type.
● Compute the Unadjusted Function Points(UFP).
● Find Total Degree of Influence(TDI).
● Compute Value Adjustment Factor(VAF).
● Find the Function Point Count(FPC).

Advantage Disadvantage
● It can be easily used in ● It is not good for real-
the early stages of time systems and
project planning. embedded systems.
● It is independent of the ● Many cost estimation
programming models like COCOMO
language. uses LOC and hence
FPC must be converted
to LOC.
Product Visibility
7. What do you understand by product visibility in the context of software development?
Why is it important to improve product visibility during software development?
How can product visibility be improved?

If your team can get more visibility into


releases, you will have more confidence
that the code you have developed meets
the quality standards. With more
visibility, you’ll be deploying faster, and
meeting customer needs earlier.
Product Visibility & Improvement
Visibility and collaboration are critical not just to get teams to work more efficiently, but they also help
in accelerating time-to-market. That said, here are 10 tips to increase software delivery and IT project
visibility and collaboration:

● Keep track of all the work centrally using a tool


● Automate reporting
● Empower team members to use online tools for collaboration and sharing
● Discard email
● Use advanced scheduling tools
● Use collaboration tools for document reviews and commenting
● Ensure a transparent communication flow
● Keep a centralized repository of all digital assets
● Define metrics/measures and track them till the end of the projec
● Embrace Agile methodologies
Thank You

You might also like