SE-Unit - 5-Notes

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 27

Unit-5

PROJECT MANAGEMENT

Software project management: estimation – LOC, FP based estimation, Make/buy


decision COCOMO I& II model – project scheduling – scheduling, Earned value
analysis planning – project plan, planning process, RFP risk Management –
identification, projection – risk management-risk identification-RMMM plan-case tools.

Q1. Define Software Project Management.

Software Project Management: Project Management Essentialsis an activity crucial to the


success of software projects. The nature of software projects other from hardware and other
manufacturing projects.The goal of Software Project Management is to enable a group of
people to work efficiently on a project, using a systematic process, in order to produce a
quality software product. Software Project Management uses a more established and
specialized approach as compared to general project management.

Q2. What are the Essentials of Project Management?

Project Management Essentials:Project Management is an integrated environment where


various entities are interconnected and performed together to produce a quality software
product. The four essential elements of effective Software Project Management: project,
people, process and product. Effective Software Project Management focuses on these
elements to fulfil the customer needs. People who work on software projects are the primary
stakeholders of the projects.

Project: A project is a temporary endeavour with defined starting and ending deadlines, role
and responsibilities, conditions, budgets and plans, undertaken to accomplish aim and
objects. Each project has a unique purpose even if there are multiple projects in a single
domain. For example one website project may occur on adding features while another
website project may focus on renovating the existing website onto a modern platform. A
software project requires resources (hardware, software, and human resources), typically
from different areas. Various software resources, Such as automated tools, supporting tools,
and development environment are needed to work on a project. A successful project always
satisfies the project constraints expected by the customer.

People: People (or stakeholders) in a project are those who are either involved in or affected
by the project. Each person in the project has certain roles and responsibilities according to
his skill set. The people should be motivated, trained, rewarded, deployed, and retained as
and when required to improve their capabilities.

Following are the various categories of people involved in an effective software project
management.
Senior managers: They are the highest level of team that defines the business issues that
have significant influence on the project. The senior manager, like all managers, is
responsible for planning and directing the work of a group of individuals, monitoring their
work, and taking corrective action when necessary. Senior managers may guide workers
directly or they may direct several supervisors who manage the workers.

The senior manager often supervises the largest or most important group(s) in a company.
Core responsibilities of the senior manager include:

 Providing guidance to direct reports typically comprised of first-line managers and


supervisors.
 Approving requests for investment to a certain level of authority.
 Managing overall financial budgeting for his/her function.
 Approving hiring and firing requests within his/her group.
 Guiding the talent identification and development processes for a group or function.
 Interacting with senior management for reporting.
 Working with senior management and other peers for strategy development and
execution planning.
 Communicating financial and goal results and key performance indicators to direct
reports.
 Some of the common positions considered in such teams are CEO,COO and CFO

Project Managers: A software project manager is a person who undertakes the responsibility
of executing the software project. Software project manager is thoroughly aware of all the
phases of SDLC that the software would go through. Project manager may never directly
involve in producing the end product but he controls and manages the activities involved in
production. A project manager closely monitors the development process, prepares and
executes various plans, arranges necessary and adequate resources, maintains communication
among all team members in order to address issues of cost, budget, resources, time, and
quality and customer satisfaction.

Programmers: A Programmer writes a complete program A software engineer writes a


