0% found this document useful (0 votes)
26 views174 pages

Software Project Management (20CS0544) QA

Uploaded by

jackiealex331
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views174 pages

Software Project Management (20CS0544) QA

Uploaded by

jackiealex331
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 174

Course Code: 20CS0544 R20

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR


Siddharth Nagar, Narayanavanam Road – 517583

QUESTION BANK WITH ANSWERS

Subject with Code : Software Project Management (20CS0544) Course & Branch : B.Tech - CSE
Year & Sem : IV-B.Tech & I-Sem Regulation : R20
UNIT –I
PROJECT EVALUATION AND PROJECT PLANNING
Course Code: 20CS0544 R20
1 a) What is the importance of software project management? [L1][CO1] [6M]
Software Project
A Software Project is the complete procedure of software development from
requirement gathering to testing and maintenance, carried out according to the
execution methodologies, in a specified period of time to achieve intended software
product.
Need of software project management
Software is said to be an intangible product. Software development is a kind of all
new stream in world business and there‘s very little experience in building software
products. Most software products are tailor made to fit client‘s requirements. The
most important is that the underlying technology changes and advances so
frequently and rapidly that experience of one product may not be applied to the other
one. All such business and environmental constraints bring risk in software
development hence it is essential to manage software projects efficiently.

Therefore, software project management is essential to incorporate user


requirements along with budget and time constraints.
Software Project Manager
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
Course Code: 20CS0544 R20
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, quality and customer satisfaction. Let us see few responsibilities
that a project manager shoulders -
Managing People
• Act as project leader
• Liaison with stakeholders
• Managing human resources
• Setting up reporting hierarchy etc.
Managing Project
• Defining and setting up project scope
• Managing project management activities
• Monitoring progress and performance
• Risk analysis at every phase
• Take necessary step to avoid or come out of problems
• Act as project spokesperson
Course Code: 20CS0544 R20
b) Explain different activities methodologies, setting objectives covered by
software project. [L2][CO1] [6M]
Software Management Activities
Software project management comprises of a number of activities, which contains
planning of project, deciding scope of software product, estimation of cost in
various terms, scheduling of tasks and events, and resource management. Project
management activities may include:
• Project Planning
• Scope Management
• Project Estimation
Project Planning
Software project planning is task, which is performed before the production of
software actually starts. It is there for the software production but involves no
concrete activity that has any direction connection with software production;
rather it is a set of multiple processes, which facilitates software production.
Course Code: 20CS0544 R20
Scope Management
It defines the scope of project; this includes all the activities, process need to be
done in order to make a deliverable software product. Scope management is
essential because it creates boundaries of the project by clearly defining what
would be done in the project and what would not be done. This makes project to
contain limited and quantifiable tasks, which can easily be documented and in
turn avoids cost and time overrun.
During Project Scope management, it is necessary to -
Define the scope
• Decide its verification and control
• Divide the project into various smaller parts for ease of management.
Verify the scope
• Control the scope by incorporating changes to the scope

Project Estimation
For an effective management accurate estimation of various measures is a must.
With correct estimation managers can manage and control the project more
efficiently and effectively.
Project estimation may involve the following:
• Software size estimation
Software size may be estimated either in terms of KLOC (Kilo Line of
Code) or by calculating number of function points in the software. Lines
of code depend upon coding practices and Function points vary according
to the user or software requirement.
• Effort estimation
The managers estimate efforts in terms of personnel requirement and man-
hour required to produce the software. For effort estimation software size
should be known. This can either be derived by managers‘ experience,
organization‘s historical data or software size can be converted into efforts
by using some standard formulae.
• Time estimation
Once size and efforts are estimated, the time required to produce the
software can be estimated. Efforts required is segregated into sub
Course Code: 20CS0544 R20
categories as per the requirement specifications and interdependency of
various components of software. Software tasks are divided into smaller
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
tasks, activities or events by Work Breakthrough Structure (WBS). The
tasks are scheduled on day-to-day basis or in calendar months.
The sum of time required to complete all tasks in hours or days is the total
time invested to complete the project.
Cost estimation
This might be considered as the most difficult of all because it depends
on more elements than any of the previous ones. For estimating project
cost, it is required to consider - o Size of software o Software
quality o Hardware o Additional software or tools, licenses etc.
o Skilled personnel with task-specific skills
o Travel involved o
Communication o
Training and support

METHODOLOGIES:
Project Methodologies
Following are the most frequently used project management methodologies in the
project management practice:
1 - Adaptive Project Framework
In this methodology, the project scope is a variable. Additionally, the time and the
cost are constants for the project. Therefore, during the project execution, the
project scope is adjusted in order to get the maximum business value from the
project.
2 - Agile Software Development
Agile software development methodology is for a project that needs extreme
agility in requirements. The key features of agile are its short-termed delivery
cycles (sprints), agile requirements, dynamic team culture, less restrictive project
control and emphasis on real-time communication.
3 - Crystal Methods
In crystal method, the project processes are given a low priority. Instead of the
processes, this method focuses more on team communication, team member skills,
people and interaction. Crystal methods come under agile category. 4 - Dynamic
Systems Development Model (DSDM)
This is the successor of Rapid Application Development (RAD) methodology. This
is also a subset of agile software development methodology and boasts about the
training and documents support this methodology has. This method emphasizes
more on the active user involvement during the project life cycle.
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
5 - Extreme Programming (XP)
Lowering the cost of requirement changes is the main objective of extreme
programming. XP emphasizes on fine scale feedback, continuous process, shared
understanding and programmer welfare. In XP, there is no detailed requirements
specification or software architecture built.
6 - Feature Driven Development (FDD)
This methodology is more focused on simple and well-defined processes, short
iterative and feature driven delivery cycles. All the planning and execution in this
project type take place based on the features.
7 - Information Technology Infrastructure Library (ITIL)
This methodology is a collection of best practices in project management. ITIL
covers a broad aspect of project management which starts from the organizational
management level.
8 - Joint Application Development (JAD)
Involving the client from the early stages with the project tasks is emphasized by
this methodology. The project team and the client hold JAD sessions
collaboratively in order to get the contribution from the client. These JAD sessions
take place during the entire project life cycle.
9- Lean Development (LD)
Lean development focuses on developing change-tolerance software. In this
method, satisfying the customer comes as the highest priority. The team is
motivated to provide the highest value for the money paid by the customer. 10-
PRINCE2
PRINCE2 takes a process-based approach to project management. This
methodology is based on eight high-level processes.
11- Rapid Application Development (RAD)
This methodology focuses on developing products faster with higher quality. When
it comes to gathering requirements, it uses the workshop method. Prototyping is
used for getting clear requirements and re-use the software components to
accelerate the development timelines.
In this method, all types of internal communications are considered informal. 12-
Rational Unified Process (RUP)
RUP tries to capture all the positive aspects of modern software development
methodologies and offer them in one package. This is one of the first project
management methodologies that suggested an iterative approach to software
development.
13- Scrum
This is an agile methodology. The main goal of this methodology is to improve
team productivity dramatically by removing every possible burden. Scrum projects
are managed by a Scrum master. 14- Spiral
Spiral methodology is the extended waterfall model with prototyping. This method
is used instead of using the waterfall model for large projects.
15- Systems Development Life Cycle (SDLC)
This is a conceptual model used in software development projects. In this method,
there is a possibility of combining two or more project management methodologies
Course Code: 20CS0544 R20
for the best outcome. SDLC also heavily emphasizes on the use of documentation
and has strict guidelines on it.
Course Code: 20CS0544 R20
16- Waterfall (Traditional)
This is the legacy model for software development projects. This methodology has
been in practice for decades before the new methodologies were introduced. In this
model, development lifecycle has fixed phases and linear timelines. This model is
not capable of addressing the challenges in the modern software development
domain.
Course Code: 20CS0544 R20
2 Draw the architecture of SDLC and explain in detail. [L1][CO1]
Software Development Life Cycle (SDLC) is a process used by the software [12M]
industry to design, develop and test high quality softwares. The SDLC aims to
produce a high-quality software that meets or exceeds customer expectations,
reaches completion within times and cost estimates.
• SDLC is the acronym of Software Development Life Cycle.
• It is also called as Software Development Process.
• SDLC is a framework defining tasks performed at each step in the software
development process.
• ISO/IEC 12207 is an international standard for software life-cycle
processes. It aims to be the standard that defines all the tasks required for
developing and maintaining software.
SDLC
SDLC is a process followed for a software project, within a software organization.
It consists of a detailed plan describing how to develop, maintain, replace and alter
or enhance specific software. The life cycle defines a methodology for improving
the quality of software and the overall development process.
The following figure is a graphical representation of the various stages of a typical
SDLC.

A typical Software Development Life Cycle consists of the following stages −


Stage 1: Planning and Requirement Analysis
Requirement analysis is the most important and fundamental stage in SDLC. It is
performed by the senior members of the team with inputs from the customer, the
sales department, market surveys and domain experts in the industry. This
information is then used to plan the basic project approach and to conduct product
feasibility study in the economical, operational and technical areas.
Stage 2: Defining Requirements
Course Code: 20CS0544 R20
Once the requirement analysis is done the next step is to clearly define and
document the product requirements and get them approved from the customer or
the market analysts. This is done through an SRS (Software Requirement
Specification) document which consists of all the product requirements to be
designed and developed during the project life cycle.
Stage 3: Designing the Product Architecture
SRS is the reference for product architects to come out with the best architecture for
the product to be developed. Based on the requirements specified in SRS, usually
more than one design approach for the product architecture is proposed and
documented in a DDS - Design Document Specification.
Stage 4: Building or Developing the Product
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is
performed in a detailed and organized manner, code generation can be accomplished
without much hassle.
Stage 5: Testing the Product
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However, this stage
refers to the testing only stage of the product where product defects are reported,
tracked, fixed and retested, until the product reaches the quality standards defined
in the SRS.
Stage 6: Deployment in the Market and Maintenance
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the
business strategy of that organization. The product may first be released in a limited
segment and tested in the real business environment (UAT- User acceptance testing).
SDLC Models
There are various software development life cycle models defined and designed
which are followed during the software development process. These models are also
referred as Software Development Process Models". Each process model follows a
Series of steps unique to its type to ensure success in the process of software
development.
Following are the most important and popular SDLC models followed in the industry

• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model
• Big Bang Model
Course Code: 20CS0544 R20
3 a) Illustrate the following: [L4][CO1] [6M]
Categorization of software projects
Course Code: 20CS0544 R20

Scope and Significance :


The projects are generally classified on the basis of coverage and magnitude of
their operations. So on the basis of scope projects can be National or
International.
1. National Projects –
There are also projects which are undertaken either by the government itself
or assigned to private entrepreneurs in a country. In a country like India
Public and Private sectors coexist to undertake major and minor projects.
Government projects and private projects operate in vastly different
environments, associated with different advantages and disadvantages. The
only purpose of the National Project is the growth and development of the
economy and maintenance of existing standards of living.
2. International Projects –
The projects which are embarked on by ―Foreign investors‖ either by
establishing a solitary or a branch of their unit or by mere participation in the
equity of any domestic company are called International Projects.
These can be in the form of joint ventures, MNC‘s, and collaborations between
two companies.
Type :
According to the type, projects can be industrial and non-industrial.
1. Industrial –
These are those projects which are undertaken with a view to developing the
economy.
2. Non-Industrial –
These projects can be related to welfare and maintenance of a standard of living
in an economy.
Level of Technology :
Technology plays a significant role in managing projects. Projects can be
subdivided into four categories on the basis of technology. These are as follows.
• Conventional Technology Projects –
These are the projects which use acquainted and known technology in the
continuous process. e.g. steel, cement, sugar, chemicals, and fertilizers, etc.
• Non-Conventional Technology –
Course Code: 20CS0544 R20
Such kinds of projects apply if not the latest at least contemporary mode
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
technology
e.g. projects using cranes i.e. a mechanical way of lifting.
• High-Tech Project –
Huge investments are made in technology in these types of projects, e.g., space
projects, nuclear power projects, etc.
• Low Investment Projects –
These types of projects demand low investment in technology e.g., cosmetics
and household utilities, etc.
Size and Scale of Operations :
On the basis of size and scale of operations, projects can be large scale, medium
scale, and small scale.
• Small Scale Projects –
These are the projects which can be completed within a time period of 1-2 years
and with investment below Rs. 5 crores.
• Medium Scale Projects –
These are the projects which can be completed within a time period of 2-5 years
and with investment between Rs. 5 to Rs. 10 crores.
• Large Scale Projects –
These are the projects which can be completed within a time period of 5-10
years and with investment over and above Rs. 100 crores.
Ownership and Control :
Projects can be divided into 3 categories according to their governance.
• Public Sector Projects –
These are fully owned and controlled by the government e.g., generating power
and extracting minerals, etc.
• Private Sector Projects –
These are fully owned by individuals and companies e.g., newspapers and
magazines, etc
• Joint Sector Projects –
These projects are run and controlled by both government and private
individuals are under this category.
Speed of Implementation :
According to the speed of implementation, projects can be normal, crash, and
disaster projects.
• Normal Projects –
In this category, an adequate time is allowed for implementation. It requires
minimal capital costs.
• Crash Projects –
In this category, additional capital is incurred to save time.
• Disaster Projects –
In this category, naturally capital cost will go up, but project time will get
drastically reduced. Failure of quality is accepted.
Purpose :
There is always a purpose for everything. So, the projects are classified according
to purpose as follows.
Course Code: 20CS0544 R20
• Rehabilitation Projects –
These projects are undertaken by financially sound investing groups to service
sick units. It is very risk and success are very less in such projects.
Course Code: 20CS0544 R20
• Balancing Projects –
These are undertaken to cope with changes in the supply side of economies
of factors of production, to eliminate the underutilization of the actual
capacities, and enhance efficiency and effectiveness.
• Maintenance Projects –
These projects involve overhauling the machinery, repairs, and patching up
activities at regular intervals.
• Modernization Projects –
Modernization of old plants is required to cope with the dynamic environment.
Others :
Some other types of projects are as follows.
1. Capacity Expansion Projects –
This involves enlarging the existing capacity of the products.
2. Employees Welfare Project –
The objective of such projects is to install infrastructural facilities for improving
working conditions and labor relations as well as to develop the skills of the staff.
Course Code: 20CS0544 R20
b) Setting objectives in software projects [L4][CO1] [6M]
Effective objectives in project management are specific. A specific objective
increases the chances of leading to a specific outcome. Therefore objectives
shouldn't be vague, such as "to improve customer relations," because they are
not measurable.
In many cases, teams can only proceed in a stair step fashion to achieve the
desired outcome. If they were to proceed in any other manner, they may not be
able to develop the skills or insights along the way that will enable them to
progress in a productive manner.
Objectives can often be set under three headings:
1. Performance and Quality
The end result of a project must fit the purpose for which it was intended. At one
time, quality was seen as the responsibility of the quality control department. In
more recent years the concept of total quality management has come to the fore,
with the responsibility for quality shared by all staff from top management
downwards.
1. Budget
The project must be completed without exceeding the authorised expenditure.
Financial sources are not always inexhaustible and a project might be
abandoned altogether if funds run out before completion. If that was to happen,
the money and effort invested in the project would be forfeited and written off.
In extreme cases the project contractor could face ruin.
There are many projects where there is no direct profit motive, however it is
still important to pay proper attention to the cost budgets, and financial
management remains essential.
2. Time to Completion
Actual progress has to match or beat planned progress. All significant stages of the
project must take place no later than their specified dates, to result in total
completion on or before the planned finish date. The timescale objective is
extremely important because late completion of a project is not very likely to
please the project purchaser or the sponsor.
Course Code: 20CS0544 R20
4 a) What is Software Management? Explain Management Control. [L1][CO1] [6M]
Management Principles:
1. Division of Work-
Henri believed that segregating work in the workforce amongst the worker will
enhance the quality of the product. Similarly, he also concluded that the division
of work improves the productivity, efficiency, accuracy and speed of the workers.
This principle is appropriate for both the managerial as well as a technical work
level.
2. Authority and Responsibility-
These are the two key aspects of management. Authority facilitates the
management to work efficiently, and responsibility makes them responsible for
the work done under their guidance or leadership.
3. Discipline-
Without discipline, nothing can be accomplished. It is the core value for any
project or any management. Good performance and sensible interrelation
make the management job easy and comprehensive. Employees good
behaviour also helps them smoothly build and progress in their professional
careers.
4. Unity of Command-
This means an employee should have only one boss and follow his command. If an
employee has to follow more than one boss, there begins a conflict of interest and
can create confusion.
5. Unity of Direction-
Whoever is engaged in the same activity should have a unified goal. This means
all the person working in a company should have one goal and motive which will
make the work easier and achieve the set goal easily.
6. Subordination of Individual Interest-
This indicates a company should work unitedly towards the interest of a
company rather than personal interest. Be subordinate to the purposes of an
organization. This refers to the whole chain of command in a company.
7. Remuneration-
This plays an important role in motivating the workers of a company.
Remuneration can be monetary or non-monetary. However, it should
be according to an individual‘s efforts they have made. 8.
Centralization-
In any company, the management or any authority responsible for the
decisionmaking process should be neutral. However, this depends on the size of an
organization. Henri Fayol stressed on the point that there should be a balance
between the hierarchy and division of power.
9. Scalar Chain-
Fayol on this principle highlights that the hierarchy steps should be from the top to
the lowest. This is necessary so that every employee knows their immediate senior
also they should be able to contact any, if needed.
10. Order-
Course Code: 20CS0544 R20
A company should maintain a well-defined work order to have a favourable work
culture. The positive atmosphere in the workplace will boost more positive
productivity.
11. Equity-
Course Code: 20CS0544 R20
All employees should be treated equally and respectfully. It‘s the responsibility of
a manager that no employees face discrimination.
12. Stability-
An employee delivers the best if they feel secure in their job. It is the duty of the
management to offer job security to their employees. Initiative-
The management should support and encourage the employees to take initiatives
in an organization. It will help them to increase their interest and make then
worth.
1. Esprit de Corps-
It is the responsibility of the management to motivate their employees and be
supportive of each other regularly. Developing trust and mutual understanding will
lead to a positive outcome and work environment.
Management Control:
Objectives
Project objectives should To have a successful software project, the manager and
the project team members be clearly defined. must know what will constitute
success. This will make them concentrate on what is essential to project success.

There might be more than one set of users of a system and there might be
different groups of staff who are involved its development. There is a need for
well defined objectives that are accepted by all these people. Where there is more
than one user group, then a project authority needs to be identified. Such a
project authority has overall authority over what the project is to achieve.

This authority is often held by a project steering committee, which has overall
responsibility for setting, monitoring and modifying objectives. The project
manager still has responsibility for running the project on a day to day basis, but
has to report to the steering committee at regular intervals. Only the steering
committee can authorize changes to the project objectives and resources.

Measures of effectiveness
Effective objectives are concrete and well defined. Vague aspirations such as 'to
improve customer relations' are unsatisfactory. Objectives should be such that it
is obvious to all whether the project has been successful or not. Ideally there
should be measures of effectiveness, which tell us how successful the project has
been. For example, 'to reduce customer complaints by 50%' would be more
satisfactory as an objective than 'to improve customer relations'.

Sub-objectives and goals


In order to keep things manageable, objectives might need to be broken down
into sub-objectives. Here we say that in order to achieve A we must achieve B,
C and D first. These sub-objectives are also known as goals, steps on the way
to achieving an objective, just as goals scored in a football match are steps
towards the objective of winning the match
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20

quality as per contract. dispute against contract.

Its key objective is to predict problems


or dangers as many as
possible so that such problems can be
removed on time and project can be
Its key objective is to create value for
completed in spite of all problems.
organization.

Various project management Various contract management software‘s


