Soft Engg 3
Soft Engg 3
UNIT – III
SOFTWARE PLANNING & SCHDULEING
SOFTWARE PROJECT
● The most important is that technology changes and advances so regularly and
rapidly that experience of one product may not be applied to the other one.
● All business and environmental constraints bring risk in software development hence
it is essential to manage software projects efficiently.
● Project manager may never directly involve in producing the end product but he
controls and manages the activities involved in production.
● A project manager closely monitors the development process, prepares and executes
various plans, arranges necessary resources, maintains communication among all
team members about issues of cost, budget, resources, time, quality and customer
satisfaction.
1
Software Project Manager Responsibilities:
1) Discussing possible projects and their parameters with clients, executives, and
software developers.
2) Planning out the blueprints(design plan) for software projects, defining the scope,
allocating resources, setting deadlines, laying out communication strategies, and
indicating tests and maintenance.
3) Assembling and leading the project team.
4) Participating and supervising each stage of the project.
5) Ensuring each project stays on schedule and set the deadlines.
6) Creating a project budget and ensuring the project budget as closely as possible.
7) Closely looks towards consistent testing, evaluation, and troubleshooting of all
products in all stages of completion.
8) Delivering completed software products to clients and performing regular checks on
the products' performance.
PROJECT SCHEDULING
● Project managers tend to define various tasks, and project milestones and arrange
them keeping various factors in mind.
● They look tasks as per the schedule, which is necessary to complete in specific
manner and strictly within the time allocated.
2
For scheduling a project, it is necessary to -
Project 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.
2) Effort estimation
3) Time estimation
● Once size and efforts are estimated, the time required to produce the software can
be estimated.
3
● Software tasks are divided into smaller 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.
4) Cost estimation
Size of software
Software quality
Hardware
Additional software or tools, licenses etc.
Skilled personnel with task-specific skills
Travel involved
Training and support
Project manager can estimate the listed factors using two broadly recognized
techniques –
1) Decomposition Technique
● Line of Code Estimation (LOC) is done on behalf of number of line of codes in the
softwareproduct.
4
2) Empirical E stimation Technique
A) Putnam Model
● Putnam noticed that software staffing profiles followed the well-known Rayleigh
distribution. Putnam used his observation about productivity levels to derive the
software equation:
● The exact value of Ck for a specific task can be computed from the historical data of
the organization developing it.
● Putnam proposed that most staff develop on a project should follow the Rayleigh
curve.
● As the project progresses and more detailed work are necessary, the number of
engineers reaches a peak.
5
B) COCOMO
● The COCOMO model has basically two parameters like effort calculation and
development time to define the quality of any software product.
● Development time: it is calculated in the unit of time like months, weeks, and days.
It depends on the effort calculation, if the number of persons is greater than definitely
the development time is low.
● There are various types of models of cocomo that have been proposed to check the
correctness of the software products and to calculate the cost estimations at the
different levels. These levels also depend on the strategies to develop accurate software
products. These strategies are as follows:
● Project is small and simple. Project team is small with prior experience. The problem
is well understood and has been solved in the past.
● Requirements of projects are not rigid; such a mode example is payroll processing
system.
● The project has an intermediate size and has mixed rigid requirements such a mode
example is a transaction processing system, inventory management system.
6
3) Embedded Mode: A software project is said to be an Embedded mode type if-
● A software project requiring the highest level of complexity, creativity, and experience
requirement fall under this category.
1) Basic COCOMO: The basic COCOMO is employed for rough calculations, limiting
software estimation precision. This model only considers lines of source code and
constant values derived from software project types rather than other elements that
impact the software development process.
Experienced staff leaving the project and new staff coming in.
Change in organizational management.
Requirement change or misinterpreting requirement.
Under-estimation of required time and resources.
Technological changes, environmental changes, business competition.
Identification - Make note of all possible risks, which may occur in the project.
7
Categorize - Categorize known risks into high, medium and low risk intensity as per
their possible impact on the project.
Manage - Analyse the probability of occurrence of risks at various phases. Make plan
to avoid or face risks. Attempt to minimize their side-effects.
Monitor - Closely monitor the potential risks and their early symptoms. Also monitor
the effects of steps taken or avoid them.
A) Activity Monitoring - All activities scheduled within some tasks can be monitored
on day-to-day basis. When all activities in a task are completed, it is considered as
complete.
B) Status Reports - The reports contain status of activities and tasks completed within
a given time frame, generally a week. Status can be marked as finished, pending or work-
in-progress etc.
C) Milestones Checklist - Every project is divided into multiple phases where major
tasks are performed (milestones) based on the phases of SDLC. This milestone
checklist is prepared once every few weeks and reports the status of milestones.
Configuration Management
● IEEE defines it as “the process of identifying and defining the items in the system,
controlling the change of these items throughout their life cycle, recording and
reporting the status of items and change requests, and verifying the completeness and
correctness of items”.
8
Baseline
Change Control
The risk and uncertainty rise multi fold with respect to the size of the project, even
when the project is developed according to set methodologies.
There are tools available, which aid for effective project management. A few are
described -
1) Gantt Chart
● Gantt charts was devised by Henry Gantt (1917). It represents project schedule with
respect to time periods.
● The purpose of Gantt chart is to stress on of individual tasks. Hence set of tasks is
given as input to Gantt chart. Gantt chart is also known as timeline chart.
● It can be developed for entire project or it can be developed for individual functions.
● In project tables, all tasks are listed in proper manner along with start date and end
date and information related to it.
9
3) When occurring of multiple horizontal bars takes place at same time on calendar,
then that means concurrency can be applied for performing particular tasks.
Advantages:
1) Simplify Project:
Gantt charts are generally used for simplifying complex projects.
2) Establish Schedule:
It simply establishes initial project schedule in which it mentions who is going to do
what, when, and how much time it will take to complete it.
3) Provide Efficiency:
It brings efficiency in planning and allows team to better coordinate project
activities.
4) Ease at understanding:
It makes it easy for stakeholders to understand timeline and brings clarity of dates.
5) Visualize project:
It helps in clearly visualizing project management, project tasks involved.
Disadvantages:
2) Operations Manager –
Operations Managers generally control and handle resources that are essential for
company operations.
10
2) PERT Chart
● 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.
Characteristics of PERT:
1) It serves as a base for obtaining the important facts for implementing the
decision-making.
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.
Advantages of PERT:
Disadvantages of PERT:
11
3) Resource Histogram
● This is a graphical tool that contains bar or chart representing number of resources
required over time for a project event.
● It’s basically a resource planning graph that displays the amount of time a resource
is scheduled to work over a period of time.
● Project managers use resource histograms as they monitor the project and track its
progress.
● Resource histograms have a horizontal axis that shows the range or value of gaps
between variables, and the vertical axis, which represents the number of times that
the interval occurred. The bars represent the resource.
● This tool is useful in recognizing interdependent tasks in the project. It also helps to
find out the shortest path or critical path to complete the project successfully.
● This tool shows dependency of event assuming an event can proceed to next only if
the previous one is completed.
● The events are arranged according to their earliest possible start time. Path between
start and end node is critical path which cannot be further reduced and all events
require to be executed in same order.
12
PROJECT STAFFING
● It includes the identification of the right person for handling the project, assignment
of required responsibilities to the selected team.
● Different projects may require different skilled and knowledge the individuals as well
as team scheduling.
● He needs to identify good, experienced software engineers for the project and their
team with proper organization. The proper selection of software engineers reflects the
overall productivity of the entire software team.
1) Training –
2) Team Structure
● The team structure means the arrangement of the individual project teams.
● Project team must be arranged in such a way that they work in an organized manner
and complete the project as a unit.
13
● The team structure always makes a desired impact on the productivity and quality
of product.
● Based on the type and complexity of the project the project manager needs to
organize his team.
● There are basically three formal team structures: chief programmer team, egoless
team and controlled decentralized team organizations.
● In this team structure, there is a senior engineer who affords the technical leadership
for the project. He is designated as the chief programmer of the team.
● He makes the partitions of the task into many smaller tasks and allocates them to
different team members under his leadership.
● He is the only one person who will communicate with their project members about
the project.
4) Egoless Team
● The egoless team structure very simple and does not follow any formal team
hierarchy. The main aim is to involve each and every member of the team in any
decision making during the development process of the proposed product.
● This kind of team structure is suitable for handling complex and difficult project
with many technical challenges.
● The controlled decentralized team mixes the ideas from both the egoless organization
and the chief-programmer team organization.
● This team structure consists of a project leader, who has a group of senior
programmers. Each of the senior programmers again has a group of junior
programmers under his leadership.
14
● The project leader communicates with the senior programmers and the senior
programmers communicate with the junior programmers.
QUALITY PLANNING
● Quality planning involves identifying which quality standards are relevant to the
project and determining how to satisfy them.
2) Scope statement: The scope statement is a key input to quality planning since it
documents major project things are provided as well as the project objectives which
serve to define important stakeholder requirements.
3) Product description: The product description will often contain details of technical
issues and other concerns that may affect quality planning.
4) Standards and regulations: The project management team must consider any
application-area-specific standards or regulations that may affect the project.
15
Outputs from Quality Planning
1) Quality management plan:
● In ISO 9000 terminology, it should describe the project quality system: “the
organizational structure, responsibilities, procedures, processes, and resources
needed to implement quality management”.
● The quality management plan provides input to the overall project plan and must
address quality control, quality assurance, and quality improvement for the project.
2) Operational definitions:
● An operational definition describes, in very specific terms, what something is, and
how it is measured by the quality control process.
● The project management team must also indicate whether every activity must start
on time, or only finish on time; whether individual activities will be measured or only
certain activities will be measured.
3) Checklists:
● A checklist is a structured tool, usually industry- or activity-specific, used to verify
that a set of required steps has been performed.
● Many organizations have standardized checklists available to ensure consistency in
frequently performed activities.
1) Benefit/cost analysis:
● The primary benefit of meeting quality requirements is less rework, which means
higher productivity, lower costs, and increased stakeholder satisfaction.
● The primary cost of meeting quality requirements is the expense associated with
project quality management activities.
2) Benchmarking:
● Benchmarking involves comparing actual or planned project practices to those of
other projects in order to generate ideas for improvement and to provide a standard by
which to measure performance.
3) Flowcharting:
A flowchart is any diagram which shows how various elements of a system relate.
16
Flowcharting techniques commonly used in quality management include:
• Cause-and-effect diagrams, also called Ishikawa diagrams or fishbone diagrams,
which illustrate how various causes and sub causes relate to create potential problems
or effects.
• System or process flowcharts, which show how various elements of a system
interrelate.
• Flowcharting can help the project team anticipate what and where quality problems
might occur and thus can help to develop approaches to dealing with them.
QUALITY ASSURANCE
● Quality assurance is all the planned and systematic activities implemented within
the quality system to provide confidence that the project will satisfy the relevant quality
standards.
● Prior to development of the ISO 9000 Series, the activities described under quality
planning were widely included as part of quality assurance.
● Quality assurance is provided by a Quality Assurance Department. Assurance may
be provided to the project management team and to the management of the performing
organization or it may be provided to the customer and others not actively involved in
the work of the project.
3. The quality standards that must be adhered to for each deliverable is stated.
6. The entrance and exit criteria for each stage must be defined.
9. Establish the development and testing team (The hardware, software, tools, licences)
17
PEOPLE CMM
CMM is a method to evaluate and measure the maturity of the software development
process of an organization.
CMM v1.0 was developed by the Software Engineering Institute (SEI) at Carnegie
CMM was originally developed for Software Development and Maintenance but
● Systems Engineering
● Supplier Sourcing
● Software Acquisition
CMM Example
● The People Capability Maturity Model (People CMM, P-CMM) is part of the CMMI
improvement actions.
18
The PCMM have five maturity level & each level have specific process areas-
Maturity Level 1: Initial: In the Initial Level, there are no process areas. Workforce
Maturity Level 2: Repeatable: The key process areas at Level 2 focus on instilling
● Work Environment
● Communications
● Staffing
● Performance Management
● Training
Maturity Level 3: Defined: The key process areas at Level 3 address issues
4. Maturity Level 4: Managed: The key process areas at Level 4 focus on quantitatively
● Mentoring
● Team Building
● Team-Based Practices
● Organisational Competency Management
● Performance Alignment
19
Maturity Level 5: Optimising: The key process areas at Level 5 cover the issues that
● Project risks: risk which are affect the project schedule or resources.
● Product risks: are risks which are affect the quality or performance of the software
being developed.
● Business Risks: are risks which affect the organization developing or procuring the
software.
1) Risk identification
2) Risk Analysis
3) Risk Planning
4) Risk Monitoring
1) Risk Identification: This is the first stage of risk management. These types include
A) Technology risks: Risks which are defines from the software or Hardware
technologies.
B) People risks: Risks which are associated with the people in the development team.
C) Organisational risks: Risks which are derive from the organizational environment
D) Tool risks: Risks which derive from the CASE tools and other support software used
F) Estimation risks: Risks which are derive from the management estimates of the
2) Risk Analysis:
● During this risk analysis process, each identified risk is considered in turn and a
judgment made about the probability and the seriousness of the risk.
● Once the risks have been analysed and ranked, a judgment must then be made about
which are the most important risks must be considered during the project.
a) Avoidance strategies: The probability that the risk will arise will be reduced.
c) Contingency plans: If the worst happens, prepared for it and have a strategy in
4) Risk Monitoring:
● It involves regularly assessing each of the identified risks to decide whether or not that
risk is becoming more or less probable and whether the effects of the risk have changed.
review, each of the key risk should be considered separately and discussed by the
meeting.
21