software component that will be combined with components written by other software
engineers to build a system. The component one writes may be modified by others. It may be
used by others to build different versions of the system long after one has left the project.
A programmer, computer programmer, developer, dev, coder, or software engineer is a
person who writes computer software. The term computer programmer can refer to a
specialist in one area of computer programming or to a generalist who writes code for many
kinds of software. One who practices or professes a formal approach to programming may
also be known as a programmer analyst. A programmer's primary computer
language (Assembly, COBOL, C, C++, C#, Java, Lisp, Python, etc.) is often prefixed to these
titles, and those who work in a Web environment often prefix their titles with Web.

Support Staff: They provide assistance to the project team members and user of product they
are responsible for marinating system backups, computer room equipment and so on. They
include technical support engineers, librarians, operators, etc.
Customers: Customers are the people who specify the need for getting the software
developed. They are involved in defining requirements, development, and services delivery
of the product.
End users: They are the people who will operate the software once it has been developed.
Project sponsors: They are mainly involved in proposing the project due to the need for
change and have the authority to introduce something. They are also related to the financial
issues in the project and they make a commitment to the project for its successful completion.
Competitors: These are the opponent parties who are producing a similar kind of product or
proposing to the same project. Project competitors cause reduction in the cost of product and
improvement in quality.
Suppliers: They may be manufactures who use tools and manpower to make things for
selling, such as the people involved in outsourcing software, the packager who encloses
products for distribution and sale, distributors, wholesalers.
Process: A software process describes the characteristics and organization of activities in
order to produce software. Software processes are applied in a project to produce a product.
The general activities of software processes include definition, development and
implementation. The selection of an appropriate software process model according to the
project is a challenge for the project manager. There are various software process models
such as waterfall model, prototyping model, spiral model, agile process model, and RUP
process model. Each of these software process models has its own characteristics and
limitations. Generally the project manager decides which process model is most appropriate
for the customer’s whose requested the product, features of the product itself, and the project
environment in which the software team works. Once the process model has been selected,
the project team defines an initial project plan based on a set of common process framework
activities.
Product: A product is a final outcome of the project. It is produced with an effective project
management process. The project manager must determine the requirements and the expected
outcomes at the beginning of the project. Project scope of the product must be clearly defined
which helps us to produce a quality product. Project scope is refined into discrete functional
units and the development schedule is planned for each functional units. The quality of the
product also depends on the process being used for the product development.

Q3. Explain briefly about project management in detail.

PROJECT MANAGEMENT:

Effective project management has a direct impact on the project success and organizational
growth. A badly planned project takes more time to complete and sometimes it leads to
project failure. Good project management produces a quality product, provides sufficient
communication across the team, reduces risks, and defines strategic objectives and goals.
Project management is necessary to find the pitfalls and create outlets to avoid the unintended
consequences of the project. Software project management is the key to successful delivery
of software projects as per customer expectations. Project management is the application of
knowledge, skills, tools, and techniques for performing project activities in order to satisfy
the expectations of the stakeholders from a project. Project management focuses on the cost,
schedule, and scope 0of the project along with the customer expectations.

WHY DO PROJECT FAILURES OCCUR?

Software projects frequently fail. The project failure rate of large projects is reported as being
between 50-80%. There are many ways to measure success and failure depending upon the
literature or experiences you have. However, following are some common factors that may
lead to project failures:

 Inability to clearly understand customer needs


 Lack of user involvement
 Unrealistic expectations
 Lack of top management support
 Incomplete requirements and specifications
 Lack of resources (hardware,software and people)
 Lack of good planning
 Technical incompetence
 Changes are managed poorly
 The chosen technology changes
 Lack of communication among team members

Project managers must work hard according to the project plan to avoid project
failures. Project managers must keep monitoring the responsibilities assigned to the
team members and encourage them to avoid wrong practices. If there are any
indications of project failure, project managers must take appropriate decisions to
streamline the project.

KEYS TO PROJECT SUCCESS:


Project success must be the ultimate goal of project managers to fulfil the customer needs.
There are various factors that help in project success. The following factors help in
Successful completion of a project:

 Strong support from the top management


 User involvement in each activity
 Experienced project manager
 Clearly defined project scope
 Feedback mechanism
 Troubleshooting capabilities
 Reliable estimates

There are some other criteria for project success, such as competency of team members,
project control mechanisms, careful handling of technical tasks, and so on. The client must be
responsive to the queries of the project development team.

PROJECT MANAGEMENT TEAM

Every project needs a project management team. The people who work together on a project
are referred to as a team. A team is a cohesive group of one or more related roles and /or
subordinate teams that collaborated to perform a cohesive set of tasks. In any project there are
defined goals and targets to be achieved. The desired achievement depends on the collective
effort of top level management, the project manager, and the members of the project team.
Team work refers to a group of people working together in order to achieve a common goal.
Software work products are the results of team work.

The project manager puts a more conscious effort to build a team. Teams do not come
into being automatically. They require skill, knowledge, and tact on the part of the leader.
There must be strong communication channel among team members. Organization must
develop a culture of team building. Attitude, interaction patterns, skills possessed my
members, methods used to work on tasks, and individual contributions all contribute to the
team culture. Every team may be different from the others in the way it handles it tasks.
Therefore project managers follow certain guidelines for the creation of team culture.

A project management team typically consists of the project manager, who leads the
team; configuration manager; metrics analyst; process engineer; quality engineer; scheduler;
technical leader; and so on. The team perform the overall (administrative) management and
risk management for a single project.

Q4. Briefly Explain Software Configuration Management.

SOFTWARE CONFIGURATION MANAGEMENT:

 Software system is constructed through various software objects, such as SRS


documents. These software objects are created, maintained and used by different
people. Due to the evolutionary nature of software objects, these are changed during
their lifetime. Such objects are called configuration of a software product at any
point in time. SCM is then Discipline of identifying the configuration of a system at
any time for the purpose of systematically controlling changes.
 The process of identifying and documenting configuration item controlling change to
those items throughout their life cycle, recording and reporting change processing and
implementation status and verifying compliance with the specified requirements. It
helps to identify the functional and physical attributes of software at various points in
time and performs systematic control of changes to these attributes.
 It helps to produce a high quality software product with the latest version and
features. Establish and maintain the integrity of a software product throughout the
software development life cycle .improves product visibility, product protection,
product control, customer confusions, and team communication.

The CM process consists of the following for activities and these are shown in figure. The
CM process begins with configuration identification and ends with audit results

1. Configuration identification
2. Configuration change control
3. Configuration status accounting
4. Configuration auditing
CONFIGURATION IDENTIFICATION:

Configuration identification first step in controlling changes, a software configuration item


(SCI) or configuration item (CI) is a work product that is designed for configuration
management. The SCI activity identifies the items to be controlledestablished identification
schemes for the items and techniques to be used in acquiring and managing the controlled
items. The work products in SCI may include plans, process descriptions, requirements,
design data and models, product specifications, source codes, compilers, product data files,
etc.

CONFIGURATION CHANGE CONTROL:

Purpose of software configuration change (CC) is to manage changes during the software life
cycle .identify what changes to make, the authority for approving changes.Change
request(CR) for changes to software configuration items may be originated by anyone at any
point in the software life cycle.

CONFIGURATION STATUS ACCOUNTING:

The software Configuration status accounting Records and reports the information needed for
effective management of the software configuration. It is the Book keeping process of each
release for CIs. The CIs are identified, collected, and maintained for the status
accounting .there are various automated tools such as source code control
system(SCCS),RCS, and so on. These tools are used to accomplish data collection and status
reporting tasks.
CONFIGURATION AUDITING:

Determines the extent to which an item satisfies the required functionalities. Performed to
evaluate the conformance of software products .Auditing is performed according to a well-
defined process consisting of various auditor roles and responsibilities.

RISK MANAGMENT:

Soft ware projects, products and business are full of un certainties due to changing
requirementsvarying range of applications informal process and technological advancements
adverse affects may happen at any stage of software development, process management,
project management and configuration management risk is unfavourable situation that may
lead to an undesirable outcome potential problems or losses are also called as risks risk may
include product estimation, business issues, customer, process, technology ,development,
environment, and project planning

Risk management is pro active approach for minimizing the un certainty and potential
problems associated with a project by providing in sight to support informed decision making
it is an ongoing activity from the initiation to the retirement of an software product soft ware
risk management is necessary for the following reasons

 To reduce the network caused by missing erroneous, or ambiguous required design or


code which typically consumes 40-50% of total cost of soft ware development
 To avoid software project disasters including over run of budgets and schedules ,
defect –ridden software products and operational failures
 To stimulate a win-win software solution where the customer receive the products
they need and the make the profits they except
 To keep provision for the detection and prevention mechanism of risks

Ultimately risk management has a great impact on software quality and the productivity on
the software development process risks basically threaten the project; product and business
there are three types of risks

1. Project risks: project risks are concerned with project planning and scheduling these risks
can be related to budget schedule and resources most of the projects run behind schedule
become over budget and have unavailability of skilled engineers if the projects are not
properly planned and there may be the possibility of risks

2. Product risks: Product risks are concerned with design of development of software
products. These risks affect the product quality and its performance these risks include may
include the changing requirements technicalun certainty excessive constraints lack of
technical knowledge

3. Business risks: business risks may have a negative impact on the operation or profitability
of an organization for example an organization an organization is unable to produce the
products which are demanded in the market a compotator has launched an alternative product
business risks are mainly due to wrong decisions implemented in the companies
In order to handle all the above risks there should be some systematic process for risks, there
should be some systematic .we will discuss risk management activities and there
mechanisms

Q5. Explain about various Risk management activities.

Risk management activities:

There are various types of risks of associated with projects,products and business some risks
have a great effect and some are tolerated the risk management process includes the

1. Risk identification
2. Risk analysis
3. Risk planning
4. Risk monitoring and control
1. Risk identification: the risk identification activity starts with a list of potential risks may
have an impact on the achievement of the defined objectives potential risks are identified
with their consequences effects, sources root causes and categories the output of this activity
is a list of projects specific risks that have the potential of compromising of project success
there are various types of risks that may arise for human resources risks estimation risks and
so on
There are different techniques for identifying risks such as interviewing, reporting
decomposition, assumption analysis critical path analysis and utilization of risk taxonomies
brain storming is preferred technique because of identification of risks informed opinions of
the project team and other exports and the concern of the stake holders

2.Risk analysis: during risk analysis each risk is analyzed independently by examining
identified risk and assessing is impact and probability risk exposure the analysis can be
conducted using different techniques for example metric decision and scenario analysis the
list of risks is then grouped and ranked on the results of risk analysis and management
because of limited resources

RE=probability (UO)*loss (UO) where UO is unexpected outcome

Probability (u o) is the occurrence of undesirable outcomes loss(u o) is total loss occurrence


the loss can be related to the people business loss the loss can be reduced by assessing
addressing and monitoring the progress risk prioritization can help to identify the risks having
greatest probable negative impacts on projects or products

3.Risk planning: once the risks are identified an appropriate management plan is developed
for modifying risks a judgement and experience of the project manager are very important at
this stage the project manager may use the risk resolution strategies for the reduction of the
risks general risk management strategies are risk avoidance risk minimization risk acceptance
and risk transfer is the case of if it’s possible to transfer the risk to somebody risk or else this
can be done by choosing out sourcing subcontracting buying a resource or tool as a risk
transfer strategy
4.Risk monitoring and control: risk monitoring and control ensures new risks and detected
and management risk action plans are implemented to reduce the impact of risks policies and
standards compliances are regularly carried out standard performance reviewed to identify
the opportunities the monitoring process provides assurance that appropriate controls have
been taken for the organization activities and that procedures are in place if needed changes
are made in organizational environment to cope with risks

Project Planning and Estimation:

A successful project is possible only through good project planning. Project planning
concentrates on estimation resources, time, budgets, and monitoring and controlling the
activities of project management. During project planning, future estimates are planned for
effective project management. A project management activity begins with a well defined
project plan. A good project plan guides towards project success. The main goal of the
project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring
a project.

Q6. Discuss about the Project planning activities.

Project planning activities: The project planning activities include both business-level and
technical level planning. Business-level planning addresses the relationships with the
customers where as technical level planning focuses on performing the technical activities.
Business planning includes the project and business objectives, proposal writing, analysis and
inclusion of functional requirements, product demand and its scope, and legal issues.
Technical planning concentrates on technical issues such as selection of the development life
cycle model, planning documentation methods, and tools, risk management planning,
financial planning, and so on.

1. Determine the project requirements. You may have already prepared the objectives
for the project and some high-level requirements for the proposed scope during Step 1,
Business Case Assessment. However, most likely they are not of sufficient detail to start
the planning process. As part of the scope definition, review and revise the following
requirements: data, functionality (reports and queries), and infrastructure (technical and
nontechnical).
2. Determine the condition of the source files and databases. You can neither complete
the project schedule nor commit to a delivery date without a good understanding of the
condition of the source files and databases. Take some time to review the data content of
these operational files and databases. Although you will perform detailed source data
analysis during Step 5, Data Analysis, right now you need to glean just enough
information to make an educated guess about the effort needed for data cleansing.
3. Determine or revise the cost estimates. Detailed cost estimates must include hardware
and network costs as well as purchase prices and annual maintenance fees for tools. In
addition, you must ascertain the costs for contractors, consultants, and training. A more
indirect cost is associated with the learning curve for the business and IT staff members.
Remember to factor that into the cost estimates as well as the time estimates.
4. Revise the risk assessment. Review and revise the risk assessment performed during
Step 1, Business Case Assessment (or perform a risk assessment now if you skipped that
step). Rank each risk on a scale of 1 to 5 according to the severity of its impact on the BI
project, with 1 indicating low impact and 5 indicating high impact. Similarly, rank the
likelihood of each risk materializing, with 1 being "probably won't happen" and 5 being
"we can almost count on it."
5. Identify critical success factors. A critical success factor is a condition that must exist
for the project to have a high chance for success. Some common critical success factors
are a proactive and very supportive business sponsor, full-time involvement of a
business representative, realistic budgets and schedules, realistic expectations, and a
core team with the right skill set.
6. Prepare the project charter. The project charter is similar to a scope agreement, a
document of understanding, or a statement of work. However, the project charter is
much more detailed than the usual 3- to 4-page general overview of the project that
contains only a brief description of resources, costs, and schedule. The project charter is
a 20- to 30-page document developed by the core team, which includes the business
representative. Present the project charter and the project plan to the business sponsor
for approval.
7. Create a high-level project plan. Project plans are usually presented in the form of a
Gantt chart that shows activities, tasks, resources, dependencies, and effort mapped out
on a calendar project managers also create Pert charts, which show the graphic
representation of the CPM on the calendar.
8. Kick off the project. Once you have planned the project, assigned the resources, and
scheduled the training, you are ready to kick off the project. This is usually
accomplished with an orientation meeting for the entire team (the core team members as
well as the extended team members). Project kickoff should also include setting up
communication channels (e.g., newsletters, e-mails, Web pages) with the rest of the
organization to keep stakeholders and interested parties up-to-date on the project's
progress.

Q7. What are software metrics and measurements?


Software Metrics and measurements:
 A Metric is a quantitative measure of the degree to which a system, system
component, or process possesses a given attribute. Metrics can be defined as
“STANDARDS OF MEASUREMENT”. Software Metrics are used to measure the
quality of the project. Simply, Metric is a unit used for describing an attribute.
 Measurement is done by metrics. Three parameters are measured: process
measurement through process metrics, product measurement through product metrics,
and project measurement through project metrics.

Process Metrics:

 To improve any process, it is necessary to measure its specified attributes, develop a


set of meaningful metrics based on these attributes, and then use these metrics to
obtain indicators in order to derive a strategy for process improvement.
 Using software process metrics, software engineers are able to assess the efficiency of
the software process that is performed using the process as a framework. Process is
placed at the centre of the triangle connecting three factors (product, people, and
technology), which have an important influence on software quality and organization
performance.
 The skill and motivation of the people, the complexity of the product and the level of
technology used in the software development have an important influence on the
quality and team performance. The process triangle exists within the circle of
environmental conditions, which includes development environment, business
conditions, and customer /user characteristics.

Product Metrics
In software development process, a working product is developed at the end of each
successful phase. Each product can be measured at any stage of its development. Metrics are
developed for these products so that they can indicate whether a product is developed
according to the user requirements. If a product does not meet user requirements, then the
necessary actions are taken in the respective phase.
Product metrics help software engineer to detect and correct potential problems before they
result in catastrophic defects. In addition, product metrics assess the internal product
attributes in order to know the efficiency of the following.

 Analysis, design, and code model


 Potency of test cases
 Overall quality of the software under development.

 A software metric is a standard of measure of a degree to which a software system or


process possesses some property. Even if a metric is not a measurement (metrics are
functions, while measurements are the numbers obtained by the application of
metrics), often the two terms are used as synonyms. Since quantitative measurements
are essential in all sciences, there is a continuous effort by computer
science practitioners and theoreticians to bring similar approaches to software
development.
 The goal is obtaining objective, reproducible and quantifiable measurements, which
may have numerous valuable applications in schedule and budget planning, cost
estimation, quality assurance testing, software debugging, software performance
optimization, and optimal personnel task assignments.
 Measurement is the quantitative indication of extent, amount, dimension, capacity, or
size of some attribute of a product or process.
Test measurement example: Total number of defects.
Q8. Explain briefly about Project Size Estimation.

Project Size Estimation

Size measurement is the initial step for estimating the other attributes of software. It is the
direct measurement, which is based on the problem size. There are various units of size
measurements such as line of code (LOC), function point (FP), token count (TC), fuzzy logic
sizing, object point(OP).

Line of Code (LOC):

Lines-of-Code is the oldest and the most widely used. First popularized by Barry Boehm in
his Constructive Cost Model (COCOMO), it has since become the basis for a vast array of
software cost estimating tools. Although other techniques have made major in-roads in the
world of MIS applications, Lines-of-Code is still the standard for applications with lots of
behind the scenes processing. This includes system programming, embedded programming,
and most scientific programs. Even in the MIS world, it remains popular as a technique for
many code intensive applications.

The basis of the Measure LOC is that program length can be used as a predictor of program
characteristics such as effort and ease of maintenance. The LOC measure is used to measure
size of the software. Techniques for counting Lines of Code have many variations but the
underlying philosophy is the same.

A line of code is defined as a logical line, not necessarily a physical line. For example, in C
and C++ it is common to count the number of semi-colons and use that as the line count. In
this manner, placing three logical statements on one physical line still counts as three lines of
code.
Another compelling series of arguments against Lines-of-Code revolves around the fact that
the delivered functionality per line of code will vary based on the language being used. It is
strongly believed that this argument dooms Lines-of-Code as an effective measure of
programmer productivity, and we discourage companies from measuring programmer LOC
Performance using Lines-of-Code developed as a metric. On the other hand, the use of Lines-
of-Code as a predictor of total project effort continues to be successful for a wide range of
programming projects using a variety of languages

Function Point Analysis (FPA):


 Function Point Analysis (FPA) is a sizing measure of clear business significance. First
made public by Allan Albrecht of IBM in 1979, the FPA technique quantifies the
functions contained within software in terms that are meaningful to the software
users. The measure relates directly to the business requirements that the software is
intended to address. It can therefore be readily applied across a wide range of
development environments and throughout the life of a development project, from
early requirements definition to full operational use.
 Other business measures, such as the productivity of the development process and the
cost per unit to support the software, can also be readily derived. The function point
measure itself is derived in a number of stages. Using a standardized set of basic
criteria, each of the business functions is a numeric index according to its type and
complexity. These indices are totaled to give an initial measure of size which is then
normalized by incorporating a number of factors relating to the software as a whole.
The end result is a single number called the Function Point index which measures the
size and complexity of the software product.
 A Function Point (FP) is a unit of measurement to express the amount of business
functionality, an information system (as a product) provides to a user. FPs measure
software size. They are widely accepted as an industry standard for functional sizing.
 Function Point Analysis (FPA) technique quantifies the functions contained within
software in terms that are meaningful to the software users. FPs considers the number
of functions being developed based on the requirements specification.
 Function Points (FP) Counting is governed by a standard set of rules, processes and
guidelines as defined by the International Function Point Users Group (IFPUG).
These are published in Counting Practices Manual (CPM).

Q9. What are efforts Estimation Techniques?

Effort Estimation Techniques:

Effort Estimation predicts how much rime is required to complete a project, how much it
costs, and how many engineers are required for completing the project. Cost efforts includes
the cost of hardware and software, salaries of engineers, and other costs incurred in training,
travels, tool support, etc. Cost estimation is performed either in a top-down or bottom-up
manner.

There are different Software Testing Estimation Techniques which can be used for
estimating a task.

1) Delphi Technique
2) Work Breakdown Structure (WBS)
3) Three Point Estimation
4) Functional Point Method
1) Delphi Technique:

Delphi technique – This is one of the widely used software testing estimation technique.

In the Delphi Method is based on surveys and basically collects the information from
participants who are experts. In this estimation technique each task is assigned to each team
member & over multiple rounds surveys are conduct unless & until a final estimation of task
is not finalized. In each round the thought about task are gathered & feedback is provided. By
using this method, you can get quantitative and qualitative results.

In overall techniques this technique gives good confidence in the estimation. This technique
can be used with the combination of the other techniques.

2) Work Breakdown Structure (WBS):

A big project is made manageable by first breaking it down into individual components in a
hierarchical structure, known as the Work breakdown structure, or the WBS.

The WBS helps to project manager and the team to create the task scheduling, detailed cost
estimation of the project. By using the WBS motions, the project manager and team will have
a pretty good idea whether or not they’ve captured all the necessary tasks, based on the
project requirements, which are going to need to happen to get the job done.

In this technique the complex project is divided into smaller pieces. The modules are divided
into smaller sub-modules. Each sub-moduleare further divided into functionality. And each
functionality can be divided into sub-functionalities. After breakdown the work all
functionality should review to check whether each & every functionality is covered in the
WBS.

Using this you can easily figure out the all task needs to completed & they are breakdown
into details task so estimation to details task would be easier than estimating overall Complex
project at one shot.