software‘s are Basecamp, Trello, are PandaDoc, Concord, Corridor, SAP
Asana, Nifty, etc. Ariba, etc.
Course Code: 20CS0544 R20
5 Demonstrate Project Portfolio Management in brief with suitable examples. [L2][CO2]
Project Portfolio Management [12M]
Project Portfolio Management (PPM) is a management process with the help of
methods aimed at helping the organization to acquire information and sort out
projects according to a set of criteria.
Objectives of Project Portfolio Management
• The need to create a descriptive document, which contains vital
information such as name of project, estimated timeframe, cost and
business objectives.
• The project needs to be evaluated on a regular basis to ensure that the
project is meeting its target and stays in its course.
• Selection of the team players, who will work towards achieving the
project's objectives.
Benefits of Project Portfolio Management
Greater adaptability towards change.
• Constant review and close monitoring brings about a higher return.
• Management's perspectives with regards to project portfolio management is
seen as an 'initiative towards higher return'. Therefore, this will not be
considered to be a detrimental factor to work.
• Identification of dependencies is easier to identify. This will eliminate some
inefficiency from occurring.
• Advantage over other competitors (competitive advantage).
• Helps to concentrate on the strategies, which will help to achieve the
targets rather than focusing on the project itself.
• The responsibilities of IT is focused on part of the business rather than
scattering across several.
• The mix of both IT and business projects are seen as contributors to
achieving the organizational objectives.
Project Portfolio Management Tools
There are many tools that can be used for project portfolio management.
Following are the essential features of those tools:
• A systematic method of evaluation of projects.
• Resources need to be planned.
• Costs and the benefits need to be kept on track.
• Undertaking cost benefit analysis.
Course Code: 20CS0544 R20
• Progress reports from time to time.
• Access to information as and when its required.
• Communication mechanism, which will take through the information
necessary.
Course Code: 20CS0544 R20
6 a) Describe how cost- benefits evaluation techniques & its methods with [L1][CO2] [6M]
examples.
While proceeding with a project only where the benefits outweigh the costs.
However, in order to choose among projects, need to take into account the timing
of the costs and benefits as well as the benefits relative to the size of the
investment.
Net profit
The net profit of a project is the difference between the total costs and the total
income over the life of the project. Project 2 in Table 3.2 shows the greatest net
profit but this is at the expense of a large investment. Indeed, if we had £lm to
invest, we might undertake all of the other three projects and obtain an even
greater net profit. Note also, that all projects contain an element of risk and we
might not be prepared to risk £1 m. We shall look at the effects of risk and
investment.
Payback period
The payback period is the time taken to break even or pay back the initial
investment. Normally, the project with the shortest payback period will be chosen
on the basis that an organization will wish to minimize the time that a project is 'in
debt'.
The advantage of the payback period is that it is simple to calculate and is not
particularly sensitive to small forecasting errors.
Its disadvantage as a selection technique is that it ignores the overall profitability
of the project - in fact, it totally ignores any income (or expenditure) once the
project has broken even. Thus the fact that projects 2 and 4 are, overall, more
profitable than project 3 is ignored.
Return on investment
The return on investment (ROI), also known as the accounting rate of return
Course Code: 20CS0544 R20
(ARR), provides a way of comparing the net profitability to the investment
required. There are some variations on the formula used to calculate the return on
investment but a straightforward common version is
NPV
The main difficulty with NPV for deciding between projects is selecting an
appropriate discount rate. Some organizations have a standard rate but, where this
is not the case, then the discount rate should be chosen to reflect available interest
rates (borrowing costs where the project must be funded from loans) plus some
premium to reflect the fact that software projects are inherently more risky than
lending money to a bank. The exact discount rate is normally less important than
ensuring that the same discount rate is used for all projects being compared.
However, it is important to check that the ranking of projects is not sensitive to
small changes in the discount rate - have a look at the following exercise.
Internal rate of return
One disadvantage of NPV as a measure of profitability is that, although it may be
used to compare projects, it might not be directly comparable with earnings from
other investments or the costs of borrowing capital. Such costs are usually quoted
The IRR is calculated as that percentage discount rate that would produce an NPV
of zero. It is most easily calculated using a spreadsheet or other computer program
that provides functions for calculating the IRR.
Course Code: 20CS0544 R20
b) Discuss the cash flows techniques in project development. [L2][CO2] [6M]
What Is Cash Flow Analysis?
There are three cash flow types that companies should track and analyze to
determine the liquidity and solvency of the business: cash flow from operating
activities, cash flow from investing activities and cash flow from financing
activities. All three are included on a company‘s cash flow statement.
In conducting a cash flow analysis, businesses correlate line items in those three
cash flow categories to see where money is coming in, and where it‘s going out.
From this, they can draw conclusions about the current state of the business.
Depending on the type of cash flow, bringing in money in isn‘t necessarily a good
thing. And, spending money it isn‘t necessarily a bad thing.
Key Takeaways
Cash flow analysis helps you understand how much cash a business generated or
used during a specific accounting period.
Understanding cash sources and where your cash is going is essential for
maintaining a financially sustainable business.
A business may be profitable and still experience negative cash flow or lose
money and experience positive cash flow.
Complementary measurements, such as free cash flow and unlevered free
cash flow, offer unique insights into a company‘s financial health. Preparing
a Cash Flow Statement
Let‘s first look at preparing the operating cash flow statement. The line items that
are factored into the company‘s net income and are included on the company‘s
operating cash flow statement include but are not limited to:
Cash received from sales of goods or services
The purchase of inventory or supplies
Employees‘ wages and cash bonuses
Payments to contractors

Utility bills, rent or lease payments


Interest paid on loans and other long-term debt and interest received on loans
Fines or cash settlements from lawsuits
There are two common methods used to calculate and prepare the operating
activities section of cash flow statements.
The Cash Flow Statement Direct Method takes all cash collections from
operating activities and subtracts all of the cash disbursements from the operating
activities to get the net income.
The Cash Flow Statement Indirect Method starts with net income and adds or
deducts from that amount for non-cash revenue and expense items.
The next component of a cash flow statement is investing cash flow. That bottom
line is calculated by adding the money received from the sale of assets, paying
back loans or selling stock and subtracting money spent to buy assets, stock or
loans outstanding.
Finally, financing cash flow is the money moving between a company and its
owners, investors and creditors.
Course Code: 20CS0544 R20
7 Outline the Evaluation of the Risk Process in detail. [L2][CO1]
There is a risk that software might exceed the original specification and that a [12M]
project will be completed early and under budget. That is not a risk that need
concern us.
Every project involves risk of some form. When assessing and planning a project,
concerned with the risk of the project's not meeting its objectives.
Risk identification and ranking
In any project evaluation should attempt to identify the risks and quantify their
potential effects. One common approach to risk analysis is to construct a project
risk matrix utilizing a checklist of possible risks and to classify each risk
according to its relative importance and likelihood.
Note that the importance and likelihood need to be separately assessed - we might
be less concerned with something that, although serious, is very unlikely to occur
than w ith something less serious that is almost certain.
Example-a basic project risk matrix listing some of the risks that might be
considered for a project, with their importance and likelihood classified as high
(H). medium (M), low (L) or exceedingly unlikely (—). So that projects may be
compared the list of risks must be the same for each project being assessed. It is
likely, in reality, that it would be somewhat longer than shown and more precisely
defined.
Risk Importance Likelihood
Software never completed or delivered H —
Project cancelled after design stage H —
Software delivered late M M
Development budget exceeded <. 20*2 L M
Development budget exceeded > 20*2 M L
Maintenance costs higher than estimated L L
Response time targets not met L H
Risk and net present value
Where a project is relatively risky it is common practice to use a higher discount
rate to calculate net present value. This addition or risk premium, might, for

example, be an additional 2% for a reasonably safe project or 5% for a fairly risky


one. Projects may be categorized as high, medium or low risk using a scoring
method and risk premiums designated for each category. The premiums, even if
arbitrary, provide a consistent method of taking risk into account.
Course Code: 20CS0544 R20
8 Explain briefly strategic [L2][CO1]
program management. [12M]

While project management takes a project from its starting point to its end,
strategic project management looks at the big picture. It links the project to how it
benefits the company‘s efficiency and competitiveness.
Strategic project management identifies and implements the organisation‘s
longterms goals and objectives into the project. With top tier management
involvement, it explains why the organisation exists and the context within which
it operates.
There are three common components which drive the project to its ultimate
goal for the company: 1. Strategic analysis
This forms the basis for which projects an organisation chooses to undertake. Each
project needs to link to the organisation‘s mission and be key to meeting long-term
objectives.
However, bearing in mind that strategic management is about the big picture, it
also addresses external factors that could affect progress. Thus, project managers
often use strategic analysis tools such as PESTLE to identify potential issues and
minimise their impact.
2. Strategic choice
Just how does a company decide which projects to be involved with? Managing
multiple projects is a complex task, and something that project managers do in
their daily routine. But deciding on the ‗right‘ projects is an important step which
requires a strategic choice.
Essentially, it means identifying projects that meet the aspirations and expectations
of stakeholders, while also playing to the company‘s strengths. There‘s also a need
to identify and take advantage of external opportunities, while avoiding external
threats.
3. Strategic implementation
With the scene set, the third stage of strategic management is implementation.
Here, strategic project management sets out the long-, medium- and short-term
goals for projects and programmes.
Every company wants to grow. So they need to take advantage of opportunities they
create for themselves and optimise external influences. Strategic
Course Code: 20CS0544 R20
implementation examines all kinds of benefits, including:
• The use and benefits of collaborative tools in projects
• How people and resources are assigned
• The ‗why?‘ of projects, not just at a base level, but from the top of a
company.
Measuring the success of strategic project management
Any strategy and project within the ‗bigger picture‘ needs to have indicators
to measure success. The same is true for strategic project management.
Strategic project managers often use these four categories of performance
measurement:
1. Finance
2. Customer
3. Learning and growth
4. Internal business processes.
Course Code: 20CS0544 R20
9 [L3][CO2]
[12M]

Illustrate Step wise project planning with a neat diagram.


Course Code: 20CS0544 R20
Planning is the most difficult process in project management. The framework
described is called the Stepwise method to help to distinguish it from other
methods.

Step 0: Select Project

Step 1: Identify project scope and objectives


Step 1.1 : Identify objectives and practical measures of the effectiveness in
meeting those objectives
Step 1.2 : Establish a project authority
Course Code: 20CS0544 R20
Step 1.3 : Stakeholder analysis - identify all stakeholders in the project and their
interests.
Step 1.4 : Modify objectives in the light of stakeholder analysis.

Step 1.5 : Establish methods of communication with all parties.

Step 2 : Identify project infrastructure


Step 2.2 : Identify installation standard and procedures
Step 2.3 : Identify project team organization

Step 3 : Analyse project characteristics


Step 3.1 : Distinguish the project as either objectives- or product-driven.
Step 3.2 : Analyse other project characteristics
Step 3.3 : Identify high-level project risks
Step 3.4 : Take into account use requirements concerning implementation
Step 3.5 : Select development methodology and life-cycle approach
Step 3.6 : Review overall resource estimates

Step 4 : Identify project products and activities


Step 4.1 : Identify and describe project products
Step 4.2 : Document generic product flows
Step 4.3 : Recognize product instances
Step 4.4 : Produce ideal activity network
Step 4.5 : Modify the ideal to take into account need for stages and checkpoints

Step 5 : Estimate effort for each activity


Step 5.1 : Carry out bottom-up estimates
- distinguish carefully between effort and elapsed time Step 5.2 : Revise plan
to create ontrollable activities

- breakup very long activities into a series of smaller ones


- bundle up very short activities

Step 6 : Identify activity risks


Step 6.1 : Identify and quantify activity based risks
- damage if risk occurs
- likelihood if risk occuring
Step 6.2 : Plan risk reduction and contingency measures
- risk reduction : activity to stop risk occuring
- contingency : action if risk does occurs
Step 6.3 : Adjust overall plans and estimates to take account of risks

Step 7 : Allocate resources


Course Code: 20CS0544 R20
Step 7.1 : Identify and allocate resources
Step 7.2 : Revise plans and estimates to take into account resource constraints
Step 8 : Review/ Publicize plans
Step 8.1 : Review quality aspects of the project plan
Course Code: 20CS0544 R20
Step 8.2 : Documentr plans and obtain agreement

Step 9 and 10 : Execute plan. Lower levels of planning


Course Code: 20CS0544 R20
10 a) Explain the following terms: [L1][CO2] [6M]

What are the steps involved in stepwise planning?


Course Code: 20CS0544 R20
Planning is the most difficult process in project management. The framework
described is called the Stepwise method to help to distinguish it from other
methods.

Step 0: Select Project

Step 1: Identify project scope and objectives


Step 1.1 : Identify objectives and practical measures of the effectiveness in
meeting those objectives
Step 1.2 : Establish a project authority
Step 1.3 : Stakeholder analysis - identify all stakeholders in the project and their
interests.
Step 1.4 : Modify objectives in the light of stakeholder analysis.

Step 1.5 : Establish methods of communication with all parties.

Step 2 : Identify project infrastructure


Step 2.2 : Identify installation standard and procedures
Step 2.3 : Identify project team organization

Step 3 : Analyse project characteristics


Course Code: 20CS0544 R20
Step 3.1 : Distinguish the project as either objectives- or product-driven.
Step 3.2 : Analyse other project characteristics
Step 3.3 : Identify high-level project risks
Step 3.4 : Take into account use requirements concerning implementation
Step 3.5 : Select development methodology and life-cycle approach
Step 3.6 : Review overall resource estimates

Step 4 : Identify project products and activities


Step 4.1 : Identify and describe project products
Step 4.2 : Document generic product flows
Step 4.3 : Recognize product instances
Step 4.4 : Produce ideal activity network
Step 4.5 : Modify the ideal to take into account need for stages and checkpoints

Step 5 : Estimate effort for each activity


Step 5.1 : Carry out bottom-up estimates
- distinguish carefully between effort and elapsed time
Step 5.2 : Revise plan to create ontrollable activities

- breakup very long activities into a series of smaller ones


- bundle up very short activities

Step 6 : Identify activity risks


Step 6.1 : Identify and quantify activity based risks
- damage if risk occurs
- likelihood if risk occuring
Step 6.2 : Plan risk reduction and contingency measures
- risk reduction : activity to stop risk occuring
- contingency : action if risk does occurs
Step 6.3 : Adjust overall plans and estimates to take account of risks

Step 7 : Allocate resources


Step 7.1 : Identify and allocate resources
Step 7.2 : Revise plans and estimates to take into account resource constraints
Step 8 : Review/ Publicize plans
Step 8.1 : Review quality aspects of the project plan
Step 8.2 : Documentr plans and obtain agreement

Step 9 and 10 : Execute plan. Lower levels of planning


Course Code: 20CS0544 R20
b) Mention the characteristics of software projects. [L1][CO2] [6M]
1. A clear and realistic goal
You know what the short and long-term goals are. You fundamentally believe that
reaching these goals matters. There is a sense of urgency, and people are unhappy
when you don‘t deliver. 2. Powerful team leadership
Your team leader knows what business value to deliver. The surrounding
organization, as well as the team, respects, and honors his/her choices. This leader
is a single person who takes full responsibility for the results of the team. In scrum
terms, this is what we would call a ―great product owner.‖
3. Sense of ownership
Your team feels responsible for the outcome of the project. You spend the
customer‘s money as is if it is your own, both in respect to functionality and the
technical solution.
4. Commitment to quality
You can count on each member of your team to deliver high-quality work on time.
It is ok to give feedback when standards aren‘t met. Issues are resolved in time.
You have proper automation in place for testing and delivery.
5. Getting things done
It is possible to get things done. ―Done‖ means business value delivered to
production. Your team can independently deliver iterations to production. You go
live from day one. If you depend on other parties, they deliver with quality and on
time, or don‘t impact your results.
6. Psychological safety
You can take risks in your team without feeling insecure. Your teammates give and
receive honest feedback. You learn from each other. Everybody is open about the
progress and structure of their work and their own strengths and weaknesses.
7. The right skills in your team
You have all the skills in your team that are necessary to accomplish the work that
needs to be done. Each team member feels included and is able to contribute to the
results of the team.
8. Your tech-stack is a right fit
The technology fits the client, the project and the expected scale. It also is
sustainable, which means you can find people who can take over if either one of
your teammates decides to move on to other projects. The solution fits the problem,
not the recent buzzwords or latest hype.
Course Code: 20CS0544 R20

UNIT–II
PROJECT LIFECYCLE AND EFFORT ESTIMATION
Course Code: 20CS0544 R20
1 a) List out the different Software process models? [L1][CO2] [6M]
Software Processes A software process is the set of activities and associated
outcome that produce a software product. Software engineers mostly carry out
these activities. These are four key process activities, which are common to all
software processes. These activities are:
1. Software specifications: The functionality of the software and
constraints on its operation must be defined.
2. Software development: The software to meet the requirement must be
produced.
3. Software validation: The software must be validated to ensure that it
does what the customer wants.
4. Software evolution: The software must evolve to meet changing client
needs.
Software Crisis
1. Size: Software is becoming more expensive and more complex with the
growing complexity and expectation out of software. For example, the
code in the consumer product is doubling every couple of years.
2. Quality: Many software products have poor quality, i.e., the software
products defects after putting into use due to ineffective testing technique.
For example, Software testing typically finds 25 errors per 1000 lines of
code.
3. Cost: Software development is costly i.e. in terms of time taken to develop
and the money involved. For example, Development of the FAA's
Advanced Automation System cost over $700 per lines of code.
4. Delayed Delivery: Serious schedule overruns are common. Very often the
software takes longer than the estimated time to develop, which in turn
leads to cost shooting up. For example, one in four large-scale
development projects is never completed.
Program vs. Software
Software is more than programs. Any program is a subset of software, and it
becomes software only if documentation & operating procedures manuals are
prepared.
There are three components of the software as shown in fig:
Course Code: 20CS0544 R20
1. Program: Program is a combination of source code & object code.
2. Documentation: Documentation consists of different types of manuals.
Examples of documentation manuals are: Data Flow Diagram, Flow Charts, ER
diagrams, etc.

3. Operating Procedures: Operating Procedures consist of instructions to set


up and use the software system and instructions on how react to the system failure.
Example of operating system procedures manuals is: installation guide, Beginner's
guide, reference guide, system administration guide, etc.

The Software Process Model


A software process model is a specified definition of a software process, which is
presented from a particular perspective. Models, by their nature, are a
simplification, so a software process model is an abstraction of the actual process,
which is being described. Process models may contain activities, which are part of
the software process, software product, and the roles of people involved in software
Course Code: 20CS0544 R20
engineering. Some examples of the types of software process models that may be
produced are:
1. A workflow model: This shows the series of activities in the process
Course Code: 20CS0544 R20
along with their inputs, outputs and dependencies. The activities in this
model perform human actions.

2. A dataflow or activity model: This represents the process as a set of


activities, each of which carries out some data transformations. It shows
how the input to the process, such as a specification is converted to an
output such as a design. The activities here may be at a lower level than
activities in a workflow model. They may perform transformations carried
out by people or by computers.

3. A role/action model: This means the roles of the people involved in the
software process and the activities for which they are responsible.
Course Code: 20CS0544 R20

4. The waterfall approach: This takes the above activities and produces
them as separate process phases such as requirements specification,
software design, implementation, testing, and so on. After each stage is
defined, it is "signed off" and development goes onto the following stage.

5. Evolutionary development: This method interleaves the activities of