Work Breakdown Structure has four key benefits:

 Work Breakdown Structure forces the team to create detailed steps:


In The WBS all steps required to build or deliver the service are divided into detailed
task by Project manager, Team and customer. It helps to raise the critical issues early
on, narrow down the scope of the project and create a dialogue which will help make
clear bring out assumptions, ambiguities, narrow the scope of the project, and raise
critical issues early on.
 Work Breakdown Structure help to improve the schedule and budget.
WBS enables you to make an effective schedule and good budget plans. As all tasks
are already available so it helps in generating a meaningful schedule and makes
scheming a reliable budget easier.
 Work Break down Structure creates accountability:
the level of details task breakdown helps to assign particular module task to
individual, which makes easier to hold person accountable to complete the task. Also
the detailed task in WBS, people cannot allow hiding under the “cover of broadness.”
 Work BreakdownStructure creation breeds commitment
the process of developing and completing a WBS breed excitement and commitment.
Although the project manager will often develop the high-level WBS, he will seek the
participation of his core team to flesh out the extreme detail of the WBS. This
participation will spark involvement in the project.

3) Three Point Estimation:

Three point estimation is the estimation method is based on statistical data. It is very much
similar to WBS technique, tasks are broken down into subtasks & three types of estimation
are done on this sub pieces.

Optimistic Estimate (Best case scenario in which nothing goes wrong and all conditions are
optimal.) = A

Most Likely Estimate (most likely duration and there may be some problem but most of the
things will go right.) = M

Pessimistic Estimate (worst case scenario which everything goes wrong.) = B


Formula to find Value for Estimate (E) = A + (4*M) + B / 6
Standard Deviation (SD) = = (B – A)/6
4) Functional Point Method:

Functional Point is measured from a functional, or user, point of view.

It is independent of computer language, capability, and technology or development


methodology of the team. It is based on available documents like SRS, Design etc.

In this FP technique we have to give weightage to each functional point. Prior to start actual
estimating tasks functional points are divided into three groups like Complex, Medium &
Simple. Based on similar projects & Organization standards we have to define estimate per
function points.

Total Effort Estimate = Total Function Points * Estimate defined per Functional Point.

5) COCOMO Algorithmic Cost model:COCOMO stands for Constructive Cost Model, it is


a software cost estimation model that was first published in 1981 by Barry Bohem (Bohem,
2001). It is an algorithmic approach to estimating the cost of a software project. By using
COCOMO you can calculate the amount of effort and the time schedule for projects. From
these calculations you can then find out how much staffing is required to complete a project
on time. COCOMO's main metric used for calculating these values is lines of code (denoted
KLOC for COCOMO II, or KDSI for COCOMO 81 and measured in thousands), function
points (FP), or object points (OP).

Basic COCOMO computes software development effort (and cost) as a function of program
size. Program size is expressed in estimated thousands of source lines of code
(SLOC, KLOC).
COCOMO applies to three classes of software projects:

 Organic projects - "small" teams with "good" experience working with "less than rigid"
requirements
 Semi-detached projects - "medium" teams with mixed experience working with a mix of
rigid and less than rigid requirements
 Embedded projects - developed within a set of "tight" constraints. It is also combination