specification, development, and validation. An initial system is rapidly
developed from a very abstract specification.
Course Code: 20CS0544 R20
b) Explain the various stages involved in the waterfall model with a neat [L2][CO2] [6M]
diagram?
The Waterfall Model was the first Process Model to be introduced. It is also
Course Code: 20CS0544 R20
referred to as a linear-sequential life cycle model. It is very simple to understand
and use. In a waterfall model, each phase must be completed before the next phase
can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
The waterfall Model illustrates the software development process in a linear
sequential flow. This means that any phase in the development process begins
only if the previous phase is complete. In this waterfall model, the phases do not
overlap.
Waterfall Model - Design
Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach, the
whole process of software development is divided into separate phases. In this
Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
The following illustration is a representation of the different phases of the Waterfall
Model.

The sequential phases in Waterfall model are −


• Requirement Gathering and analysis − All possible requirements of the
system to be developed are captured in this phase and documented in a
requirement specification document.
• System Design − The requirement specifications from first phase are
studied in this phase and the system design is prepared. This system design
helps in specifying hardware and system requirements and helps in
defining the overall system architecture.
• Implementation − With inputs from the system design, the system is first
developed in small programs called units, which are integrated in the next
Course Code: 20CS0544 R20
phase. Each unit is developed and tested for its functionality, which is
referred to as Unit Testing.
• Integration and Testing − All the units developed in the implementation
Course Code: 20CS0544 R20
phase are integrated into a system after testing of each unit. Post integration
the entire system is tested for any faults and failures.
• Deployment of system − Once the functional and non-functional testing
is done; the product is deployed in the customer environment or released
into the market.
• Maintenance − There are some issues which come up in the client
environment. To fix those issues, patches are released. Also to enhance the
product some better versions are released. Maintenance is done to deliver
these changes in the customer environment.
Course Code: 20CS0544 R20
2 a) Demonstrate the following Process models- The [L2][CO2] [6M]
Spiral Model
The spiral model combines the idea of iterative development with the systematic,
controlled aspects of the waterfall model. This Spiral model is a combination of
iterative development process model and sequential linear development model i.e.
the waterfall model with a very high emphasis on risk analysis. It allows
incremental releases of the product or incremental refinement through each
iteration around the spiral.
Spiral Model - Design
The spiral model has four phases. A software project repeatedly passes through
these phases in iterations called Spirals.
Identification
This phase starts with gathering the business requirements in the baseline spiral.
In the subsequent spirals as the product matures, identification of system
requirements, subsystem requirements and unit requirements are all done in this
phase.
This phase also includes understanding the system requirements by continuous
communication between the customer and the system analyst. At the end of the
spiral, the product is deployed in the identified market.
Design
The Design phase starts with the conceptual design in the baseline spiral and
involves architectural design, logical design of modules, physical product design
and the final design in the subsequent spirals.
Construct or Build
The Construct phase refers to production of the actual software product at every
spiral. In the baseline spiral, when the product is just thought of and the design is
being developed a POC (Proof of Concept) is developed in this phase to get
customer feedback.
Then in the subsequent spirals with higher clarity on requirements and design
details a working model of the software called build is produced with a version
number. These builds are sent to the customer for feedback.
Evaluation and Risk Analysis
Risk Analysis includes identifying, estimating and monitoring the technical
feasibility and management risks, such as schedule slippage and cost overrun.
Course Code: 20CS0544 R20
After testing the build, at the end of first iteration, the customer evaluates the
software and provides feedback.
The following illustration is a representation of the Spiral Model, listing the
activities in each phase.

Based on the customer evaluation, the software development process enters the
next iteration and subsequently follows the linear approach to implement the
feedback suggested by the customer. The process of iterations along the spiral
continues throughout the life of the software.
Spiral Model Application
The Spiral Model is widely used in the software industry as it is in sync with the
natural development process of any product, i.e. learning with maturity which
involves minimum risk for the customer as well as the development firms.
The following pointers explain the typical uses of a Spiral Model −
When there is a budget constraint and risk evaluation is
important.
• For medium to high-risk projects.
• Long-term project commitment because of potential changes to economic
priorities as the requirements change with time.
• Customer is not sure of their requirements which is usually the case.
• Requirements are complex and need evaluation to get clarity.
• New product line which should be released in phases to get enough
customer feedback.
• Significant changes are expected in the product during the development
cycle.
Spiral Model - Pros and Cons
The advantage of spiral lifecycle model is that it allows elements of the product
to be added in, when they become available or known. This assures that there is
no conflict with previous requirements and design.
This method is consistent with approaches that have multiple software builds and
releases which allows making an orderly transition to a maintenance activity.
Course Code: 20CS0544 R20
Another positive aspect of this method is that the spiral model forces an early user
involvement in the system development effort.
On the other side, it takes a very strict management to complete such products
Course Code: 20CS0544 R20
and there is a risk of running the spiral in an indefinite loop. So, the discipline of
change and the extent of taking change requests is very important to develop and
deploy the product successfully.
The advantages of the Spiral SDLC Model are as follows −
• Changing requirements can be accommodated.
• Allows extensive use of prototypes.
• Requirements can be captured more accurately.
• Users see the system early.
• Development can be divided into smaller parts and the risky parts can be
developed earlier which helps in better risk management.
The disadvantages of the Spiral SDLC Model are as follows −
• Management is more complex.
• End of the project may not be known early.
• Not suitable for small or low risk projects and could be expensive for
small projects.
• Process is complex
• Spiral may go on indefinitely.
• Large number of intermediate stages requires excessive documentation.

b) Rapid Application Development [L2][CO2] [6M]


RAD is a linear sequential software development process model that emphasizes
a concise development cycle using an element based construction approach. If the
requirements are well understood and described, and the project scope is a
constraint, the RAD process enables a development team to create a fully
functional system within a concise time period.
RAD (Rapid Application Development) is a concept that products can be
developed faster and of higher quality through:
o Gathering requirements using workshops or focus groups o Prototyping
and early, reiterative user testing of designs o The re-use of
software components
o A rigidly paced schedule that refers design improvements to the next
product version
o Less formality in reviews and other team communication
Course Code: 20CS0544 R20

The various phases of RAD are as follows:


1.Business Modelling: The information flow among business functions is defined
by answering questions like what data drives the business process, what data is
generated, who generates it, where does the information go, who process it and so
on.
2. Data Modelling: The data collected from business modeling is refined
into a set of data objects (entities) that are needed to support the business. The
attributes (character of each entity) are identified, and the relation between these
data objects (entities) is defined.
3. Process Modelling: The information object defined in the data modeling
phase are transformed to achieve the data flow necessary to implement a business
function. Processing descriptions are created for adding, modifying, deleting, or
retrieving a data object.
4. Application Generation: Automated tools are used to facilitate
construction of the software; even they use the 4th GL techniques.
5. Testing & Turnover: Many of the programming components have already
been tested since RAD emphasis reuse. This reduces the overall testing time. But
the new part must be tested, and all interfaces must be fully exercised.
Advantage of RAD Model o This model is flexible for change. o In this
model, changes are adoptable. o Each phase in RAD brings highest priority
functionality to the customer. o It reduced development time.
o It increases the reusability of features.
Disadvantage of RAD Model o It required
highly skilled designers. o All
application is not compatible with RAD.
o For smaller projects, we cannot use the RAD model. o On the high
technical risk, it's not suitable.
o Required user involvement.
Course Code: 20CS0544 R20
3 a) Differentiate between strategic assessment and technical assessment? [L4][CO2] [6M]
Course Code: 20CS0544 R20
Strategic assessment
Strategic assessments are landscape-scale assessments defined under the
Environment Protection and Biodiversity Conservation Act 1999 (EPBC
Act).
They allow a big-picture approach to protecting nationally significant
(protected) animals, plants, habitats or places. We call these things 'protected
matters'.
This approach can be more efficient than doing project-by-project assessments.
Strategic assessments provide greater long-term certainty for the community,
government, and business by identifying:
• areas that are protected from development and activities
• areas where development and activity is allowed the type
of development and activity allowed the conditions of
approval.
A strategic assessment is useful for:
• a consistent approach across jurisdictional boundaries
• large-scale housing development and associated infrastructure
• areas with proposals for different types of industries or other
development activities
• implementing landscape-scale policies, plans or programs to manage fire,
vegetation, resources or pests.
Key features and steps of a strategic assessment
A strategic assessment is a collaboration between the Australian Government and
a strategic assessment partner.
This partner could be:
• an Australian Government department or agency
• a state or territory government or agency
• a local government or authority
• an urban development industry
• an Aboriginal Land Council
• a mining or resource company.
Partners consider the needs of the development or activity, while making sure to
deliver agreed environmental outcomes.
Steps to a strategic assessment
Design, preparation and approval follows these steps:
1. After initial negotiations, the Environment minister and the strategic
assessment partner sign an agreement to undertake a strategic assessment
and develop draft terms of reference.
2. The draft terms of reference are available for public comment for at least
28 days before the minister finalises them.
3. The strategic assessment partner prepares a draft strategic impact
assessment report, and a draft policy, plan or program document.
4. These draft documents are available for public review and comment for at
least 28 days.
5. The minister considers public feedback and may recommend changes to
these draft documents.
Course Code: 20CS0544 R20
6. If appropriate, the minister endorses the resulting policy, plan or program
document.
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
7. The minister may also approve classes of actions and attach conditions
informed by earlier steps. These conditions appear in the approval notice
the minister signs, which is published on the department's website.
Technical assessment
A technical assessment is a test that a potential employer gives you to get a
concrete understanding of your abilities, skills, and knowledge. In tech, they‘re
usually used to see if your knowledge of a certain coding language or computer
program fits the job position you‘re applying for. Employers are very invested in
finding employees whose skills match what they‘re looking for, and who have
the ability to learn any other skills that are needed for the job.
A potential employer might ask you to complete a technical assessment anytime
during the hiring process, though they‘re more likely to be administered in the
final stages of searching for a candidate. Sometimes the employer will offer the
technical assessment in-house. Other times, a technical assessment might be
offered by a third party or via a computer assessment. The results may be shared
with you immediately, transmitted to the potential employer, or never discussed.
It varies widely by employer and assessment.

some benefits of technical assessments being used in the recruitment


process:
1 - More accurate hiring
When employers hire new candidates, it‘s in their best interest and in the best
interest of the candidates that they find people whose skills accurately match the
needs of the position. For employers, the wrong candidate can be costly in both
time and money. Someone who is unskilled will need extra training time,
education, or may not be a good fit for the company at all. For job seekers,
technical assessments can help you find a job position that is a perfect fit for
you: just challenging enough to keep things interesting, but not so far above your
skill level that you feel stressed and incapable.
2 - Reduce bias and discrimination
Unfortunately, bias and discrimination in hiring remain common. Affinity bias,
or the unconscious preference for people who look, talk, act, and think like us, is
a psychological trap we are predisposed to fall into. And racism, sexism, ageism,
and ableism also cause discrimination and hiring bias.

While technical assessments may feel impersonal and unnecessary, they can
actually help reduce bias in the hiring process by providing objective data on
individuals‘ knowledge.
3 - Identify practical knowledge
Though education history does give employers a good idea of a person‘s skill
set, it isn‘t a guarantee of aptitude. There‘s a difference between understanding a
coding language well enough to pass a class or earn a certification, and
understanding a coding language well enough to use it to build an app or
website. Generally, employers prefer practical skills over theoretical
understanding. Technical assessments can help identify gaps between learning
and practical ability. 4 - Quantify soft skills
Course Code: 20CS0544 R20
You‘d think that a technical assessment would skip right over soft skills in favor
Course Code: 20CS0544 R20
of hard skills. But technical assessments are actually a great way to show your soft
skills. With only hard skills but no soft skills such as problem solving, creativity,
ingenuity, patience, and persistence, you would never be able to excel on a
technical assessment. This means that these tests allow potential employers to see
evidence of these important soft skills, which is incredibly valuable because those
can be difficult to identify and judge from interviews and resumes.
5 - Faster hiring process
If you‘re actively job hunting, it‘s likely that you want to get settled in a new job
as soon as possible. But much of the time, for various reasons, the hiring process
can be slow and inefficient, leaving you in limbo with your current employer, or
lingering in unemployment. Technical assessments take much of the guesswork out
of the hiring process, which can shorten the time between first contact and first day
of work. It‘s a win-win situation.
Course Code: 20CS0544 R20
b) Describe about Agile process Model. [L1][CO2] [6M]
An agile methodology is an iterative approach to software development. Each
iteration of agile methodology takes a short time interval of 1 to 4 weeks. The agile
development process is aligned to deliver the changing business requirement. It
distributes the software with faster and fewer changes.
The single-phase software development takes 6 to 18 months. In single-phase
development, all the requirement gathering and risks management factors are
predicted initially.
The agile software development process frequently takes the feedback of workable
product. The workable product is delivered within 1 to 4 weeks of iteration.

Roles in Agile
There are two different roles in a Agile methodology. These are the Scrum Master
and Product Owner.
1. Scrum Master
The Scrum Master is a team leader and facility provider who helps the team
member to follow agile practices, so that the team member meets their
commitments and customers requirements. The scrum master plays the following
responsibilities:
o They enable the close co-operation between all the roles and functions. o
They remove all the blocks which occur.
o They safeguard the team from any disturbances. o They work with the
organization to track the progress and processes of
Course Code: 20CS0544 R20
the company.
o They ensure that Agile Inspect & Adapt processes are leveraged
correctly which includes o Planned meetings o Daily stand-ups o
Demo
o Review
o Retrospective meetings, and o Facilitate team meetings
and decision-making process.
2. Product Owner
The Product Owner is one who runs the product from a business perspective.
The Product Owner plays the following responsibilities:
o He defines the requirements and prioritizes their values.
o He sets the release date and contents. o He takes an active role in iteration
and releasing planning meetings. o He ensures that the team is working on the
most valued requirement.
o He represents the voice of the customer. o He accepts the user stories that
meet the definition of done and defined acceptance criteria.

4 Describe incremental delivery Plan model long with iterative process [L1][CO3] [12M]
model?
This is similar to the 'incremental prototyping' approach. One Principles of
Software of the most prominent advocates of this approach is Tom Gilb. The
approach Engineering Management involves breaking the system down into
small components which are then by Tom Gilb, published by implemented and
delivered in sequence. Each component that is delivered must Addison-Wesley in
1988, actually give some benefit to the user.
Course Code: 20CS0544 R20

Figure: Intentional incremental delivery. Advantages


of this approach
These are some of the justifications given for the approach:
• the feedback from early increments can influence the later stages;
• the possibility of changes in requirements is not so great as with large
monolithic projects because of the shorter timespan between the design of a
component and its delivery;
• users get benefits earlier than with a conventional approach;
• early delivery of some useful components improves cash flow, because
you get some return on investment early on;
• smaller sub-projects are easier to control and manage;
• 'gold-plating', the requesting of features that are unnecessary and not in
fact used, should be less as users will know that they get more than one
opportunity to make their requirements known: if a feature is not in the current
increment then it can be included in the next;
• the project can be temporarily abandoned if more urgent work crops up;
• job satisfaction is increased for developers who see their labours bearing
fruit at regular, short, intervals.
Disadvantages
On the other hand these disadvantages have been put forward:
• 'software breakage', that is, later increments might require the earlier
increments to be modified;
• developers might be more productive working on one large system than
on a series of smaller ones.
Course Code: 20CS0544 R20
5 a) What are the different categories of project costs? [L1][CO3] [6M]

The 5 costs they cover are:

1. Direct cost
2. Indirect cost
3. Fixed cost
4. Variable cost
5. Sunk cost

Direct cost
Direct costs are those directly linked to doing the work of the project. For
example, this could include hiring specialised contractors, buying software
licences or commissioning your new building.

Indirect cost
These costs are not specifically linked to your project but are the cost of doing
business overall. Examples are heating, lighting, office space rental (unless your
project gets its own offices hired specially), stocking the communal coffee
machine and so on.

Fixed cost
Fixed costs are everything that is a one-off charge. These fees are not linked to
how long your project goes on for. So if you need to pay for one-time advertising
to secure a specialist software engineer, or you are paying for a day of Agile
consultancy to help you start the project up the best way, those are fixed costs.

Variable cost
These are the opposite of fixed costs - charges that change with the length of
your project. It's more expensive to pay staff salaries over a 12 month project
than a 6 month one. Machine hire over 8 weeks is more than for 3 weeks. You get
the picture.

Sunk cost
These are costs that have already been incurred. They could be made up of any of
the types of cost above but the point is that they have happened. The money has
gone. These costs are often forgotten in business cases, but they are essential to
know about

―Sunk cost is a loss which should not play any part in determining the future of
the project." Unfortunately, project sponsors and other senior executives (and
even project managers) often value completion over usefulness and it does take
courage to suggest to your sponsor that you stop a project that has already seen
significant investment.
Course Code: 20CS0544 R20
b) Demonstrate the extreme programming process models. [L2][CO2] [6M]
Extreme Programming builds on these activities and coding. It is the detailed (not
the only) design activity with multiple tight feedback loops through effective
implementation, testing and refactoring continuously.
Course Code: 20CS0544 R20
Extreme Programming is based on the following values −
• Communication
• Simplicity
• Feedback
• Courage
• Respect
Definition:- XP is a lightweight, efficient, low-risk, flexible, predictable, scientific,
and fun way to develop a software.
eXtreme Programming (XP) was conceived and developed to address the specific
needs of software development by small teams in the face of vague and changing
requirements.
Extreme Programming is one of the Agile software development methodologies.
It provides values and principles to guide the team behavior. The team is expected
to self-organize. Extreme Programming provides specific core practices where −
• Each practice is simple and self-complete.
• Combination of practices produces more complex and emergent behavior.
This can be achieved with −
• Emphasis on continuous feedback from the customer
• Short iterations
• Design and redesign
• Coding and testing frequently
• Eliminating defects early, thus reducing costs
• Keeping the customer involved throughout the development
• Delivering working product to the customer Extreme Programming
involves −
• Writing unit tests before programming and keeping all of the tests running
at all times. The unit tests are automated and eliminates defects early, thus
reducing the costs.
• Starting with a simple design just enough to code the features at hand and
redesigning when required.
• Programming in pairs (called pair programming), with two programmers
at one screen, taking turns to use the keyboard. While one of them is at the
keyboard, the other constantly reviews and provides inputs.
• Integrating and testing the whole system several times a day.
• Putting a minimal working system into the production quickly and
upgrading it whenever required.
• Keeping the customer involved all the time and obtaining constant
feedback.
Iterating facilitates the accommodating changes as the software evolves with the
changing requirements.
Course Code: 20CS0544 R20

Extreme Programming takes the effective principles and practices to extreme


levels.
• Code reviews are effective as the code is reviewed all the time.
• Testing is effective as there is continuous regression and testing.
• Design is effective as everybody needs to do refactoring daily.
• Integration testing is important as integrate and test several times a day.
• Short iterations are effective as the planning game for release planning and
iteration planning.

Extreme Programming Advantages


Extreme Programming solves the following problems often faced in the software
development projects −
• Slipped schedules − and achievable development cycles ensure timely
deliveries.
• Cancelled projects − Focus on continuous customer involvement ensures
transparency with the customer and immediate resolution of any issues.
• Costs incurred in changes − Extensive and ongoing testing makes sure the
changes do not break the existing functionality. A running working system
always ensures sufficient time for accommodating changes such that the
current operations are not affected.
• Production and post-delivery defects: Emphasis is on − the unit tests to
detect and fix the defects early.
• Misunderstanding the business and/or domain − Making the customer a
part of the team ensures constant communication and clarifications.
Course Code: 20CS0544 R20
• Business changes − Changes are considered to be inevitable and are
accommodated at any point of time.
Course Code: 20CS0544 R20
Staff turnover − Intensive team collaboration ensures enthusiasm and good
will. Cohesion of multi-disciplines fosters the team spirit.
Course Code: 20CS0544 R20
6 Define SCRUM. Discuss with a neat diagram macro and micro processes that [L1][CO3] [12M]
you Observe in managing iterative processes.
Scrum is the type of Agile framework. It is a framework within which people
can address complex adaptive problem while productivity and creativity of
delivering product is at highest possible values. Scrum uses Iterative process.
Silent features of Scrum are:
• Scrum is light-weighted framework
• Scrum emphasizes self-organization
• Scrum is simple to understand
• Scrum framework help the team to work together Lifecycle of Scrum:

Sprint:
A Sprint is a time-box of one month or less. A new Sprint starts immediately after
the completion of the previous Sprint.
Release:
When the product is completed then it goes to the Release stage.
Sprint Review:
If the product still have some non-achievable features then it will be checked in
this stage and then the product is passed to the Sprint Retrospective stage.
Sprint Retrospective:
In this stage quality or status of the product is checked.
Product Backlog:
According to the prioritize features the product is organized.
Sprint Backlog:
Sprint Backlog is divided into two parts Product assigned features to sprint and
Sprint planning meeting.
Advantage of using Scrum framework:
• Scrum framework is fast moving and money efficient.
• Scrum framework works by dividing the large product into small
subproducts. It‘s like a divide and conquer strategy
• In Scrum customer satisfaction is very important.
• Scrum is adaptive in nature because it have short sprint.
Course Code: 20CS0544 R20
• As Scrum framework rely on constant feedback therefore the quality of
product increases in less amount of time Disadvantage of using Scrum
framework:
• Scrum framework do not allow changes into their sprint.
• Scrum framework is not fully described model. If you wanna adopt it you need
to fill in the framework with your own details like Extreme Programming(XP),
Kanban, DSDM.
• It can be difficult for the Scrum to plan, structure and organize a project that
lacks a clear definition.
• The daily Scrum meetings and frequent reviews require substantial resources.
Course Code: 20CS0544 R20
7 Describe various software effort and cost estimation techniques including [L1][CO3] [12M]
examples.
COCOMO MODEL
Boehm proposed COCOMO (Constructive Cost Estimation Model) in
1981.COCOMO is one of the most generally used software estimation models in
the world. COCOMO predicts the efforts and schedule of a software product
based on the size of the software.
The necessary steps in this model are:
1. Get an initial estimate of the development effort from evaluation of
thousands of delivered lines of source code (KDLOC).
2. Determine a set of 15 multiplying factors from various attributes of the
project.
3. Calculate the effort estimate by multiplying the initial estimate with all
the multiplying factors i.e., multiply the values in step1 and step2. The
initial estimate (also called nominal estimate) is determined by an
equation of the form used in the static single variable models, using
KDLOC as the measure of the size. To determine the initial effort Ei in
person-months the equation used is of the type is shown below
Ei=a*(KDLOC)b
The value of the constant a and b are depends on the project type. In
COCOMO, projects are categorized into three types:
1. Organic
2. Semidetached
3. Embedded
1.Organic: A development project can be treated of the organic type, if the
project deals with developing a well-understood application program, the size of
the development team is reasonably small, and the team members are
experienced in developing similar methods of projects. Examples of this type of
projects are simple business systems, simple inventory management
systems, and data processing systems.
2. Semidetached: A development project can be treated with semidetached type
if the development consists of a mixture of experienced and inexperienced staff.
Team members may have finite experience in related systems but may be
unfamiliar with some aspects of the order being developed. Example of
Semidetached system includes developing a new operating system (OS), a
Database Management System (DBMS), and complex inventory
management system.
3. Embedded: A development project is treated to be of an embedded type, if
the software being developed is strongly coupled to complex hardware, or if the
stringent regulations on the operational method exist. For Example: ATM, Air
Traffic control.
According to Boehm, software cost estimation should be done through three
stages:
1. Basic Model
2. Intermediate Model
3. Detailed Model
Course Code: 20CS0544 R20
1. Basic COCOMO Model: The basic COCOMO model provide an accurate
size of the project parameters. The following expressions give the basic
COCOMO estimation model:
Effort=a*(KLOC)b PM
Time=c*(efforts)dMonths
Where
KLOC is the estimated size of the software product indicate in Kilo Lines of
Code,
a,b,c,d are constants for each group of software products,
Time is the estimated time to develop the software, expressed in months,
Effort is the total effort required to develop the software product,
expressed in person months (PMs). Estimation of development effort
For the three classes of software products, the formulas for estimating the effort
based on the code size are shown below: Organic: Effort = 2.4(KLOC) 1.05
PM
Semi-detached: Effort = 3.0(KLOC) 1.12 PM
Embedded: Effort = 3.6(KLOC) 1.20 PM
Estimation of development time
For the three classes of software products, the formulas for estimating the
development time based on the effort are given below: Organic: Tdev =
2.5(Effort) 0.38 Months
Semi-detached: Tdev = 2.5(Effort) 0.35 Months
Embedded: Tdev = 2.5(Effort) 0.32 Months
Some insight into the basic COCOMO model can be obtained by plotting the
estimated characteristics for different software sizes. Fig shows a plot of
estimated effort versus product size. From fig, we can observe that the effort is
somewhat superliner in the size of the software product. Thus, the effort required
to develop a product increases very rapidly with project size.
Course Code: 20CS0544 R20

The development time versus the product size in KLOC is plotted in fig. From
fig 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, semidetached, or embedded type.

From the effort estimation, the project cost can be obtained by multiplying the
required effort by the manpower cost per month. But, implicit in this project cost
computation is the assumption that the entire project cost is incurred on account
of the manpower cost alone. In addition to manpower cost, a project would incur
costs due to hardware and software required for the project and the company
overheads for administration, office space, etc.
It is important to note that the effort and the duration estimations obtained using
the COCOMO model are called a nominal effort estimate and nominal duration
estimate. The term nominal implies that if anyone tries to complete the project in
a time shorter than the estimated duration, then the cost will increase drastically.
But, if anyone completes the project over a longer period of time than the
estimated, then there is almost no decrease in the estimated cost value.
Course Code: 20CS0544 R20
Example1: Suppose a project was estimated to be 400 KLOC. Calculate the
effort and development time for each of the three model i.e., organic, semi-
Course Code: 20CS0544 R20
detached & embedded.
Solution: The basic COCOMO equation takes the form:
Effort=a1*(KLOC) a2 PM
Tdev=b1*(efforts)b2 Months
Estimated Size of project= 400 KLOC
(i)Organic Mode
E = 2.4 * (400)1.05 = 1295.31 PM
D = 2.5 * (1295.31)0.38=38.07 PM
(ii)Semidetached Mode
E = 3.0 * (400)1.12=2462.79 PM
D = 2.5 * (2462.79)0.35=38.45 PM
(iii) Embedded Mode
E = 3.6 * (400)1.20 = 4772.81 PM
D = 2.5 * (4772.8)0.32 = 38 PM
Course Code: 20CS0544 R20
8 Explain in brief bottom-up and top-down approaches in software effort [L2][CO3] [12M]
estimation?
Using the Top-Down Approach
The top-down approach to defining project tasks involves starting with the
project goal or final deliverable and breaking it down into smaller planning
chunks. We call them work packages. Each of these work packages or ―chunks‖
is further refined into greater detail, and then work items are assigned to team
members.
The top-down approach works well when there‘s a clear insight into the details
of a project, and the leading project manager has a big picture of how the project
contributes to the organization.
The benefit of top-down is that the major tasks are quickly identified, and
the details are later refined by the project team. However, the downside is
that details might be missed without a detailed review by the project team. A
Top-Down Example
Let‘s say you‘re responsible for upgrading your application‘s hardware and
software layers. Based on past experience, you know you‘ll need to install a new
server, install the upgraded operating system, and then install the latest version
of the application software. These are all top-down tasks that can be assigned to
a project team to implement. The risk is that the application software doesn‘t
work on an upgraded software layer due to a conflicting API or compiled library.
The challenge is in all those pesky details that impact your project. Using the
Bottom-Up Approach
The bottom-up approach to answering ―What are the tasks?‖ relies on project
team members identifying the tasks and then organizing them into specific
groups or work packages. If you applied a bottom-up approach to identify tasks
for the software upgrade mentioned above, the entire project team would
brainstorm all the tasks required to correctly upgrade the system. There‘s also a
greater chance that a team member will identify an operating system conflict or
at least include a step to test that feature than in top-down planning. Ideas get
flowing and tasks can be written down on sticky note pads or index cards. All
these tasks can then be logically grouped into categories that make up each work

package.
The bottom-up approach results in a more detailed schedule, but it‘s also a
timeconsuming approach compared with the top-down task planning approach.
The schedule you create is based on direct input from experts who will be
implementing the project; it‘s also a useful technique to build teamwork.
Course Code: 20CS0544 R20
9 How the COSMIC full function point can be explored based on effort [L2][CO2] [12M]
estimation techniques?
A COSMIC Function Point (CFP):
● is a measure of the functional size of any type of software;
● represents a movement of data and any software;
● is one of the 4 types of data movements (Entry, Exit, Read, Write);
● can measure the smallest software function that exists and the largest software
function that can be built;
● can be used to compare the size of software pieces made in the past with those
of the present and those of the future;
● can compare the size of software functions independently of the methodology
used to build them.
The COSMIC measurement principle is:
The functional size of a piece of software is equal to the number of its data movements

A functional size is measured in units of ‗COSMIC Function Points‘, abbreviated as


‗CFP‘ where:
1 CFP is defined, by convention, as the size of a single data movement of a single data
group Then:
● The size of a functional process is equal to the number of its data movements
types in CFP.
● The size of a piece of software is equal to the sum of the CFP sizes of its
functional processes.

Example 1: When there is a single data movement of the 4 types in Fig. 1, the functional
size is:
1 Entry + 1 Exit + 1 Read + 1 Write = 1 CFP + 1 CFP + 1 CFP + 1 CFP= 4 CFP.

Example 2: When there are two data movements of the 4 types in Fig. 1, the functional
size is:
2 Entries + 2 Exits + 2 Reads + 2 Writes = 2 CFP + 2 CFP + 2 CFP + 2 CFP = 8 CFP
10 a) Illustrate the following: [L2][CO3] [6M]
Staffing pattern with Norden’s work and Putnam’s works.
Staffing level Estimation: NORDEN WORK
Project manager has to figure out Staff Estimation after the effort required to
develop a software has been determined.

Norden investigated the staffing pattern of R & D project.

Norden Estimation:

He studied the Staffing patterns of R & D projects and proposed that Staffing
level patterns can be approximated by the "Rayleigh Distribution Curve"
which specifies that the relationship between applied effort and
Course Code: 20CS0544 R20
delivery time for software project. It is also called Putnam- NORDENRayleigh
Curve or PNR curve.
He represented the Rayleigh Curve by this equation
E=K/t2d*t*e-t2/2td2

Here E is the effort required at time t.(engineers and staffs)

K= Area under curve.

td= time at with the curve attains its maximum values.

Staffing Level Estimation: Putnam's Work

Putnam analyzed that characteristic of software development and staffing has


some characteristics of R and D projects studied by Norden and Rayleigh
Norden Curve can be used to Relate the Number of delivered lines of code to
the effort and the time required to develop the project.

L=CkK1/3td4/3

k= total effort expended in PM in product development.

L= the product size in KLOC

td= time required to develop the software

Ck = state of Technology constraints

like Ck=2(poor development environment)

Ck=8 (good software development environment) Ck=11

(Excellent environment)
Course Code: 20CS0544 R20
b) Basics of Software Estimation. [L2][CO3] [6M]
Course Code: 20CS0544 R20
Estimation is the process of finding an estimate, or approximation, which is a
value that can be used for some purpose even if input data may be incomplete,
uncertain, or unstable.
Estimation determines how much money, effort, resources, and time it will take to
build a specific system or product. Estimation is based on −
• Past Data/Past Experience
• Available Documents/Knowledge
• Assumptions
• Identified Risks
The four basic steps in Software Project Estimation are −
• Estimate the size of the development product.
• Estimate the effort in person-months or person-hours.
• Estimate the schedule in calendar months.
• Estimate the project cost in agreed currency.
Observations on Estimation
• Estimation need not be a one-time task in a project. It can take place
during − o Acquiring a Project. o Planning the Project.
o Execution of the Project as the need arises.
• Project scope must be understood before the estimation process begins. It
will be helpful to have historical Project Data.
• Project metrics can provide a historical perspective and valuable input for
generation of quantitative estimates.
• Planning requires technical managers and the software team to make an
initial commitment as it leads to responsibility and accountability.
• Past experience can aid greatly.
• Use at least two estimation techniques to arrive at the estimates and
reconcile the resulting values. Refer Decomposition Techniques in the
next section to learn about reconciling estimates.
• Plans should be iterative and allow adjustments as time passes and more
details are known.
General Project Estimation Approach
The Project Estimation Approach that is widely used is Decomposition
Technique. Decomposition techniques take a divide and conquer approach. Size,
Effort and Cost estimation are performed in a stepwise manner by breaking down
a Project into major Functions or related Software Engineering Activities.
Step 1 − Understand the scope of the software to be built.
Step 2 − Generate an estimate of the software size.
• Start with the statement of scope.
• Decompose the software into functions that can each be estimated
individually.
• Calculate the size of each function.
Course Code: 20CS0544 R20
• Derive effort and cost estimates by applying the size values to your
baseline productivity metrics.
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
• Combine function estimates to produce an overall estimate for the entire
project.
Step 3 − Generate an estimate of the effort and cost. You can arrive at the effort
and cost estimates by breaking down a project into related software engineering
activities.
• Identify the sequence of activities that need to be performed for the
project to be completed.
• Divide activities into tasks that can be measured.
• Estimate the effort (in person hours/days) required to complete each task.
• Combine effort estimates of tasks of activity to produce an estimate for
the activity.
• Obtain cost units (i.e., cost/unit effort) for each activity from the database.
• Compute the total effort and cost for each activity.
• Combine effort and cost estimates for each activity to produce an overall
effort and cost estimate for the entire project.
Step 4 − Reconcile estimates: Compare the resulting values from Step 3 to those
obtained from Step 2. If both sets of estimates agree, then your numbers are highly
reliable. Otherwise, if widely divergent estimates occur conduct further
investigation concerning whether −
• The scope of the project is not adequately understood or has been
misinterpreted.
• The function and/or activity breakdown is not accurate.
• Historical data used for the estimation techniques is inappropriate for the
application, or obsolete, or has been misapplied.
Step 5 − Determine the cause of divergence and then reconcile the estimates.
Estimation Accuracy
Accuracy is an indication of how close something is to reality. Whenever you
generate an estimate, everyone wants to know how close the numbers are to
reality. You will want every estimate to be as accurate as possible, given the data
you have at the time you generate it. And of course you don‘t want to present an
estimate in a way that inspires a false sense of confidence in the numbers.
Important factors that affect the accuracy of estimates are −
The accuracy of all the estimate‘s input data.
• The accuracy of any estimate calculation.
• How closely the historical data or industry data used to calibrate the
model matches the project you are estimating.
• The predictability of your organization‘s software development process.
• The stability of both the product requirements and the environment that
supports the software engineering effort.
• Whether or not the actual project was carefully planned, monitored and
controlled, and no major surprises occurred that caused unexpected
delays.
Course Code: 20CS0544 R20
Following are some guidelines for achieving reliable estimates −
• Base estimates on similar projects that have already been completed.
Course Code: 20CS0544 R20
Course Code: 20CS0544 R20
• Use relatively simple decomposition techniques to generate project cost
and effort estimates.
• Use one or more empirical estimation models for software cost and effort
estimation.
Refer to the section on Estimation Guidelines in this chapter.
To ensure accuracy, you are always advised to estimate using at least two
techniques and compare the results.
Estimation Issues
Often, project managers resort to estimating schedules skipping to estimate size.
This may be because of the timelines set by the top management or the marketing
team. However, whatever the reason, if this is done, then at a later stage it would
be difficult to estimate the schedules to accommodate the scope changes.
While estimating, certain assumptions may be made. It is important to note all
these assumptions in the estimation sheet, as some still do not document
assumptions in estimation sheets.
Even good estimates have inherent assumptions, risks, and uncertainty, and yet
they are often treated as though they are accurate.
The best way of expressing estimates is as a range of possible outcomes by saying,
for example, that the project will take 5 to 7 months instead of stating it will be
complete on a particular date or it will be complete in a fixed no. of months.
Beware of committing to a range that is too narrow as that is equivalent to
committing to a definite date. You could also include uncertainty as an
accompanying probability value. For example, there is a 90% probability that the
project will complete on or before a definite date.
• Organizations do not collect accurate project data. Since the accuracy of the
estimates depend on the historical data, it would be an issue.
• For any project, there is a shortest possible schedule that will allow you to
include the required functionality and produce quality output. If there is a
schedule constraint by management and/or client, you could negotiate on
the scope and functionality to be delivered.
• Agree with the client on handling scope creeps to avoid schedule overruns.
• Failure in accommodating contingency in the final estimate causes issues.
For e.g., meetings, organizational events.
• Resource utilization should be considered as less than 80%. This is because
the resources would be productive only for 80% of their time. If you assign
resources at more than 80% utilization, there is bound to be slippages.
Estimation Guidelines
One should keep the following guidelines in mind while estimating a project −
• During estimation, ask other people's experiences. Also, put your own
experiences at task.
Course Code: 20CS0544 R20
Assume resources will be productive for only 80 percent of their time.
Hence, during estimation take the resource utilization as less than 80%.
Resources working on multiple projects take longer to complete tasks
because of the time lost switching between them.
Include management time in any estimate.
Always build in contingency for problem solving, meetings and other
unexpected events.
Allow enough time to do a proper project estimate. Rushed estimates are
inaccurate, high-risk estimates. For large development projects, the
estimation step should really be regarded as a mini project.
Where possible, use documented data from your organization‘s similar
past projects. It will result in the most accurate estimate. If your
organization has not kept historical data, now is a good time to start
collecting it.
Use developer-based estimates, as the estimates prepared by people other
than those who will do the work will be less accurate.
Use several different people to estimate and use several different
estimation techniques.
Reconcile the estimates. Observe the convergence or spread among the
estimates. Convergence means that you have got a good estimate.
Wideband-Delphi technique can be used to gather and discuss estimates
using a group of people, the intention being to produce an accurate,
unbiased estimate.
Re-estimate the project several times throughout its life cycle.
Course Code: 19CS0537 R19
UNIT–III
ACTIVITYPLANNINGANDRISKMANAGEMENT

1 a) List out the objectives of activity planning. [L1][CO3] [6M]


The objective of software project planning is to provide a framework that enables the manager to
make reasonable estimates of resources, cost, and schedule.
1. Feasibility assessment:- Is the project possible within required timescales and resource
constraints
2. Resource Allocation: - What are the most effective ways of allocating resources to the
project. When should the resources be available.
3. Detailed Costing :- How much will the project cost and when is that expenditure likely to
take place
4. Motivation: - Providing targets and being seen to monitor achievement against targets is
an effective way of motivating staff.
5. Co-ordination:- When do the staffs in different departments need to be available to work
on a particular project.

b)Draw and explain Sequencing and scheduling with a neat sketch. Sequencing [L1][CO3] [6M]
and Scheduling Activities
Project and its activities must be clearly defined to achieve the target.
An activity plan will contain the following factors:
• A project is basically, composed of number of interrelated activities.
• The initiation of a project happens only if at least one activity is ready to start.
• An activity is clearly defined with its start and end point that produce good
deliverables.
• Activity requiring resources must be analysed well in advance and made available
during the execution.
• Some activities would depend on other activities for them to complete.
• A project can attain its completion only when all activities have been completed.
Approaches to Identify Activities
The various approaches used in identifying activities are:
• Activity-based approach
• Product-based approach
• Hybrid approach
Activity-based approach:
In the activity-based approach, all the activities are listed and created for the project. This is
achieved by a brainstorming session where the entire project team analysis the various activities
needed a0t different stages with the help of similar projects. This approach usually generates the
list of activities using a work breakdown structure (WBS).WBS helps in identifying the lowest
level of effort i.e. the task required to complete a project by breaking down into lower sets of
tasks.
Course Code: 19CS0537 R19