of organic and semi-detached projects.(hardware, software, operational, ...)
The basic COCOMO equations take the form
Effort Applied (E) = ab(KLOC)bb [ man-months ]
Development Time (D) = cb(Effort Applied)db [months]
People required (P) = Effort Applied / Development Time [count]
Where, KLOC is the estimated number of delivered lines (expressed in thousands) of code
for project. The coefficients ab, bb, cb and db are given in the following table (note: the values
listed below are from the original analysis, with a modern reanalysis producing different
values)

Software project ab bb cb db

Organic 2.4 1.05 2.5 0.38

Semi-detached 3.0 1.12 2.5 0.35

Embedded 3.6 1.20 2.5 0.32

Basic COCOMO is good for quick estimate of software costs. However it does
not account for differences in hardware constraints, personnel quality and
experience, use of modern tools and techniques, and so on.

Q10. Explain about Halstead Software Science.

Halstead Software Science:

Halstead complexity measures are software metrics introduced by Maurice Howard Halstead
in 1977as part of his treatise on establishing an empirical science of software development.
Halstead made the observation that metrics of the software should reflect the implementation
or expression of algorithms in different languages, but be independent of their execution on a
specific platform. These metrics are therefore computed statically from the code.
Halstead's goal was to identify measurable properties of software, and the relations between
them. This is similar to the identification of measurable properties of matter (like the volume,
mass, and pressure of a gas) and the relationships between them (analogous to the gas
equation). Thus his metrics are actually not just complexity metrics.

Q11. Discuss the two commonly used approaches for effort estimation.

Top-Down and Bottom-Up Methods

Top-Down Estimating Method

Top-down estimating method is also called Macro Model. Using top-down estimating
method, an overall cost estimation for the project is derived from the global properties of the
software project, and then the project is partitioned into various low-level components. The
leading method using this approach is Putnam model. This method is more applicable to early
cost estimation when only global properties are known. In the early phase of the software
development, it is very useful because there are no detailed information available.

The advantages of this method are:


 It focuses on system-level activities such as integration, documentation, configuration
management, etc., many of which may be ignored in other estimating methods and it
will not miss the cost of system-level functions.
 It requires minimal project detail, and it is usually faster, easier to implement.
The disadvantages are:
 It often does not identify difficult low-level problems that are likely to escalate costs
and sometime tends to overlook low-level components.
 It provides no detailed basis for justifying decisions or estimates.
Because it provides a global view of the software project, it usually embodies some effective
features such as cost-time trade off capability that exists in Putnam model.
Bottom-up Estimating Method

Using bottom-up estimating method, the cost of each software components is estimated and
then combines the results to arrive at an estimated cost of overall project. It aims at
constructing the estimate of a system from the knowledge accumulated about the small
software components and their interactions. The leading method using this approach is
COCOMO's detailed model.

The advantages:

 It permits the software group to handle an estimate in an almost traditional fashion


and to handle estimate components for which the group has a feel.
 It is more stable because the estimation errors in the various components have a
chance to balance out.

The disadvantages:

 It may overlook many of the system-level costs (integration, configuration


management, quality assurance, etc.) associated with software development.
 It may be inaccurate because the necessary information may not available in the early
phase.
 It tends to be more time-consuming.
 It may not be feasible when either time or personnel are limited.

Q11. Define about PERT(Program Evaluation and Review Technique)-Project


Scheduling.

The Program Evaluation and Review Technique (PERT) is a project management tool
used for planning, scheduling, and controlling complex projects. It provides a visual and
quantitative approach to project scheduling by focusing on the sequence of tasks, their
estimated durations, and identifying critical paths. Developed in the 1950s by the U.S. Navy
for the Polaris missile project, PERT is especially useful for large, time-sensitive projects
with uncertain activity durations. The PERT formula provides a weighted average that
accounts for uncertainty and variability in task durations. This result in a more realistic
estimate of the time required to complete a task.

Key Features of PERT

1. Network Diagram:
o PERT represents a project as a network of tasks (nodes) and the dependencies
between them (arrows).
o The flow of tasks progresses from the beginning to the end of the project.

2. Activity Duration Estimation:


o Each task is assigned three time estimates to account for uncertainty:
 Optimistic Time (O): the minimum time required to complete a task.
 Pessimistic Time (P): the maximum time likely to complete a task.
 Most Likely Time (M): the most probable time required to complete the
task.
o The expected time (TeT_eTe) for each task is calculated using the formula:

The PERT formula in project management is used to calculate the expected time to complete a task or
project: E = (O + 4M + P) / 6

o P This weighted average helps project managers consider potential variability in task
durations.

3. Critical Path Identification:


o PERT identifies the sequence of tasks with the longest duration, known as the critical
path.
o Tasks on the critical path determine the minimum time to complete the project; any
delays here delay the project.
o Non-critical tasks have slack time, allowing some flexibility without affecting the
project’s end date.

4. Project Scheduling and Monitoring:


o By identifying critical and non-critical activities, PERT allows managers to focus
resources on tasks that are crucial for meeting deadlines.
o It enables continuous tracking and adjustment of the schedule based on real-time
progress and changes.

Benefits of PERT

 Effective Planning: Helps in breaking down large projects into manageable tasks.
 Risk Management: Addresses uncertainty by estimating a range of times for each activity.
 Resource Optimization: Ensures that critical tasks are prioritized to prevent delays.
 Enhanced Control: Allows proactive monitoring and adjustments to stay on schedule.

Applications of PERT

PERT is widely used in various industries for projects that have:

 High levels of complexity and interdependent tasks.


 Uncertain timelines, such as R&D projects, large construction projects, and aerospace
development.

By visualizing and analyzing project tasks and dependencies, PERT provides a structured
approach to minimize risk and meet project objectives within the estimated timeframe.

Q12. Analyse the concept of Earned value analysis planning with an example.
Earned Value Analysis (EVA) is a project management technique used to measure project
performance and progress in terms of cost and schedule. By comparing planned versus actual
progress, EVA helps in identifying deviations and taking corrective actions. It combines three
key metrics—planned value (PV), earned value (EV), and actual cost (AC)—to evaluate
project performance.

Key Concepts of Earned Value Analysis

1. Planned Value (PV): The budgeted cost for the work planned or scheduled to be
completed by a certain date. It represents the baseline against which progress is
measured.
2. Earned Value (EV): The budgeted cost for the work actually completed by a certain
date. This is a measure of the actual progress in monetary terms.
3. Actual Cost (AC): The actual cost incurred for the work completed by a certain date.
It reflects what has actually been spent.

Key Performance Indicators (KPIs) in EVA

Using the above metrics, EVA provides several performance indicators:

The formula for earned value (EV) analysis is EV = % complete x budget. This formula helps
determine if a project is on track financially and in terms of progress.

Here are some other earned value analysis formulas:


 Cost variance (CV): CV = EV – AC
 Schedule variance (SV): SV = EV – PV
 Cost performance index (CPI): CPI = EV / AC
 Schedule performance index (SPI): SPI = EV / PV

Benefits of Using Earned Value in Project Management

 Risk Anticipation and Early Intervention: One of the key advantages of EV is that it
allows project managers to anticipate risks and intervene early. This prevents potential
issues from escalating. For instance, if the Cost Performance Index (CPI) calculated
using EV is less than 1, it indicates a cost overrun risk. Early identification of this risk
allows for timely intervention.
 Efficiency and ROI: Earned value (EV) helps project managers spot discrepancies and
rectify them. This improves project efficiency and Return on Investment (ROI). For
example, if the EV of a project is significantly higher than the AC, it indicates high
efficiency and a positive ROI. In conclusion, EV is crucial in enhancing project
management efficiency and effectiveness. A clear, quantifiable measure of project
performance enables project managers to make informed decisions and keep their
projects on track.
 Realistic Project Planning: Earned value analysis (EVA) helps project managers plan
realistically. It lets them set a reasonable budget and timeframe. For example, if a
project is planned to cost $100,000 and take six months, EV can help track whether
the project is adhering to these parameters. If, after three months, the EV is only
$40,000, it indicates that the project is behind schedule.
 Performance Measurement: EV provides an objective framework for tracking and
measuring the progress of different projects. It helps assess work progress against a
baseline plan, relating technical, time, and cost performance. For instance, if a
project’s Schedule Performance Index (SPI) is less than 1, it is behind schedule.
 Schedule and Budget Accuracies: EV helps measure schedule and budget accuracies,
offering a clear picture of the project’s progress. For example, if the Actual Cost (AC)
of a project is higher than its EV, it indicates a cost overrun. This insight can help
project managers take corrective actions to bring the project back on track.

An SPI of 0.8 indicates that the project is progressing at only 80% of the planned pace.

Q13. Examine the concept of RMMM model.


The Risk Mitigation, Monitoring, and Management (RMMM) Model is a framework
used in software project management to identify, evaluate, and handle risks throughout the
project lifecycle. The goal of RMMM is to anticipate potential project risks, assess their
impact, and create strategies to mitigate or manage them, ensuring a smooth project flow and
successful completion.

Key Components of the RMMM Model

1. Risk Identification:
o Identify all potential risks that could affect the project.
o Risks may be technical (e.g., technology failures), project-related (e.g., cost
overruns), or business-related (e.g., changes in market demand).

2. Risk Analysis and Assessment:


o Evaluate each identified risk in terms of its probability of occurrence and potential
impact on the project.
o Risks are typically categorized based on severity levels (e.g., high, medium, or low)
to help prioritize them.

3. Risk Mitigation:
o Develop strategies and action plans to prevent or reduce the likelihood of high-impact
risks.
o Mitigation strategies can include proactive measures like additional training,
contingency planning, or investing in new tools to lower risk probability.

4. Risk Monitoring:
o Continuously track identified risks and monitors the effectiveness of mitigation
strategies.
o Risk monitoring includes regular assessments of both the internal and external
environment to detect any changes that may introduce new risks or affect existing
ones.

5. Risk Management:
o Implement actions to respond to risks if they do occur.
o This includes contingency plans for immediate corrective action and pre-planned
responses for handling the impact of risks.

Example of the RMMM Model in Action

Consider a software project developing a new application with a strict launch deadline. The
RMMM model for this project might look like:

1. Risk Identification:
o Delays in acquiring necessary hardware.
o Possible technical issues with integrating third-party APIs.
o Unavailability of key team members.

2. Risk Analysis and Assessment:


o Probability and impact are assigned to each risk:
 Hardware delay: Medium probability, high impact (would delay project
start).
 API integration issues: High probability, medium impact (could delay
specific functionalities).
 Team member unavailability: Low probability, high impact (could slow
down work significantly).

3. Risk Mitigation:
o Hardware delay: Plan to acquire hardware early or identify backup suppliers.
o API integration issues: Conduct a technical feasibility study on APIs and ensure the
team is trained on their use.
o Team member unavailability: Cross-train other team members to cover key roles if
needed.

4. Risk Monitoring:
o Set up weekly check-ins to track progress, monitor any delays, and discuss any new
risks.
o Use a risk dashboard to flag any significant changes in the status of identified risks.

5. Risk Management:
o If hardware delays occur, initiate a backup supplier.
o If API issues are more complex than expected, escalate to a dedicated technical
support resource.
o If a key team member becomes unavailable, shift responsibilities to a cross-trained
team member temporarily.

Benefits of the RMMM Model

 Proactive Risk Management: By planning for potential issues, the model helps to avoid
disruptions.
 Improved Decision-Making: Provides a clear framework to assess risk impact and guide
project decisions.
 Efficient Resource Allocation: Directs resources toward critical risks, maximizing project
stability.
 Increased Project Success Rates: Reduces the likelihood of unanticipated setbacks, leading
to smoother project execution.