Product-based approach:
• The product-based approach produces a product breakdown structure along with a
product flow diagram.
• The approach accepts the products as inputs which is transformed into an ordered list of
activities.
• Product Flow Diagram do not leave out any activity from its ordered list and adopts a
methodology which clearly specifies what are the products required and what are the
activities required to produce the product

Hybrid approach:
• WBS deals with list of final deliverables whereas PBS deals in producing the products
using the product flow diagram.
• Hybrid approach combines both the activity-based and product-based approach to
structure both activities and products.
• Structuring of product-based or activity-based approach depends on the nature of the
project type.
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
Sequencing and scheduling activities
Scheduling is required for every activity that is planned along with the
resources and can be represented using a bar chart.
The chart describes the nature of the development process and the resources
available for completing the specified activities

2 Illustrate different activity based approaches involved in activity Planning. [L2][CO3] [12M]
Activity-based approach:
In the activity-based approach, all the activities are listed and created for the project. This is
achieved by a brainstorming session where the entire project team analysis the various activities
needed a0t different stages with the help of similar projects. This approach usually generates the
list of activities using a work breakdown structure (WBS).WBS helps in identifying the lowest
level of effort i.e. the task required to complete a project by breaking down into lower sets of
tasks

3 a)Define and explain critical path method. [L1][CO3] [6M]


Critical path method is based on mathematical calculations and it is used for scheduling project
activities. This method was first introduced in 1950s as a joint venture between Remington Rand
Corporation and DuPont Corporation.
The initial critical path method was used for managing plant maintenance projects. Although the
original method was developed for construction work, this method can be used for any project
where there are interdependent activities.
In the critical path method, the critical activities of a program or a project are identified. These
are the activities that have a direct impact on the completion date of the project.
Course Code: 19CS0537 R19

Key Steps in Critical Path Method

Let's have a look at how critical path method is used in practice. The process of using critical path
method in project planning phase has six steps.
Step 1: Activity specification
You can use the Work Breakdown Structure (WBS) to identify the activities involved in the
project. This is the main input for the critical path method.
In activity specification, only the higher-level activities are selected for critical path method.
When detailed activities are used, the critical path method may become too complex to manage
and maintain.
Step 2: Activity sequence establishment
In this step, the correct activity sequence is established. For that, you need to ask three questions
for each task of your list.
• Which tasks should take place before this task happens.
• Which tasks should be completed at the same time as this task.
Which tasks should happen immediately after this task.
Step 3: Network diagram
Once the activity sequence is correctly identified, the network diagram can be drawn (refer to the
sample diagram above).
Although the early diagrams were drawn on paper, there are a number of computer softwares,
such as Primavera, for this purpose nowadays.
Step 4: Estimates for each activity
This could be a direct input from the WBS based estimation sheet. Most of the companies use
3point estimation method or COCOMO based (function points based) estimation methods for
tasks estimation.
You can use such estimation information for this step of the process.
Step 5: Identification of the critical path
For this, you need to determine four parameters of each activity of the network.
• Earliest start time (ES) - The earliest time an activity can start once the previous
dependent activities are over.
• Earliest finish time (EF) - ES + activity duration.
• Latest finish time (LF) - The latest time an activity can finish without delaying the
project.
• Latest start time (LS) - LF - activity duration.
Course Code: 19CS0537 R19
The float time for an activity is the time between the earliest (ES) and the latest (LS) start time or
between the earliest (EF) and latest (LF) finish times.
During the float time, an activity can be delayed without delaying the project finish date.
The critical path is the longest path of the network diagram. The activities in the critical path have
an effect on the deadline of the project. If an activity of this path is delayed, the project will be
delayed.
In case if the project management needs to accelerate the project, the times for critical path
activities should be reduced.
Step 6: Critical path diagram to show project progresses
Critical path diagram is a live artefact. Therefore, this diagram should be updated with actual
values once the task is completed.
This gives more realistic figure for the deadline and the project management can know whether
they are on track regarding the deliverables.

Advantages of Critical Path Method

• Offers a visual representation of the project activities.


• Presents the time to complete the tasks and the overall project. Tracking
of critical activities.
Course Code: 19CS0537 R19
b) Evaluate the critical path based on forward pass and back ward pass [L4][CO3] [6M]
techniques?
Forward pass is a technique to move forward through network diagram to determining project
duration and finding the critical path or Free Float of the project.
Whereas backward pass represents moving backward to the end result to calculate late start or to
find if there is any slack in the activity.
Early Start (ES) is plotted on the 1st left corner box at the top. Likewise Early Finish (EF) is
plotted on top right corner box.

Late Finish (LF) is on the right corner box at the bottom and Late Start (LS) is plotted on the left
bottom corner box.

Activity name ―B‖ is in the 2nd box duration represented by 10 is on the 5th box at the middle.

What is Early Start?


Early Start (ES) represents the earliest start of an activity considering the dependency preceding
task. If an activity is having more than one dependency predecessor, then ES will be the highest
Early Finish (EF) of the dependency task.

Early Start = Maximum (or Highest) EF value from immediate Predecessor(s)


To calculate Early Finish, we use forward pass. Moving from Early Start towards right to come
up with Early Finish of the project.

Early Finish (EF) = ES + Duration


Course Code: 19CS0537 R19
If Early Start is 6 days and duration is 10 days, EF = 6 + 10 = 16 Days

Late Start (LS) is the latest date that the activity can finish without causing a delay to the project
completion date.

How to apply Backward Pass to calculate Late Start (LS)?


In order to calculate Late Start (LS), we apply backward Pass moving from Late Finish and
deducting from activity duration.

LS = LF – Duration
If Late Finish is 30 days and duration is 10 days, LS = 30 – 10 = 20 Days

Critical Path is the longest sequence of activity on a project that carry zero free float / slack.

Float Calculation
The whole idea of network diagram and finding the project duration is to identify the critical
path and total float. Float represents how much each individual activity can be delayed without
delaying successor activities or project completion date.

Total Float = LS – ES or LF – EF
Total Float shows the difference between the Earliest Start (ES) and Latest Start (LS) of an activity
before the completion date is delayed.

Free Float = Lowest ES of successors – EF


Free Float represents the amount of time that an activity can be delayed before any successor‘s
activity will be delayed. A zero free float represents the activity is in critical path and there is no
pace to delay the activity without delaying the entire project.
Course Code: 19CS0537 R19
4 Explain in brief a frame work for dealing with risk. [L2][CO3] [12M]
Components of RMF
There are at least five crucial components that must be considered when creating a risk
management framework. They include
• risk identification
• risk measurement and assessment
• risk mitigation
• risk reporting and monitoring risk governance.
Course Code: 19CS0537 R19

Risk Identification
The first step in identifying the risks a company faces is to define the risk universe. The risk
universe is simply a list of all possible risks. Examples include IT risk, operational risk, regulatory
risk, legal risk, political risk, strategic risk, and credit risk.
After listing all possible risks, the company can then select the risks to which it is exposed and
categorize them into core and non-core risks. Core risks are those that the company must take in
order to drive performance and long-term growth. Non-core risks are often not essential and can
be minimized or eliminated completely.

Risk Measurement

Risk measurement provides information on the quantum of either a specific risk exposure or an
aggregate risk exposure and the probability of a loss occurring due to those exposures. When
measuring specific risk exposure it is important to consider the effect of that risk on the overall
risk profile of the organization.

Some risks may provide diversification benefits while others may not. Another important
consideration is the ability to measure an exposure. Some risks may be easier to measure than
others. For example, market risk can be measured using observed market prices, but measuring
operational risk is considered both an art and a science.

Specific risk measures often give the profit and loss ("P/L") impact that can be expected if there
is a small change in that risk. They may also provide information on how volatile the P/L can be.
For example, the equity risk of a stock investment can be measured as the P/L impact of the stock
as a result of a 1 unit change in, say, the S&P500 index or as the standard deviation of the particular
stock.

Risk Mitigation

Having categorized and measured its risks, a company can then decide on which risks to eliminate
or minimize, and how many of its core risks to retain. Risk mitigation can be achieved through
an outright sale of assets or liabilities, buying insurance, hedging with derivatives, or
diversification.

Risk Reporting and Monitoring

It is important to report regularly on specific and aggregate risk measures in order to ensure that
risk levels remain at an optimal level. Financial institutions that trade daily will produce daily risk
reports. Other institutions may require less frequent reporting. Risk reports must be sent to risk
personnel who have the authority to adjust (or instruct others to adjust) risk exposures.

Risk Governance

Risk governance is the process that ensures all company employees perform their duties in
accordance with the risk management framework. Risk governance involves defining the roles of
all employees, segregating duties, and assigning authority to individuals, committees, and the
board for approval of core risks, risk limits, exceptions to limits, and risk reports, and also for
general oversight.
Course Code: 19CS0537 R19
5 Summarize the following: a) [L2][CO3] [12M]
Risk Identification
b) Risk Assessment
a) Risk Identification
Three steps as they cover risk identification specifically (while the remaining steps are about
validating and formalizing findings against the overall project‘s scope).
Course Code: 19CS0537 R19
Template specification

This is a risk statement based on feedback about causes, effects, impacts, areas of risk, and
events. A structured template helps you capture this in a consistent way.

Basic identification

Answering two questions about potential risks: why or why not us and whether they have been
experienced before. The former can be captured via SWOT analysis exercise while the latter is a
statement, ideally referenced from a project post mortem or lessons learned library.

Detailed identification

This step is more time-consuming than the previous ones but also delivers the detail you need to
properly assess risk. PMI identifies five tools to use:
• Interviewing
• Assumptions analysis
• Document reviews
• Delphi technique
• Brainstorming

Once you‘ve completed these steps you‘ll need to categorize risk in the next one — the External
cross-check step.

Step five is the Internal Cross-check which maps risks to corresponding elements in the scope

of work. At this point you will start forming a view of what project elements are riskier than
others, and what mitigation strategies to adopt.

The final step, Statement Finalization, packages findings in a series of diagrams covering risky
areas, causes, and impacts.

b) Risk Assessment:

Identifying, assessing, and controlling hazards and risks in the systematic process is the meaning
of risk assessment. Determining which safeguards are in place—or ought to be—to eliminate or
manage risk in the workplace in any conceivable circumstance is the responsibility of a competent

person. These evaluations aid in identifying these innate risks and offer countermeasures,
procedures, and controls to lessen their adverse effects on business operations.

Risk Assessment Steps


Depending on the risks particular to the type of business, the industry that business is in, and the

compliance regulations relevant to that specific business or industry, a risk assessment is


undertaken in various ways. However, regardless of the nature of their business or industry,

organizations can still use the following five general processes -

Step 1
Course Code: 19CS0537 R19

Determine the dangers. Finding possible risks that, if they materialized, would have a negative

impact on the organization's ability to conduct business is the first stage in a risk assessment.
Natural catastrophes, cyber-attacks, utility outages, and power outages are examples of potential

risks that might be taken into account or discovered during the risk assessment process.

Step 2

Ascertain who or what might be affected. The next phase is identifying which corporate assets

would be adversely affected if the risk materialized after the identified risks. Critical

infrastructure, IT systems, business operations, business reputation, and even employee safety are

all examples of corporate assets that may be exposed to these risks.

Step 3

Assess the hazards and create preventative measures. A risk analysis can assist in determining the
potential effects of risks on business assets and the protective actions that can be taken to lessen
or eliminate such effects. For example, risks could result in property damage, financial loss,

company interruption, and legal repercussions.


Step 4

Make a record of your findings. The company needs to record the risk assessment results and
store them in conveniently accessible formal papers. In addition, records should contain
information on prospective risks and strategies for avoiding them.

Step 5
Conduct a frequent review and updating of the risk assessment. Potential threats, risks, and
associated controls can alter quickly in a present company context. To keep up with these
changes, it's critical for businesses to update their risk assessments regularly.
Course Code: 19CS0537 R19
6 Describe Two Network Planning models in Activity Planning in brief. [L1][CO4] [12M]
Network Model
Network analysis is a technique of planning, scheduling and controlling of a large and complex
project comprising various activities.
· Network technique provides a rational approach to the planning and controlling of
construction works.
· Application of such techniques is inevitable when there is a constraint on resources and a
need for higher productivity.
· Commonly used network techniques are CPM and PERT.
Critical Path Method (CPM)
· CPM was developed in 1956, in the USA, by a team of engineers working for Dupont
Corporation and Remington Rand.
· The method was successfully tried for the construction of chemical plant in Louisville,
USA.
· The method was also used with extraordinary success for carrying out the repair of a unit
in a chemical plant, resulting in nearly 30 % reduction in the shut down time.
· The usefulness of CPM was thus fully established.
· Presently this method is used worldwide in business and industry also.
Use of CPM provides meaningful answers to such questions as:
o What will be the completion time of the project? o If there is a delay in one activity, will
the entire project be delayed? If so, by how much?

o What is the most economical way to speed the project


o How to schedule material deliveries so as to have materials when needed but avoid
costly storage for long periods.
Advantages of CPM o CPM is widely used in construction industry by a number of private and
public organizations.
o Application of CPM results in better decision – making and a saving in the overall cost
of the project.
o It shows different activities of large and complex project clearly. o It shows clearly the
interrelationships among various activities. o It defines the time required for each activity.
o It will be easier for the new person in the orientation of the project. Programme
Evaluation and Review Technique (PERT)
PERT was developed by engineers of the United States Navy while working on the Polaris
Missile Program during 1957 – 58.
Since then, PERT has been in use for various research and development projects which are non
– repetitive in nature. Such projects are characterized by an extreme degree of uncertainty both in
the development of the system and in the time duration of various activities.
Three time estimates are used to determine the expected or average time of each activity.
Optimistic time estimate - It is the shortest possible time for completing an activity if everything
proceeds as planned without any problem, i.e. the activity is performed under ideal conditions.
Most likely time estimate - It is the maximum for completing an activity under normal conditions.
In this case, conditions are not ideal and minor mishaps may occur.
Pessimistic time estimate - It is the maximum time required to complete an activity under
abnormal or extremely adverse conditions in which everything goes wrong. The estimate however
does not include catastrophes such as fires, earthquakes, floods etc.
Course Code: 19CS0537 R19
7 a) Explain about the PERT technique. [L2][CO4] [6M]
Project Evaluation and Review Technique (PERT) is a procedure through which activities of
a project are represented in its appropriate sequence and timing. It is a scheduling technique used
to schedule, organize and integrate tasks within a project. PERT is basically a mechanism for
management planning and control which provides blueprint for a particular project. All of the
primary elements or events of a project have been finally identified by the PERT.
In this technique, a PERT Chart is made which represent a schedule for all the specified tasks in
the project. The reporting levels of the tasks or events in the PERT Charts are somewhat same as
defined in the work breakdown structure (WBS).
Characteristics of PERT:
The main characteristics of PERT are as following :
1. It serves as a base for obtaining the important facts for implementing the
decisionmaking.
2. It forms the basis for all the planning activities.
3. PERT helps management in deciding the best possible resource utilization method.
4. PERT take advantage by using time network analysis technique.
5. PERT presents the structure for reporting information.
6. It helps the management in identifying the essential elements for the completion of the
project within time.

b) What are the advantages & disadvantages observed in PERT Technique? [L1][CO4] [6M]
Advantages
1. Estimation of completion time of project is given by the PERT.
2. It supports the identification of the activities with slack time.
3. The start and dates of the activities of a specific project is determined.
4. It helps project manager in identifying the critical path activities.
5. PERT makes well organized diagram for the representation of large amount of data.

Disadvantages of PERT :
It has the following disadvantages :
1. The complexity of PERT is more which leads to the problem in implementation.

2. The estimation of activity time is subjective in PERT which is a major disadvantage.


3. Maintenance of PERT is also expensive and complex.
4. The actual distribution of may be different from the PERT beta distribution which causes
wrong assumptions.
5. It under estimates the expected project completion time as there is chances that other
paths can become the critical path if their related activities are deferred.
Course Code: 19CS0537 R19
8 a) Determine seven categories of the nature of resources. Seven [L3][CO4] [6M]
Category Types of Resources in Project Management:
1. Services
A project may benefit from, and often require, hiring third-parties for certain tasks. Making the
right choice requires careful consideration from the project manager. Outsourcing falls under the
services type of resource in project management

2. Labor

The labour resource concerns the staff involved in a project.Every staff member will not
necessarily be engaged for the entire duration of a project. Whilst the project manager will be
engaged from start to finish, the involvement of others can vary. Staff availability is also a factor.
An individual might be involved in another project at the organization or an earlier activity may
have taken longer than planned

3. Equipment

As a resource, equipment covers range items of varying uses.


There are computers, monitors, servers, keyboards, telephones,
interactive whiteboards and a number of other mundane computing and
office items. Desks, chairs, filing cabinets, office furniture and vehicles
are also in the equipment resource category.

Equipment is generally purchased once and used over multiple


projects. However, as a company expands, the need for more staff and
space necessitates more monetary allocation to this resource. Equipment
also has an effective life-span.

Is the current hardware too old for efficiently completing this


project?

Is it worthwhile to invest in purchasing new servers to improve


render times?
4. Materials
Materials are a consumed resource. They are used up in the completion of a project and may
also form part of deliverables. Office stationery is common example of this type of resource in
project management. Nails, cement and screws are materials in the construction industry; Fuel is
a primary material for courier and transport companies.

5.Money

Money is a secondary resource type in project management. It is used to purchase, acquire, and
maintain all other resources in a project. This is usually in the form of investment and business
capital.

5. Space

Space should be already available for projects that do not require hiring new
Course Code: 19CS0537 R19
staff. More space may be required when adding new staff (permanent or
temporary) to the team.

Space requirements may also vary during different stages of the project. For
example, developers for Quality Assurance may only needed at a later
stage of development. Similarly, user testing and user interviews (which
may require special facilities) are not done continuously. Management
should plan and adjust for space as required for each stage of the project.

Hiring remote and/or semi-remote staff is also an option to save costs on the
space resource. Automatic, the web development company behind Word
Press employs more than 700 remote staff.

7.Time : Time is the resource that is being offset against the other primary resources – project
timescales can be reduced by increasing other resources and will almost certainly be extended if
they are unexpectedly reduced.

b) How can you identify resource Requirements in producing a project? [L2][CO4] [6M]
Course Code: 19CS0537 R19
9 Illustrate various activities involved in creating critical paths or critical patterns? [L3][CO4] [12M]

1. List activities
Use a work breakdown structure to list all the project activities or tasks required to produce the
deliverables. The list of activities in the work breakdown structure serves as the foundation for
the rest of the CPM.
2. Identify dependencies Based on your work breakdown structure, determine the tasks
that are dependent on one another. This will also help you identify any work that can be done in
parallel with other tasks.
Here are the task dependencies based on the example above:
• Task B is dependent on A
• Task C is dependent on B
• Tasks C and D can run in parallel
• Task E is dependent on D
• Task F is dependent on C, D, and E
The list of dependent tasks is referred to as an activity sequence, which will be used to
determine the critical path.

3. Create a network diagram


The next step is to turn the work breakdown structure into a network diagram, which is a flowchart
displaying the chronology of activities. Create a box for each task and use arrows to depict task
dependencies.
You‘ll add other time-bound components to the network diagram until you have the general
project schedule figured out.

4. Estimate task duration


To calculate the critical path, the longest sequence of critical tasks, you first need to estimate the
duration of each activity. To estimate the duration, try:
• Making educated guesses based on experience and knowledge
• Estimating based on previous project data
• Estimating based on industry standards
Course Code: 19CS0537 R19
Alternatively, try using the forward pass and backward pass technique:
• Forward pass: This is used to calculate early start (ES) and early finish (EF) dates by
using a previously specified start date. ES is the highest EF value from immediate
predecessors, whereas EF is ES + duration. The calculation starts with 0 at the ES of the
first activity and proceeds through the schedule. Determining ES and EF dates allows for
early allocation of resources to the project.
• Backward pass: This is used to calculate late start (LS) and late finish (LF) dates. LS is
LF - duration, whereas LF is the lowest LS value from immediate successors. The
calculation starts with the last scheduled activity and proceeds backward through the
entire schedule.
The early and late start and end dates can then be used to calculate float, or scheduling flexibility
of each task.

5. Calculate the critical path


Calculating the critical path can be done manually, but you can save time by using a critical path
algorithm instead.
Here are the steps to calculate the critical path manually:
Step 1: Write down the start and end time next to each activity.
• The first activity has a start time of 0, and the end time is the duration of the activity.
• The next activity‘s start time is the end time of the previous activity, and the end time is
the start time plus the duration. Do this for all the activities.
Step 2: Look at the end time of the last activity in the sequence to determine the duration of the
entire sequence.
Step 3: The sequence of activities with the longest duration is the critical path.

6. Calculate the float


Float, or slack, refers to the amount of flexibility of a given task. It indicates how much the task
can be delayed without impacting subsequent tasks or the project end date.
Finding the float is useful in gauging how much flexibility the project has. Float is a resource that
should be used to cover project risks or unexpected issues that come up.
Critical tasks have zero float, which means their dates are set. Tasks with positive float numbers
belong in the non-critical path, meaning they may be delayed without affecting the project
completion date. If you‘re short on time or resources, non-critical tasks may be skipped.
Calculating the float can be done with an algorithm or manually. Use the calculations from the
section below to determine the total float and free float. Total float vs. free float
Here‘s a breakdown of the two types of float:
• Total float: This is the amount of time that an activity can be delayed from the early start
date without delaying the project finish date or violating a schedule constraint. Total float
= LS - ES or LF - EF
• Free float: This refers to how long an activity can be delayed without impacting the
following activity. There can only be free float when two or more activities share a
common successor. On a network diagram, this is where activities converge. Free float =
ES (next task) - EF (current task)
There are a few good reasons why project managers benefit from having a good understanding of
float:
• It keeps projects running on time: Monitoring a project‘s total float allows you to
determine whether a project is on track. The bigger the float, the more likely you‘ll be
able to finish early or on time.
• It allows you to prioritize: By identifying activities with free float, you‘ll have a better
idea of which tasks should be prioritized and which ones have more flexibility to be
postponed.
• It‘s a useful resource: Float is extra time that can be used to cover project risks or
unexpected issues that come up. Knowing how much float you have allows you to choose
the most effective way to use it.
Course Code: 19CS0537 R19
10 Describe in detail about cost scheduling impact would be there on a project. [L1][CO4] [12M]
Calculating cost is straightforward where the organization has standard cost figures for staff and
other resources. Where this is not the case, then the project manager will have to calculate the
costs. In general, costs are categorized as follows.

• Staff costs These will include staff salaries as well as the other direct costs of
employmentsuch as the employer's contribution to social security funds, pension scheme
contributions, holiday pay and sickness benefit. These are commonly charged to projects at hourly
rates based on weekly work records completed by staff. Note that contract staff are usually
charged by the week or month - even when they are idle.

• Overheads Overheads represent expenditure that an organization incurs, which cannot


bedirectly related to individual projects or jobs including space rental, interest charges and the
costs of service departments (such as personnel). Overhead costs can be recovered by making a
fixed charge on development departments (in which case they usually appear as a weekly or
monthly charge for a project), or by an additional percentage charge on direct staff employment
costs. These additional charges or oncosts can easily equal or exceed the direct employment costs.

• Usage charges In some organizations, projects are charged directly for use of resources
such ascomputer time (rather than their cost being recovered as an overhead). This will normally
be on an 'as used' basis.
Course Code: 19CS0537 R19
UNIT–IV
PROJECTMANAGEMENTANDCONTROL
Course Code: 19CS0537 R19
1 Explain Creation of Framework for Project Management and Control. [L2][CO5] [12M]
A project management framework consists of the processes, tasks, and tools used to take a
project from start to finish. It encompasses all the key components required for planning,
managing, and governing projects.
The project management framework can be broken into three parts:

1. Project life cycle


This is the cycle a project goes through from beginning to end. It consists of
five phases:
Initiation: This is where you define what the project actually is. You can
outline your objectives in a project charter and identify any potential
risks.
Planning: In this phase, you list all the project tasks in a detailed roadmap.
Estimate how long each one will take, create deadlines, and add
assignees.
Execution: Put the plan into action. Teams commence work on project tasks
and align their schedules to achieve key deliverables.
Monitoring and controlling: Project managers oversee progress by tracking
team performance, creating reports, and readjusting priorities if
necessary.
Closure: The final phase incorporates the results achieved when all project
tasks are completed. A project manager will analyse these results and plan
the next steps.

2. Project control cycle


The control cycle is the process of monitoring and controlling the project.

3. Tools and templates


Project plans, project management reports, and risk logs are common tools
and templates for managing projects.

Benefits of project management frameworks include:

• Consistency: With a project management framework, processes are consistent across the

organization. This allows for greater precision in planning projects and setting

deadlines.

• Clarity: A framework clearly lays out all project tasks and the tools needed to complete

them, meaning there is no confusion when teams get to the execution stage.

• Simplification: When large projects are broken down into smaller tasks, it is easier for

project managers to delegate tasks and teams to tackle the workload.

• Optimization: A project management framework can help managers assess how much

time and money is spent on each project. This enables them to successfully allocate and
optimize resources for future projects.
Course Code: 19CS0537 R19
Communication: By meeting regularly with teams as outlined in their chosen framework,

project managers can effectively communicate with colleagues and boost

information flow.

2 Demonstrate the Collection of Data Project Termination with suitable examples. [L2][CO5] [12M]
Course Code: 19CS0537 R19
3 Develop the following terms in brief a)
Review [L3][CO5] [12M]
b)Project Termination Review
a) Review :
A review is a systematic examination of a document by one or more people with the main aim
of finding and removing errors early in the software development life cycle. Reviews are used to
verify documents such as requirements, system designs, code, test plans and test cases.
Importance of Review Process:
• Productivity of Development team is improved and timescales reduced because the
correction of defects in early stages and work-products will help to ensure that those
work-products are clear and unambiguous.
• Testing costs and time is reduced as there is enough time spent during the initial phase.
• Reduction in costs because fewer defects in the final software.
Types of Defects during Review Process:
• Deviations from standards either internally defined or defined by regulatory or a trade
organisation.
• Requirements defects.
• Design defects.
• Incorrect interface specifications.

Reviews are usually performed manually while static analysis of the tools is performed using
tools.

b) Project Termination review: Project Termination ("project close-out" and "project


finalization") is a situation when a given project is supposed to be closed or finalized because
there‘s no more need or sense for further continuation. Project termination is managed under
a respective procedure that requires the management team to examine current state of the
Course Code: 19CS0537 R19
project work, review progress of goals and objectives, evaluate the project against success
criteria, and check status of deliverables.

The procedure of terminating a project is usually carried out in 8 steps, including:

• Close outstanding agreements with suppliers


• Transfer any responsibilities (if necessary)
• Dismiss or re-assign the team
• Release all remaining resources
• Close the project book (resolve all accounting and finance issues)
• Document lessons learned Accept (reject) the product Install and use the
product.

Failure and Success are two basic reasons for terminating projects. In order to determine which
of the reason is relevant to a project, first the team needs to understand criteria for success and
failure and then evaluate the project against those criteria. Here‘re some tips on this point:

• Success: a project reaches success when its goals and objectives are accomplished on
time and under budget, deliverables are produced as expected by stakeholders, and the
final product is accepted by and handed over to the customer (end-user).
• Failure: a project is regarded as failed when its requirements are not met; the customer
refuses accepting the product; there‘re some technical issues that can‘t be resolved by
using existing tools and technologies; there‘s an unanticipated loss or lack of human,
funding and other valuable resources; the project effort becomes counter-productive
because initial goals and objectives are unmet.

4 Illustrate the visualizing progress in Project Management and Control. [L3][CO5] [12M]
Visualizing progress:
A manager needs some way of presenting that data to the greatest effect. Some methods of
presenting picture are,
Gantt chart – It is used to track project progress .It is the simple and the oldest form of
representing the progress of the project. It consists of an activity bar that indicates the scheduled
activity dates and the duration along with the activity floats.

Slip chart – It is a visual indication of activities that are not progressing to schedule.
Course Code: 19CS0537 R19

Alternative view of Gantt chart by providing a visual indication of those activities which are not
on schedule. The more bend in the greater the variation in the project plan. If the slip line deviates
more towards the non-achievement of project objectives then it has to be reconsidered.
Additional slip lines can be included at regular intervals.

Ball charts – The way of showing whether or not targets have been met or not. It is represented
in the form of circles that indicate the start and the end point completion of activities. Circles of
the ball chart mostly contain only two dates, the original and the revised one. An activity is
denoted by a red circle and green colour denotes that the activity is ahead of its schedule. Slippage
in the project completion date but it is overcome by the timeline charts

TimeLine - The timeline is a method of recording and displaying the way in which targets have
changed throughout the duration of the project.
Course Code: 19CS0537 R19

5 Explain Cost Monitoring in Project Control with simple examples. [L2][CO5] [12M]
• Expenditure monitoring is an important component of project control
• A project might be on time but only because more money has been spent on activities
than originally budgeted
• Cost chart is useful if we add project feature
• Computer based planning tool is used
• A project could be late because the staff originally committed, have not been deployed
In this case the project will be behind time but under budget

• A project could be on time but only because additional resources have been added and
so by over budget
• Need to monitor both achievements and costs
Course Code: 19CS0537 R19
6 Demonstrate the Earned Value Analysis in project management control. [L2][CO5] [12M]

• Earned Value Analysis (EVA) is an industry standard method of measuring a project's


progress at any given point in time, forecasting its completion date and final cost, and
analysing variances in the schedule and budget as the project proceeds.
• It compares the planned amount of work with what has actually been completed, to
determine if the cost, schedule, and work accomplished are progressing in accordance
with the plan.
• As work is completed, it is considered "earned". Based on assigning value to each task
or work package.
Course Code: 19CS0537 R19
• The assigned value is the original budgeted cost for the item & is known as budgeted
cost of work schedule (BCWS).
• A task that is not started is assigned a value zero earned value Features of EVA

• Earned Value Analysis is an objective method to measure project performance in terms


of scope, time and cost.
• EVA metrics are used to measure project health and project performance.
• Earned Value Analysis is a quantitative technique for assessing progress as the software
project team moves through the work tasks, allocated to the Project Schedule.
• EVA provides a common value scale for every project task.
• Total hours to complete the project are estimated and every task is given an Earned
Value, based on its estimated (%) of the total.
• Earned Value is a measure of ‗Progress‘ to assess ‗Percentage of Completeness‘

Need for EVA

• EVA provides different measures of progress for different types of tasks. It is the single
way for measuring everything in a project.
• Provides an ‗Early Warning‘ signal for prompt corrective action. The types of signals
can be the following:

a) Bad news does not age well – Holding on to the bad news does not help. The project
manager needs to take an immediate action.
b) Still time to recover – In case, the project is not going as per schedule and may get
delayed, the situation is needed to be taken care of by finding out the reasons that are
causing delay and taking the required corrective action.
c) Timely request for additional funds – While there is time to recover, the need for
additional resources or funds can be escalated with an early warning.

• It allows ‗rolling up‘ the progress of many tasks into an overall project status.
• It provides with a uniform unit of measure (dollars or work-hours) for the progress.

Key Elements of EVA

• Planned Value (PV) – The approved cost baseline for the work package. It was earlier
known as Budgeted Cost of Work Scheduled (BCWS).
• Earned Value (EV) – The budgeted value of the completed work packages. It used to
be known as Budgeted Cost of Work Performance at a specified point (BCWP).

Actual Cost (AC) – The actual cost incurred during the execution of work packages up to a
specified point in time. It was previously called Actual Cost of Work Performed (ACWP).
7 What is meant by project Monitoring? Explain it in detail. [L1][CO5] [12M]
Course Code: 19CS0537 R19
8 Prepare short notes on a)Project
Tracking [L3][CO5] [12M]
b)Change Control
a) Project tracking
Project tracking is a project management method used to track the progress of tasks in a
project. By tracking your project, you can compare actual to planned progress, and identify
issues that may prevent the project from staying on schedule and within budget.
Course Code: 19CS0537 R19
Tracking is the process of determining how well you are sticking to the cost estimate and
schedule.
It is the same as adapting the schedule according to the latest developments
Benefits:
Project tracking helps project managers and stakeholders know what work has been done,
the resources that have been used to execute those tasks, and help them create an earned
value analysis by measuring project variance and tracking milestones. Steps to track the
project:

• Start with a project outline


• Create deliverables and milestones
• Set realistic, clear and measurable goals
• Use a project tracker template or a project tracking software to keep track of time, costs
and tasks
• Meet regularly with team and stakeholders
• Have clear deadlines
• Support transparency

b) Change control
Change control is a methodology used to manage any change requests that impact the
baseline of your project. It‘s a way to capture that change from the point where it‘s been
identified through every step of the project cycle. That includes evaluating the request
and then approving, rejecting or deferring it.
The purpose of this process is to make sure that you‘re not changing things in the project
that don‘t need to be changed. The last thing you want to do is disrupt the project for no good
reason, wasting valuable time and resources. Any changes that are approved are then documented.
The change control process is part of the larger change management plan.
Key Elements of Change Control
There are some key elements that build a change control framework for project management.
Here‘s a brief description of them.
• Change Control Board: A change control board is a group of representatives from the
project team that regularly meet to approve or disapprove change requests. If they
approve a change request, it can turn into a change order.
• Change Requests: A change request is a formal petition for change in a project. It‘s a
document that explains what are the changes to be made and the main reasons why they
should be implemented.
Change requests can either be submitted by internal or external project stakeholders. Our free
change request template can help you streamline this process.
• Change Orders: Once the change control board has approven a change request, a change
order is signed by the board and the clients or stakeholders.
This is an agreement from both parties to change the conditions that were first drafted in the
original contract. Our free change order template is a great tool to create your change
orders.
Change Log: A change log is a change management tool that‘s used to document all the
changes made to a project plan or any contracts. It‘s a must-have tool for any project manager.
Course Code: 19CS0537 R19
9 a)Explain about Software Configuration Management Control. [L2][CO5] [6M]

• Tracking and managing the changes in the software development process.


• It provides to enhance the Productivity of the software application with minimal error.
• It provides a smooth workflow inside the development process.

• Easy to communicate with team members to develop a better quality of the product.
• To track every member of the team with project workflow status.
• It updates each team member‘s code parallelly by considering different version control.
To manage the different tools and development processes in a software product.
• It is used to managing the software and hardware inside the application.
• It is used to controlling and managing defects, teamwork and process. It handles the
software budgeting as per the change in the application.

Advantages

• To increase the productive efficiency of software as it controls and tracking the


workflow or development process.
• It welcomes change management so the risk of the product will be less.
• It is used for proper monitoring and auditing of the software development product.
• It will help to enhance the software development life cycle process.
• This process provides a reliable, organized, cost-effective and low-risk software
development application.
• It provides a high-quality software product.

Disadvantages

• It needs adequate resources with full knowledge about the software configuration
management tools.
• It requires more resources to work with the configuration management process for small
industries.
• It requires a highly configured desktop/laptop for the development stages.

b)Outline the use of Gantt charts and time line charts in visualizing project [L2][CO5] [6M]
progress with suitable diagrams.
o learn a clear concept of everything about Gantt vs. timeline graphic tools of project management
tools, you need to know the Gantt chart and timeline. Gantt chart is one of the most popular and
adopted tools of the project management skill that you can use to visualize a project you are dealing
with. The creator of the Gantt chart, Henry Gantt, defines many principles of the Gantt chart after
introducing it, which were: his tool is best to decide the number of tasks by following the time that
you will be needed to complete it. Even you can decide on Gantt chart what you will be doing
every day of a week or the month.
the Gantt chart, there are horizontal boxes that you can fill as per the frequency of the means you
can decide by ticking of filling the colors. It also represents how many times you will be doing
this particular activity in each month that you can later check whether you planned well and
followed or the plan you made was not easy to follow.
Course Code: 19CS0537 R19

ow is the Gantt chart suitable for your project? o, the Gantt chart is the best visual description
of your project to estimate the time for completing your project by setting the frequency of the
tasks to be performed. The Gantt chart is helpful in multiple ways. Some of which are discussed
below.
• It elaborates the details of the project by making it transparently visualized hile
seeking the interesting facts about the Gantt Chart vs. timeline, I found the Gant chart an amazing
tool that clearly and transparently elaborates the details of the project's tasks. So, you may say it
is a transparent visual description of your monthly plan, and that can even divide into chunks or
weeks and days by filling different colors in the boxes of the Gantt chart.
will make you able to follow the days and do the compulsory task you have already mentioned
over there. It also makes you clear handed in front of the owner and stakeholders as they can
also estimate the efforts you are making to make their project successful.
• It let you know about the schedule of the project and the task to complete we talk
about the Gantt Chart vs. timeline, then the Gantt chart is the best project management tool that
makes you able to schedule each day as per the tasks to complete. When you have set your per
day goal means you know very clearly that what you will be doing on Monday, Tuesday, and
Wednesday, and so on. You will be doing multiple specific and important tasks on a specific day
to attain the progress you have set as your goal or complete the work on time.
• It clearly explains the tasks of the team members you may say dependency antt chart
also helps you keep track of your team members' work as per the scheduled day and date while
making it easy to achieve the project goal. In this way, you can keep your team on the right track
as they know what they will be doing and what they will avoid during their work.
o, the dependency of the tasks is very clear in the Gantt chart that is a guide for you, the team
members, and the stakeholders.
• It will help you to track the progress of your project.
hen you know which team member will be doing which task on which day, you can better track
the project's progress by counting the frequency of the task done as per the committed date and
day. This will help you to analyse the working efficiency of the staff too. The modified Gantt
chart has been more beneficial with more features as you can reschedule the time to cope up
with the lacking of your tasks.
What is a timeline?
Course Code: 19CS0537 R19
o, during the journey of understanding about Gantt vs. timeline, here, we reach the timeline after
explaining the Gantt chart. Timeline is also a graphic visual explanation of your project
chronologically that clearly reflects the date when the project will be started and when it will be
completed before reaching the deadline. is slightly different from the Gantt chart as it does not
contain a long detail of horizontal and

vertical columns to elaborate the details. It just shows you the road map you need to follow, like
you will be starting from this task, then and then this. It is simpler as compared to the Gantt
chart.
meline, the project management tool is best as
• It elaborates the list of tasks you and your team will be performing throughout the
project management.
• It clearly describes the sequence of the tasks in proper order, not like the first roof then
pillar that is totally ruining.
• It let allows you to confirm the duration of the project.
• It also enables you to get your project goals by deciding the start and end date.
ow can a timeline help you while working on a project? ere, you will be able to clearly
understand the Gantt Chart vs. timeline comparison as you have already read about the Gantt chart
and now going to read about the timeline. Some important and distinctive features or the beneficial
points of the timeline of project management are listed below.
keeps you alert about the upcoming tasks. he timeline of the project is designed in a way that
you can easily track the upcoming tasks of the project. It is made just like the flow cart in vertical
bars linking the events or the tasks now to next and other next. You may say it is just like linking
the historical aspect of the projects that tells you which task you are doing and which is coming
ahead that makes you prepare before time and let you do some initials or to collect the necessary
material you need to start the next task.
helps you take U-turns if needed. also helps you to take a U-turn, which means when you find
anything disturbing or lacking in the project timeline, you can reset or do amendments in it while
taking a U-turn from the task number where you feel the problem.
allows you to grab the important events and let them schedule. nother feature of timeline
project that clearly reflects the difference between Gantt chart and timeline graph while learning
about Gantt Chart vs. timeline is its ability to grab your intentions towards the important events
you have scheduled before time like meeting with the boss or team members or the project
contractor. This is a leading feature that will keep you on the safe side, not being late or forgetting
about the scheduled meeting or other important events.
ou can take an easy and fast view of the project details while satisfying your boss or project
owner.
It is also easy to present the view of your whole journey during the completion of the project
that reveals the simple and short details of each event you have attended and the tasks you and
your team performed timely, reflecting the complete road map.
Course Code: 19CS0537 R19
10 a)List out the various types of Contracts in contract management. [L1][CO5] [6M]
he types of contracts in software project management can include fixed price, firm fixed price,
fixed price incentive fee, fixed price with economic price adjustments, purchase orders, cost
reimbursable, cost plus fixed fee, cost plus incentive fee, cost plus award fee, cost plus percentage
of cost, time and materials, and unit price contracts. Fixed Price Contracts
2. Purchase Orders
3. Cost Reimbursable Contract
4. Unit Price Contract
5. Time and Materials Contract
Fixed Price Contracts ith fixed price contracts, also known as lump sum contracts, the buyer
and service provider agree on a fixed price for the services in question. This type of contract is
low-risk for the buyer, but high-risk for the seller since the time and costs of the project could
exceed the fixed price. For this reason, a fixed price contract should include a detailed scope of
work that clearly outlines what the buyer can expect for the agreed-upon price. When the contract
is
Course Code: 19CS0537 R19
signed, the seller must complete the task or deliver the goods as agreed or risk being in breach
of contract. Types of fixed price contracts include the following:
• Firm Fixed Price Contracts: This type of fixed price contract is typically used in
government and partial government projects where the scope is defined in detail. This
makes it easy to create a request for proposals and to compare the bids you receive. The
downside for this contract is that deviating from the defined scope can be expensive.
• Fixed Price Incentive Fee Contracts: With this type of fixed price contract, the buyer also
offers a performance-based incentive as an extra payment to the seller. Performance can
be measured for this purpose by various metrics, including time, cost, or performance.
• Fixed Price Award Fee Contracts: As with the fixed price incentive fee, this type of
contract offers a bonus for exceeding a specific performance metric. For example, if the
seller delivers the product early, he or she could be eligible for a bonus equal to 10 percent
of the total contract.
• Fixed Price With Economic Price Adjustment: With this type of contract, although the
price is fixed, it can be readjusted with fluctuations in the market.
xed price contracts are commonly used on a deliverables basis for outsourcing and turnkey
procurement.
urchase Orders purchase order is a specific type of contract that is used only to purchase goods
and
commodities. ost
Reimbursable Contract
hen the scope of a project is unclear or subject to change, you should consider a cost reimbursable
contract. This document, sometimes called cost disbursable, is also useful when the risk of a
specific project is high. The seller provides work for a fixed time period or project, then increases
the bill to create profit after finishing the work. he amount of profit in this type of contract is often
based on performance metrics detailed in the document itself. The downside of this type of contract
lies with the buyer, who carries the risk for this type of contract since he or she pays all costs. The
full cost of the contract won't be defined until the work is done. For this reason, few businesses
opt to use a cost reimbursable contract.
ypes of cost reimbursable contracts include the following:
• Cost Plus Percentage of Costs/Cost Plus Fee: With this variation, the seller receives a
defined percentage of the total cost of the project upon completion. This is also an
arrangement that mainly benefits the seller.
• Cost Plus Fixed Fee: The seller receives costs incurred plus an additional flat fee that is
fixed in the contract. This amount is received when the contract is fulfilled regardless of
performance.
• Cost Plus Incentive Fee: This is a performance-based fee paid on top of actual costs. It is
a flat amount rather than a percentage.
• Cost Plus Award Fee: Similar to a cost plus incentive fee, this contract provides an award
on top of the costs incurred.
nit Price Contract
his type of contract, also called an hourly rate contract, combines elements of fixed price and cost
contracts. A unit price contract pays a specified hourly rate for every hour spent on the project.
It is commonly used by freelancer workers.
me and Materials Contract
his contract is used when labour is the main deliverable and typically provides the seller an hourly
rate.
Course Code: 19CS0537 R19
b)Explain the advantages & disadvantages of fixed price contract model. [L2][CO5] [6M]
dvantages of Fixed Price Contracts
Course Code: 19CS0537 R19
1. Cost Clarity is an advantage
A fixed-price contract provides a predictable scenario for the buyer and the seller, as well as
stability for both parties throughout the contract‘s duration. A buyer may be apprehensive that the
price of a good or service will rise unexpectedly, disrupting his business objectives. The seller
may be anxious that the value of his product or service will drop unexpectedly, lowering his
income with little or no notice. Fixing the price eliminates all of these concerns.

A buyer may also profit from the predictability of a fixed-price contract, because any degree of
uncertainty about the project‘s final cost surpassing earlier estimates is wholly transferred to the
seller. If you‘re buying supplies or resources, a fixed-price contract may be preferable to a contract
where costs may climb indefinitely over time because it offers you a concrete budget to deal with.

2. Market Change
When market forces alter the value of a product or service, including any materials or supplies
required in its creation, a fixed-price contract might be advantageous or disadvantageous. If
market forces drive the value of the commodity or service to skyrocket, the buyer benefits, but
the seller loses out on potential gains he could have made outside of the fixed-price contract. The
buyer is at a disadvantage and the seller is at an advantage when the price of a good or service
drops suddenly.

3. Budgeting and Financial Capacity


Even though a fixed-price contract may cost a buyer more money up front, the buyer can budget
for the contract‘s expenditures and ensure that it has adequate funds to meet its obligations. When
the price of a commodity or service rises drastically, the buyer may no longer be able to fulfil the
contract, forcing the seller to accept a loss and consider legal action. If the goods or services are
required for the buyer‘s business to function, the buyer‘s business may suffer.

4. There is a set deadline.


The development team can better predict the project‘s timeline with a final scope and specified
features. They can then create a clear plan with specific deadlines based on this information.

5. A development timetable that is simple to follow.


At any point during the project, you‘ll know which features will be implemented. You‘ll also be
able to detect if the delivery is running late.

6. The client does not need to manage anything.


You can delegate project management to the developer team now that the project details have
been finalised. You don‘t need to keep an eye on things all the time, so you can keep your
involvement to a minimal.

isadvantages
1. Comes at a higher price

A disadvantage is that certainty comes at a higher price.A fixed-price contract provides a buyer
with more certainty regarding the future expenses of the commodity or service specified in the
contract, but this certainty may come at a cost. The seller may recognise the risk he is taking by
fixing a price and charge more than he would for fluid pricing, or a price he could negotiate with
the seller on a regular basis, to pay for the higher risk the seller is incurring. 2. Planning takes a
long time

This contract type is not for you if you have a tight deadline for delivering your goods. To be
able to estimate accurately, the software company must first specify features in great detail,
Course Code: 19CS0537 R19
which can take weeks or months.
3. Process that is rigid

There is no way to change or add features after you sign the contract. Let‘s imagine the market
demand shifts, and a feature becomes obsolete or a new feature is required. You won‘t be able to
change the project‘s scope without negotiating each new feature and restarting the planning
process. This could cause a significant delay in the product‘s delivery.
4. Not recommended for large-scale projects
The fixed price strategy works effectively for smaller projects. The fixed approach, on the
other hand, will be overly stiff if your product is more sophisticated, such as an e-commerce
website or a multi-platform mobile app. Complex functions, dependencies, and long
implementations necessitate ongoing examination, modification, and adaptability. 5. There is
a chance of miscommunication

Clear and transparent communication is required to perform efficiently in a fixed price business.
If you overlook a detail or the project specifications are unclear, you can end up with something
that isn‘t exactly what you expected.
Course Code: 19CS0537 R19

UNIT–V
STAFFINGINSOFTWAREPROJECTS

1 Describe in detail about Managing People in Software Environment. [L1][CO6] [12M]


Managing People

Understanding Behavior
➢ Handling of projects with practical experience becomes a vital role in the
aspect of project management.
➢ The managers must be able to decide on whether it is better to have
experienced staff or get an expert advice.
➢ There are numerous theories defined to explain people‘s behavior.
➢ The theories are structures based on ―If A is the situation then B is likely
to be the solution‖.
➢ Other than the structures, there a wide range of influences on a situation
which are invisible to the users which makes it difficult to decide on the
solution.

2 a) Explain the organizational Behavior of staffing in software projects. [L2][CO6] [6M]


Course Code: 19CS0537 R19
Organizational Behavior

Work Objectives
➢ Fredrick Taylor analyzed the productive way of doing things and trained
the workers with these objectives:
• To select the best people for the job
• To instruct them in the best methods
• To give them incentives based on their performance
➢ These work objectives defined by Taylor emphasis exclusively on the
financial basis of the staff motivation and performance-related pay.
➢ This encouragement to the staff will help the project group to work
together in achieving their goals which ultimately increases the
Course Code: 19CS0537 R19
productivity.
➢ People may be motivated by money, but they are motivated by other
factors as well.
Theory X and Theory Y
Some managers‘ work for money being instrumental or called as cash- oriented
persons can be categorized based on their individual attitudes.
➢ Donald McGregor labeled two different attitudes as Theory X and
Theory Y.
➢ Theory X includes
• On an average, not every human likes to work.
• Somebody must have the control and direct the person to
work.
• Generally, people do not like hold responsibilities.
➢ Theory Y includes
• People must like to work not forced to do it.
• External control is not the way to reach organizational goals.
• There must a commitment towards the work allocated to
individuals.
• An average human can learn to accept and seek responsibility.
• Creative qualities must be widely distributed.
➢ Individual‘s behavior towards the organization can be observed when
their boss is not available.
➢ Theory X environment makes everybody to relax which can be seen
visibly whereas Theory Y is more a goal oriented approach of the
people involved in the development.
➢ A reward does not need to be a financial reward but it could be
something like a sense of achievement.
This theory explains the expectations which have a greater influence towards the
organizational behavior.

b) Define motivation. Explain the different models of motivation. [L1][CO6] [6M]


Course Code: 19CS0537 R19
Best methods for staff selection
Selecting the right person for the right job
➢ Taylor formulated this factor of selecting the right person for the right job.
➢ The other factors which includes the use of software tools,
Course Code: 19CS0537 R19
➢ methodologies, programming productivity and so on.
➢ It is always better to have the best people employed in the right place
of work for effective productivity.

➢ According to Gerald Weinberg, ―Most programmers prefer to work


alone where they are not disturbed by other people‖. Recruitment
Process
➢ There is a lot of stress for every project manager about choosing the
right people to make up their team.
➢ Recruitment is an organizational responsibility process of selecting
the person form their organization.
➢ Meredith Belbin categorizes people in recruiting process into two
different types.
• Eligible candidates are those persons who have the right
information needed by the organization in paper, i.e. the
curriculum vitaecontains the right number or years and right
paper qualifications.
• Suitable candidates can actually do the job well but are not
officially eligible. Ideal candidates once given a post are
likely to be more loyal towards the welfare of the
organization.
➢ Actual skills have to be taken into account while selecting a person
rather than mere eligibility.
➢ The recruitment policy must avoid discrimination of race, gender, age
or irrelevant disabilities.
➢ A recruitment process must include:
• Creation of job specification: type of task that has to be
carried out must be documented and agreed.
• Creation of job profile: constructs a profile of the person
needed to carry out the job with qualities, qualifications,
education and experience.
• Obtaining applicants: placing an advertisement within the
organization or the local press to get a maximum number of
potential applicants.
Course Code: 19CS0537 R19
• Examine Curriculum Vitae: all the received CV‘s are
compared with the job holder profile and if satisfied are
called for interview.

• Interviews: these include the aptitude tests, technical tests,


personality tests and examination of previous work. Group
discussions are also used for evaluating and examining the
statements provided in the CV.
• References: need to be verified and a medical examination
test can also be done if needed.

Instruction in the Best Methods


➢ The responsibility of the team leader becomes very high in case of
recruiting new members into the team.
➢ Half way through the project process, maximum effort must be taken
to make the induction of a new member into the team as an effective
one.
➢ Team members must be continually assessed by the team leader to
meet their demands in the development process.
➢ Proper training must be given to every staff member involved in the
development of the project.
➢ There are many companies which provide training to the staffs by
conducting specific courses and giving hand-on training about the
new software tool by demonstration.
➢ Whatever may be, the training process must be actually implemented
by the team members as a whole in order to meet the objectives.

3 List out the method so Staff Selection among those methods which are best [L1][CO6] [12M]
methods explain it.
Course Code: 19CS0537 R19
Motivational theories:

There are various theories formulated by different persons for


motivating the people to work. They are,
• Taylorist Model
• Maslow‘s Hierarchy of Needs
Course Code: 19CS0537 R19
• Herzberg‘s Two-Factor Theory
• Expectancy Theory of Motivation.
Taylorist Model
➢ In this model, Taylor emphasis on the piece-rates and day-rates.
➢ Piece-rates are those where the workers are paid a fixed sum for each
single item they produce whereas day-rates refer to the daily pay that
is given to the workers on a timely basis.
➢ The tendency towards dispersed or virtual projects where the staffs
either work in organization or work at home has a difference in the
payment based on time worked.
➢ The amount paid to the workers will not directly relate to maximize
the output in order to maximize their income.
➢ The amount of output will normally depend on the working group
and not based on an individual.
➢ A reward based on piece-rates is directly proportional to the work
produced. But a support team cannot be adjudged by a single person,
instead it is group activity and the reward must be given to the group
as a whole.
➢ In Taylorist model, the reward system makes excessive distinctions
between co-workers that result in damaging morale and productivity.
➢ This can be balanced by giving bonuses to project team members
after completion of a successful project.

Maslow’s Hierarchy of Needs


The basic human needs placed by Maslow in an ascending order of importance
are:

1. Physiological Needs: These are the basic needs for sustaining


human life itself, such as food, water, warmth, shelter, and sleep. Maslow
felt that until these needs are satisfied to the degree necessary to maintain
life, other needs will not motivate people.

2. Security or Safety Needs: These are the needs to be free of


physical danger and of the fear of losing a job property, food, or shelter.
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
3. Affiliation or Social Needs: Since people are social beings; they
need to belong, to be accepted by others. It includes friendship, the need
to love and be loved, socializing, etc.

4. Esteem Needs: Once people begin to satisfy their need to


belong; they tend to want to be held in esteem both by themselves and by
others. This kind of need produces such satisfactions as respect, power,
prestige, status, and selfconfidence.

5. Self-actualization Needs: This is the highest need in the


hierarchy. It is the desire to become what one is capable of becoming—
to fully realizes one's potential and to accomplish what one is capable of
achieving.

➢ People tend to be dissatisfied about their job due to certain factors.


They are
• Hygiene or maintenance factors
• Motivators
➢ A hygiene factor makes the person dissatisfied if they are not rightly
used. For example, the working condition of the worker.
➢ Motivators can make the person feel that the job is worth doing it,
like a sense of achievement or the challenge of the work.
➢ Higher-level of maintenance factors can be provided by large
organizations whereas better motivation can be provided to workers
who work in smaller organizations.
Expectancy
Theory of
Motivation
➢ Vroom identified three influencing factors on motivation. They are:
• Expectancy
• Instrumentality
• Perceived value
➢ Expectancy is a belief that working harder will lead to better
performance.
➢ Instrumentality is the belief that better performance will be
Course Code: 19CS0537 R19
rewarded.
➢ Perceived value denotes the resulting reward.
➢ When all these factors are high, then the motivation level will also
be high. At the same time, a zero level for any one of the factor can
remove motivation completely.
➢ For example, when the developer is suppose to get a software
package supplied by a third party to work and it contains a bug, the
worker gives up since how much hard work the worker puts in it will
not lead to success denotes zero expectancy.
➢ On the other side, if the user is not using the package supplied by the
developer, instead the user works on an alternative tool, it makes the
developer feel that it is waste of time and leads to zero
instrumentality.
➢ Suppose if the user is using the package but keeps on complaining
about the package and makes the developer responsibility for all
short-comings, then at some point of time the developer will not like
to get involved for implementing a newer package which leads to
low perceive value of reward.

4 a) Explain in detail the Old Hack man Job Characteristic Model in software [L2][CO6] [6M]
projects.
Course Code: 19CS0537 R19
The Oldham-Hackman job characteristic model

➢ Oldman and Hackman coined a rule that managers should group


together the elements of tasks that is carried out must be meaningful
and satisfying assignments.
➢ The satisfaction of any job will depend on the following factors:
• Skill variety
• Task identity
• Task significance
• Autonomy
• Feedback
Elements of Tasks
➢ Factors that make the job meaningful to the person who is doing it are
skill variety, task identity and task significance.
Course Code: 19CS0537 R19
➢ Skill variety is the number of different skills that the job holder
has the opportunity to exercise.
➢ Task identity is the degree to which the person‘s work and its
results are identifiable as belonging to the person.
➢ Task significance is the degree to which the job has an influence
on others.
➢ The autonomy factor is the discretion about the way the person
works.
➢ Feedback is the information the person receives back about the
results of his/her work.
➢ Personal growth needs and their working environment also
influence the perception of the job.
➢ In general, activities of the developing product should be designed
in such a manner that the person must feel personally associated
with it.
Methods to Improve Motivation

➢ Managers must adopt the factors listed below to improve


motivation.
• Set specific goals
• Provide feedback
• Consider job design
➢ Specific goals must be demanding goals but yet acceptable by staff
and should gain approval from them.
➢ Providing feedback reflects the performance of the staff about
how they are progressing.
➢ Considering job design makes the job more interesting and
provides the staff with greater responsibility.
Measures for enhancing Job

➢ Managers must involve the following measures to enhance the job


design: .
• Job enlargement
• Job enrichment
➢ Job enlargement is exactly reverse of specialization where the
person doing
Course Code: 19CS0537 R19
the job carries out a wider variety of activities.
➢ Say for example, a software developer associated with maintenance
group might be given additional responsibility for specifying minor
changes in other phases.
➢ Job enrichment is where the job holder carried out tasks at
managerial and supervisory level.
➢ Say for example, programmers in maintenance group might be given
authority to accept requests for changes for a very small period (five
days) without getting manger‘s approval.

b) How to improve group performance. [L2][CO6] [6M]


Course Code: 19CS0537 R19
Group Performance

➢ There is a strong question raised often: ―Are groups more effective


than individuals working alone?‖.
➢ It is the responsibility of the project manager to distinguish the tasks
which are supposed to be carried out together and those tasks to be
carried out by individuals.
➢ Some works yield better results when worked together as a team,
while some others are slowed down because of the work be
compartmentalized based on individuals.
➢ There are four different ways of categorizing group tasks. They are:
• Additive Tasks: in this the effort of every person are added
to reach the final result. People involved in additive tasks are
interchangeable.
• Compensatory Tasks: here, the judgements of individual
group members are taken and the results are then averaged.
These result in effective group work rather than the efforts of
individuals.
• Disjunctive Tasks: these tasks have only one correct solution
to the task. Here, if someone comes with a solution and
everybody in the team accepts it.
• Conjunctive Tasks: here, the progress is governed by the
rate of the slowest performer where until each and every

person completes their own tasks, the overall tasks do not


attain its completion. In this case, a cooperative attitude of
the team becomes productive.
➢ A major problem can arise with additive tasks that lead to social
loafing.
➢ Social loafing is a problem where some individuals do not make their
proper contribution when carrying out group assignments.

5 a) Discuss Ethical and Programmed concern sin briefly. [L2][CO6] [6M]


Course Code: 19CS0537 R19
Ethical and Programmed Concerns

Ethics relates to the moral obligation to respect the rights and interests of others –
goesbeyond strictly legal responsibilities.

Three groups of responsibilities:

• Responsibilities that everyone has

• Responsibilities that people in organizations have

• Responsibilities relating to your profession or calling


Organizational ethics
There are some who argue that ethical organizational ethics are
limited: Stockholder theory (e.g. Milton Friedman). An employee‘s
duty is to the owners of the business (which often means the
stakeholders) above all others – although legal requirements must be
met.
Competitive relationships between businesses.
Competition may cause you to do things that could have a negative
impact on the
owners or employees of competitive businesses Uniform Treatment
One example of organizational ethics is the uniform treatment
of all employees. Small business owners should treat all employees
with the same respect, regardless of their race, religion, cultures or
lifestyles. Everyone should also have equal chances for promotions.
One way to promote uniform treatment in organizations is through
Course Code: 19CS0537 R19
sensitivity training. Some companies hold one-day seminars on various
discrimination issues. They then invite outside experts in to discuss
these topics. Similarly, small company managers must also avoid
favoring one employee over others. This practice may also lead to
lawsuits from disgruntled employees. It is also counterproductive.

Social Responsibility
Small companies also have an obligation to protect the
community. For example, the owner of a small chemical company
needs to communicate certain dangers to the community when
explosions or other disasters occur. The owner must also maintain
certain safety standards for protecting nearby residents from leaks that
affect the water or air quality. There are state and federal laws that
protect people from unethical environmental practices. Business
owners who violate these laws may face stiff penalties.
They may also be shut down.

Financial Ethics
Business owners must run clean operations with respect to
finances, investing and expanding their companies. For example,
organizations must not bribe state legislators for tax credits or special
privileges. Insider trading is also prohibited. Insider trading is when
managers or executives illegally apprise investors or outside parties of
privileged information affecting publicly traded stocks, according to
the Securities and Exchange Commission. The information helps some
investors achieve greater returns on their investments at the expense of
others. Executives in small companies must strive to help all
shareholders earn better returns on their money. They must also avoid
collusive arrangements with other companies to deliberately harm other
competitors.

Considerations
A small company's organizational ethics can also include taking
care of employees with mental illnesses or substance abuse problems,
such as drug and alcohol dependency. Ethical business
Course Code: 19CS0537 R19
owners help their employees overcome these types of problems when
possible. They often put them through employee advisor programs,
which involves getting them the treatment they need. Employees may
have issues that lead to these types of problems. Therefore, they deserve
a chance to explain their situations and get the help they need.

Professional ethics
Professionals have knowledge about the technical domain
that the general public does not. Ethical duty of the expert to warn lay
people of the risks involved in a particular course of action. Many
professions, or would be professions, have codes of conduct for their
members.

b) Give a brief note on health and safety issues. [L2][CO6] [6M]


Course Code: 19CS0537 R19
Health and safety
Inadequate or the lack of occupational health and safety not only
negatively affects the traditional construction project parameters of cost, quality
and schedule, but the sustainability of the environment.
Occupational fatalities, injuries and disease constitute defects as they are not
project requirements.
They also contribute to the cost of construction and development as
workers‘ compensation insurance is included as a labour overhead and the cost of
accidents is integrated into the cost structure of contractors.
Total Quality Management (TQM) is the strategy that links the
processes of occupational health and safety, productivity and quality; health and
safety providing the catalyst for realising the synergy between the three processes.
Although each member of the client, design and construction teams
influences occupational health and safety, project managers in their capacity as
project leaders and co-ordinators are uniquely positioned to integrate occupational
health and safety into all aspects of the design and construction process.
To this end the findings of a descriptive survey will be presented which
indicate, among others: inadequate or the lack of occupational health and safety
increases project risk, and negatively affects cost, productivity, quality, schedule,
the environment, and client satisfaction; procurement systems, project duration,
design, detail and specification influence occupational health and safety, and
project managers influence occupational health and safety during all phases of a
construction project.
Increasing worldwide concern for healthy and safe workplaces and
work processes amplifies the need for the inclusion of occupational health and
safety and the environment as best practice criteria benchmarked against, among
others, zero injuries, disease and defects, and ultimately client satisfaction.

• Apart from stress, health and safety less likely to be an issue compared to other

engineering projects.
• but sometimes IT infrastructure may be set up as other building work is
going on
• UK law lays down that organizations employing over 5 staff should have
a written safety policy
• Management of safety should be embedded in project management.
• Top management must be committed to health and safety (H&S) policy
• Delegation of responsibilities relating to H&S should be clear
• Job descriptions should include H&S related responsibilities
• Need to ensure those given H&S responsibilities should understand and
accept them • There should be a designated safety officer
• Staff, particularly knowledgeable technical specialists, should consulted
about safety
• There should be an adequate H&S budget
Course Code: 19CS0537 R19
6 Prepare short notes on [L3][CO6] [12M]
a) Stress Health and safety Stress
• Edward Yourdon quotes a project manager: ‗Once a project gets rolling,
you should be expecting members to be putting in at least 60
hours a week The project manager must expect to put in as many hours as
possible.‘
• 1960 study in US: people under 45 who worked more than 48 hours a
week twice the risk of death from coronary heart disease.
• XP practice – maximum 40 hour working weekStress can be reduced by
good project management
Good project management should lead to:
• Reasonable estimates of effort
• Good project control leading fewer unexpected crises
• Making clear what is expected of each team member – reduces role
ambiguity
• Reduced role conflict where a person is torn between conflicting
responsibilities
Bullying tactics are a symptom of incompetent project
management.
b) Motivations:
Motivational theories:

There are various theories formulated by different persons for


motivating the people to work. They are,
• Taylorist Model
• Maslow‘s Hierarchy of Needs
• Herzberg‘s Two-Factor Theory
• Expectancy Theory of Motivation.
Taylorist Model
Course Code: 19CS0537 R19
➢ In this model, Taylor emphasis on the piece-rates and day-rates.
➢ Piece-rates are those where the workers are paid a fixed sum for each
single item they produce whereas day-rates refer to the daily pay that
is given to the workers on a timely basis.
➢ The tendency towards dispersed or virtual projects where the staffs
either work in organization or work at home has a difference in the
payment based on time worked.
➢ The amount paid to the workers will not directly relate to maximize
the output in order to maximize their income.
➢ The amount of output will normally depend on the working group
and not based on an individual.
➢ A reward based on piece-rates is directly proportional to the work
produced. But a support team cannot be adjudged by a single person,
instead it is group activity and the reward must be given to the group
as a whole.
Maslow’s Hierarchy of Needs
The basic human needs placed by Maslow in an ascending order of importance
are:

6. Physiological Needs: These are the basic needs for sustaining


human life itself, such as food, water, warmth, shelter, and sleep. Maslow
felt that until these needs are satisfied to the degree necessary to maintain
life, other needs will not motivate people.

7. Security or Safety Needs: These are the needs to be free of


physical danger and of the fear of losing a job property, food, or shelter.

8. Affiliation or Social Needs: Since people are social beings; they


need to belong, to be accepted by others. It includes friendship, the need
to love and be loved, socializing, etc.

9. Esteem Needs: Once people begin to satisfy their need to belong;


they tend to want to
be held in esteem both by themselves and by others. This kind of need
produces such satisfactions as respect, power, prestige, status, and
selfconfidence.
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
10. Self-actualization Needs: This is the highest need in the hierarchy.
It is the desire to become what one is capable of becoming—to fully
realizes one's potential and to accomplish what one is capable of
achieving.

Herzberg’s Two-
Factor Theory
➢ People tend to be dissatisfied about their job due to certain factors.
They are
• Hygiene or maintenance factors
• Motivators
➢ A hygiene factor makes the person dissatisfied if they are not rightly
used. For example, the working condition of the worker.
➢ Motivators can make the person feel that the job is worth doing it,
like a sense of achievement or the challenge of the work.
➢ Higher-level of maintenance factors can be provided by large
organizations whereas better motivation can be provided to workers
who work in smaller organizations.

Expectancy Theory of
Motivation
➢ Vroom identified three influencing factors on motivation. They are:
• Expectancy
• Instrumentality
• Perceived value
➢ Expectancy is a belief that working harder will lead to better
performance.
➢ Instrumentality is the belief that better performance will be
rewarded.
➢ Perceived value denotes the resulting reward.
➢ When all these factors are high, then the motivation level will also be
high. At the same time, a zero level for any one of the factor can
remove motivation completely.
➢ For example, when the developer is suppose to get a software package
supplied by a third party to work and it contains a bug, the
Course Code: 19CS0537 R19
worker gives up since how much hard work the worker puts in it will
not lead to success denotes zero expectancy.
➢ On the other side, if the user is not using the package supplied by the
developer, instead the user works on an alternative tool, it makes the
developer feel that it is waste of time and leads to zero
instrumentality.
➢ Suppose if the user is using the package but keeps on complaining
about the package and makes the developer responsibility for all
short-comings, then at some point of time the developer will not like
to get involved for implementing a newer package which leads to
low perceive value of reward.

7 What is the role of decision making in software projects and explain in detail. [L1][CO6] [12M]
Course Code: 19CS0537 R19
Decision making

Categories of Decisions

➢ Decision making process can be categorized into structured and


unstructured.
• Structured decisions are generally simple where the rules
are applied in a straight-forwards way.
• Unstructured decisions are often more complex and require
a great degree of creativity.
➢ The amount of risk and the uncertainty involved in the
development process can affect the decision making process.

Obstacles to Good Decision Making

➢ Few factors that affect good decision making process are:


• Faulty heuristics: the rules of thumb or heuristics are useful
but can be misleading. These are based on mere stereotypes.
• Escalation of commitment: this happens when a wrong
decision is made which cannot be altered easily later.
• Information overload: too much of information also might
lead the decision process to choose a wrong one.

Group Decision Making can be brought together to make a better


decision.
Course Code: 19CS0537 R19
➢ Decisions made by a team can be approved and accepted easily than
decisions imposed by individuals.
➢ Every group meeting takes the collective responsibility of having
properly briefed of solving complex problems.
➢ A group can arrive at better solutions for complex problems because
the members of the group have complementary skills and expertise.
➢ Group meetings provide an opportunity for people to communicate
freely and easily among the members of the group.
➢ Often, groups are less effective for poorly structures problems where
brainstorming techniques can be used to helps the groups to make it
structured
➢ Even though, group decision making is effective in achieving
solutions, it has been proved by research that people come up with
more ideas individually than in groups.

Obstacles to Good Group Decision Making

➢ Group decision making process has its own disadvantages:


• It is time consuming process.
• Conflicts can arise among the members of the group.
• Decisions can be influenced by dominant personalities.
➢ Once established the group norms can survive many changes of
membership in the group.
➢ Experimental results have shown that people can modify their
personal judgements to conform to group norms.
➢ Sometimes people in groups take hasty decisions that can cause more
risk then when they make their decisions on their own known as risky
shift.
Measures to reduce obstacles of Group Decision Making
➢ To make group decision making process to be more effective and
efficient the Delphi Technique can be adopted.

➢ Delphi technique endeavourers to collate the judgements of a number


of experts without actually bringing them face to face.
➢ The set of procedures is carried out as follows:
Course Code: 19CS0537 R19

• Cooperation of a number of experts is enlisted.


• Problem is presented to the experts.
• Experts record their recommendations.
• Recommendations are collated and are reproduced.
• Collected responses are recirculated.
• Experts comment on the ideas of others and modify their
recommendations.
• If the leader finds any discrepancy, the process is stopped,
otherwise it is recirculated to the experts. ➢ This method
can be adopted to geographically dispersed experts but the
process becomes time consuming.
Course Code: 19CS0537 R19
8 Illustrate the following: [L3][CO6] [12M]
a) Team Structure
Team Structures

Department Structure

➢ Departmentalization of organizations depends on staff specialties, product


lines, categories of customer or the geographical location.
➢ In general, the software development process approach is referred as either
function-oriented or task-oriented.
➢ Function oriented approach deals with different groups that are formed
based on their functional specialization.
➢ This approach leads to a more effective usage of staff both technically and
in employing the standards that are needed to be concerned.
➢ With the task oriented approach, members are grouped together with
respect to a specific task.
➢ The specific task has to be achieved by the group and the group is
dissolved after the successful completion of the particular task.

➢ Departmentalization is also based on life-cycle phase. In project life cycle


phases there are separate teams for development and maintenance.
➢ Matrix form of departmentalization can also be formed where there are
two managers namely project manager and programming
Course Code: 19CS0537 R19
manager. The project manager deals with the day-to-day activities while
the programming manager focuses on future career development.
➢ Egoless programming suggests that the programmers and the
programming team leaders should read other people‘s programs so that
the programs become a common property to both.
Team Structure
Team structure addresses the issue of organization of the individual project
teams. There are mainly three formal team structures:

Chief
programmer,
Democratic,
and
The mixed control team organizations

Chief Programmer Teams

➢ If the number of groups is larger, then the work will be slower because
of increased communication. So large projects must be formalized and
must be represented in an centralized structure.
➢ One way to avoid this, to reduce the number of people and giving them
more support to make the work done which led to the formulation of
chief programmer team.
➢ The chief programmer defines the specification, design, code, tests and
documents the entire software.
➢ The chief programmer can have a co-pilot who can assist in writing some
code and discussions.

An editor can be used to write up the documentation drafted by the chief


programmer, along with a program clerk who maintains the actual code
and a tester who validates the code.
➢ The disadvantage of chief programmer teams is that the chief
programmer is overloaded with lots of information and cannot manage
at some point of time.
➢ Extreme programming concept can overcome this disadvantage where
the software is developed by pairs of developers with a chief
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
programmer / co-pilot relationship.

Chief programmer

Team Members

In this team organization, a senior engineer provides the


technical leadership and is designated as the chief
programmer.
The chief programmer partitions the task into small activities and
assigns them to the team members.
He also verifies and integrates the products developed by different
team members.
Advantages:
The chief programmer provides an authority, and this structure is
arguably more efficient than the democratic team for
wellunderstood problems.
However, the chief programmer team leads to lower team morale,
since team-members work under the constant supervision of the
chief programmer.
This also inhibits collective and their original thinking.

The chief programmer team is subject to single point failure


since too much responsibility and authority is assigned to the
chief programmer.
Since the chief programmer carries out many tasks individually,
there is a danger of information overload on the chief programmer

Democratic Team Structure

The democratic team structure, as the name implies, does not


Course Code: 19CS0537 R19
enforce any formal team hierarchy. Decisions are taken based on discussions,
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
where any member is free to discuss with any other matters.Typically, a
manager provides the administrative leadership. At different times,different
members of the group provide technical leadership.

Advantages:

The democratic organization leads to higher morale and job


satisfaction. Democratic team structure is appropriate for less
understood problems, since a group of engineers can invent
better solutions than a single individual as in a chief
programmer team.
A democratic team structure is suitable for projects requiring
less than five or six engineers and for research-oriented projects.
For large sized projects, a pure democratic organization tends to
become chaotic.
The democratic team organization encourages egoless
programming as
programmers can share and review one another‘s work.

Disadvantages:
Consequently, it suffers from less man-power turnover Mixed Control
Team Structure
The mixed team organization, as the name implies, draws upon the ideas
from both the democratic organization and the chiefprogrammer
organization. This team organization incorporates both hierarchical
reporting and democratic set up.

The democratic connections are shown as dashed lines and the


reporting structure is shown using solid arrows.
The mixed control team organization is suitable for large team
sizes.
The democratic arrangement at the senior engineer‘s level is used
to decomposethe problem into small parts. Each democratic setup
at the programmer level attempts solution to a single part. Thus,
this team organization is eminently
Course Code: 19CS0537 R19
Course Code: 19CS0537 R19
suited to handle large and complex programs.

b) Virtual Teams

Virtual Teams

A Virtual Team – also known as a Geographically Dispersed Team


(GDT) – is a group of individuals who work across time, space, and
organizational boundaries with links strengthened by webs of communication
technology. They have complementary skills and are committed to a common
purpose, have interdependent performance goals, and share an approach to
work for which they hold themselves mutually accountable. Geographically
dispersed teams allow organizations to hire and retain the best people
regardless of location. A virtual team does not always mean teleworkers.
Teleworkers are defined as individuals who work from home. Many virtual
teams in today‘sorganizations consist of employees both working at home and
small groups in the office but in different geographic locations.

Why Virtual Teams?


Best employees may be located anywhere in the world.

Workers demand personal flexibility.

Workers demand increasing technological sophistication.

A flexible organization is more competitive and responsive to the


marketplace.

Workers tend to be more productive – less commuting and

travel time. The increasing globalization of trade and

corporate activity.

The global workday is 24 vs. 8 hours.

The emergence of environments which require interorganizational


cooperation as well as competition.

Changes in workers‘ expectations of organizational participation.


Course Code: 19CS0537 R19

A continued shift from production to service/knowledge work


environments.

Increasing horizontal organization structures characterized by


structurally and geographically distributed human resources.
9 Demonstrate the Communication Genres with simple examples. [L2][CO6] [12M]
Course Code: 19CS0537 R19
Communication genres

A major influence on the nature of communication genres is the


constraints of time and place. Modes of communication can be categorized as
combinations of two opposite: Same time/Different time and Same
Place/Different Place.

Same Place Different Place

Same Time Meetings, Telephone, Instant Messaging


Interviews
Different Time Notice Boards E-mail, Voice mail, Documents

The nature of the information to be conveyed:

o What is the extent and complexity of the information to be


conveyed?

A phone conversation if message is simple

o Is it easy to understand? Is the context well known to both the


sender and the recipient?

Two way communication


o Where the communication is

personally sensitive

Face-to-face contacts

At different stages of a project – different communication genres will be

preferred Early stages – meeting(s)

Team members need to build up their trust and confidence in their co-

workers

Decision making
Course Code: 19CS0537 R19

Intermediate stages (design) –

teleconferencing Activities

executed in

parallel
Some points needs

to be clarified

Implementation stages - emails

Everyone knows his role, work can progress

10 Define Communication Plan. Write down the results of communication plan in [L1][CO6] [12M]
projects.
Course Code: 19CS0537 R19
Communication plans

A communications plan, in project management, is a policy-driven


approach to providing stakeholders with information about a project. The plan
formally defines who should be given specific information, when that
information should be delivered and what communication channels will be used
to deliver the information.

An effective communications management plan anticipates what


information will need to be communicated to specific audience segments. The
plan should also address who has the authority to communicate confidential or
sensitive information and how information should be disseminated (email, web
sites, printed reports, and/or presentations). Finally, the plan should define what
communication channels stakeholders should use to provide feedback and how
communication documentation will be archived as part of the project records.

In some organizations the communications management plan may also include a


glossary of common project terminology that will be used within the project. This
glossary may define and include samples of templates, reports and forms that the
project manager will use to communicate information.

The result of the communication process could be documented in a table with the
following column headings.

• What – This contains the name of a particular communication event


• Who/target – The target audience for the communication
• Purpose – What the communication is to achieve
• When/frequency – If the communication by means of a single event, then
a specific date can be supplied. If the event is a recurring one, such as a
progress meeting, then the frequency should be indicated

• Type/method – The nature of the communication, for example a meeting


or a distributed document

• Responsibility – The person who initiates the communication


Course Code: 19CS0537 R19

You might also like