In sum, the RMMM model provides a structured approach to managing project risks,
ensuring that risks are anticipated, planned for, and actively managed to reduce the overall
impact on the project

Q14. Explain about SEI CMM and Discuss Levels of CMM (capability
maturity model)

Ans: Capability Maturity Model (CMM) is a methodology used to develop, refine


maturity of an organizations software development process. It is developed by SIE in mid
1980. It is a process improvement approach.
To assess an organization against a scale of 5 process maturity levels. It deals with the
processes should be implemented & not so much with the how processes should be
implemented. Each maturity level comprises a predefined set of process areas called KDA
(Key Process Area), these KDA – Goals, Commitment, Ability, measurement, verification.
Levels of Capability Maturity Model (CMM) are as following below.
1. Level One: Initial – Work is performed informally.
A software development organization at this level is characterized by AD HOC activities
(organization is not planned in advance.).
2. Level Two: Repeatable – Work is planned and tracked.
This level of software development organization has a basic and consistent project
management processes to TRACK COST, SCHEDULE, AND FUNCTIONALITY. The
process is in place to repeat the earlier successes on projects with similar applications.
3. Level Three: Defined – Work is well defined.
At this level the software process for both management and engineering activities are
DEFINED AND DOCUMENTED.
4. Level Four: Managed – Work is quantitatively controlled.
 Software Quality management – Management can effectively control the software
development effort using precise measurements. At this level, organization set a
quantitative quality goal for both software process and software maintenance.
 Quantitative Process Management – At this maturity level, The performance of
processes is controlled using statistical and other quantitative techniques, and is
quantitatively predictable.
5. Level Five: Optimizing – Work is Based Upon Continuous Improvement.
The key characteristic of this level is focusing on CONTINUOUSLY IMPROVING
PROCESS performance.
Key features are:
 Process change management
 Technology change management
 Defect prevention
CMMI

A maturity level is a well-defined evolutionary plateau toward achieving a mature software


process. Each maturity level provides a layer in the foundation for continuous process
improvement.

In CMMI models with a staged representation, there are five maturity levels designated by
the numbers 1 through 5

1. Initial

2. Managed

3. Defined

4. Quantitatively Managed
5. Optimizing

Q15. Briefly explain project scheduling and monitoring.

Project Scheduling and Monitoring are essential components of project management,


ensuring that project activities are planned, tracked, and controlled to meet timelines,
budgets, and objectives. Scheduling establishes the timeline and order of tasks, while
monitoring ensures that progress aligns with the schedule and goals.

Project Scheduling

Project scheduling involves planning the timeline for tasks and activities, allocating
resources, and setting deadlines. The goal of scheduling is to ensure that all project tasks are
completed in a structured and timely manner, avoiding delays and resource conflicts.

1. Key Steps in Project Scheduling:


o Define Project Activities: Break down the project into manageable tasks and
subtasks.
o Estimate Activity Durations: Estimate how long each task will take using
expert judgment, historical data, or tools like PERT (Program Evaluation and
Review Technique).
o Determine Task Dependencies: Identify relationships between tasks (e.g.,
tasks that must be completed before others can start).
o Assign Resources: Allocate team members, equipment, and other resources to
each task based on availability and skills.
o Set Milestones and Deadlines: Define significant points in the project
timeline to mark key achievements or phases.

2. Common Tools for Scheduling:


o Gantt Charts: A visual timeline that shows start and end dates for each task
and dependencies between tasks.
o Network Diagrams: Illustrate the sequence of tasks and dependencies (e.g.,
Critical Path Method) to identify the longest sequence of dependent tasks.
o Project Management Software: Tools like Microsoft Project, Asana, and
Primavera P6 automate scheduling and provide features for tracking.

3. Importance of Scheduling:
o Ensures efficient use of resources by preventing bottlenecks and avoiding
resource conflicts.
o Provides a clear roadmap for the project team, ensuring everyone understands
task priorities and deadlines.
o Allows for better forecasting of project completion time and cost.

Project Monitoring

Project monitoring is the ongoing process of tracking, reviewing, and regulating the progress
and performance of a project. Monitoring ensures that the project stays on track with its
planned schedule and objectives, and it enables corrective actions if deviations occur.

1. Key Aspects of Project Monitoring:


o Progress Tracking: Continuously assess completed tasks against the schedule
using metrics like percentage complete or milestones achieved.
o Performance Analysis: Evaluate whether the project is on track in terms of
time, cost, and quality. Techniques like Earned Value Analysis (EVA) are
useful for assessing cost and schedule performance.
o Risk Monitoring: Regularly review and update the risk management plan to
address new or evolving risks.
o Quality Control: Ensure that project deliverables meet quality standards,
conducting inspections or tests as required.
o Communication: Maintain clear and open communication with stakeholders,
providing regular updates on project status and potential issues.

2. Tools for Monitoring:


o Dashboards and Reporting Tools: Provide visual summaries of project
metrics and key performance indicators (KPIs) for quick insight into project
health.
o Project Management Software: Often includes features for tracking
progress, budgeting, and resource utilization.
o Key Performance Indicators (KPIs): Common KPIs include cost variance,
schedule variance, and resource utilization rates.

3. Benefits of Project Monitoring:


o Timely Detection of Issues: Enables early identification of problems,
allowing for quick corrective action.
o Improved Accountability: Keeps the project team aware of expectations and
progress, fostering responsibility and focus.
o Enhanced Decision-Making: Provides data-driven insights that support
strategic adjustments to keep the project aligned with its goals.
Combined Importance of Project Scheduling and Monitoring

Together, scheduling and monitoring allow project managers to create a structured plan, track
progress, and adapt to changes. Scheduling establishes the roadmap, and monitoring ensures
that the team stays on course, increasing the likelihood of meeting project objectives within
the allocated time and budget. Effective scheduling and monitoring improve project
predictability, optimize resource usage, and boost the chances of project success.

*****

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy