0% found this document useful (0 votes)
36 views23 pages

Notes-SE-Module-4 & 5

Ok

Uploaded by

gowdacharu91
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)
36 views23 pages

Notes-SE-Module-4 & 5

Ok

Uploaded by

gowdacharu91
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/ 23

||JAI SRI GURUDEV||

Sri AdichunchanagiriShikshana Trust ®

SJB INSTITUTE OF TECHNOLOGY


( A Constituent Institution of BGS & SJBIT Group of Institution & Hospitals)

Department of Computer Science & Engineering

Study Material- Notes: Module-4& 5

Course Name: SE &PM


Course Code: BCS-501
Semester : 5th A & C

By

Faculty Name: Dr. Shantha Kumar H C


Asso. Professor
Department of CSE

Aca. Year: Odd Semester / 2024-2025


TOPIC: PROJECT MANAGEMENT

Software Process/ Product /Project:

Software project is the complete procedure of developing software productsfrom


feasibility, requirement gathering to testing and maintenance. Which iscarried out
according to the execution methodologies, in a specified period of time to achieve
intended goals and objectives.
Software project development mainly focuses on following constraints:

 Time
 Cost
 Quality

During the development process there can be many factors both internal andexternal
which can impact heavily on these triple constraints.

Software Project Manager


A software project manager is a person who undertakes theresponsibility of
executing the software project effectively.
Software project manager is thoroughly aware of all the phases of SDLC that the
software would go through.
Project manager may never directly involve in producing the end product but he
controls and manages the activities involved in production.

Project Management should mainly comprise of following activities:

 Planning and closely monitoring the development process.


 Preparing and executing various plans.
 Arranges necessary and adequate resources.
 Maintaining communication among all team members in order to address
issues of cost, budget, resources, time, quality and customer satisfaction.

Software Project Management (SPM):


Software project management is a proper way of planning and leading the software
projects so as to get efficient andeffective software product / application.
It is a part of managing the process in which software projects areplanned, designed
implemented, monitored, and controlled in an efficient and effective way.

Need for Software Project Management

• Software development is a new stream in business and there is little


experience in building software products. Most of the software products
are made to fit clients’ requirements.
• The most important is that basic technology changes and advances so
frequently and rapidly that the experience of one product may not be
applied to the other one.
• Such types of constraints increase risk in software development hence it
is essential to manage software projects efficiently for an organization to
deliver quality products, keep the cost within the client’s budget, and
deliver the project as per schedule.

Contract management:

Contract management or contract administration is the process of contracts made


prior to development with customers, vendors, partners, or employees.
Contract management includes negotiating the terms and conditions with ensuring
the terms and conditions, as well as documenting and agreeing on any changes that
may arise during its implementation or execution.
It can be summarized as the process of systematically and efficiently managing
contract creation, execution, and analysis for the purpose of maximizing financial
and operational performance and minimizing the risk.

Need for contract management


Contract management is important because how you handle the complete
process(end-to-end) will influence the outcomes of the agreements.

The process of CM is designed to help businesses to extract maximum value from


contracts, while remaining compliant with regulations and staying in control of
relationships with third parties.
Project Manager supervises the contract and delegates many technically oriented
decisions.

Various activities in Project Management:

Software project is not just concernedonly with writing the software code, it
usually consists of 3 successive processes that bring a new system into market.

 feasibility Study
 Project Planning
 Project Execution

Above three phases are focused in detail with more technical issues along with
effort needed by individuals as long as the overall project is within budget and on
time.

Feasibility study focuses on writing project proposal with special skills which
always gained by experience, by studying the market completely in connection with
the product to be taken up for development.
The software organization team depends on having enough project proposals
accepted and contracts awarded.

There are no set guidelines for writing a project and it depends mainly on the project
manager’s skill, market demand and customer satisfaction.

Project planning is done soon after the positive feedback from feasibility report, to
identify the activities, milestones and deliverables produced in a project.

It must include a clear and a well-defined idea of methods to guide the development
stages for the achievement of project goals.

It is like an outline or road map for the whole process which is to be taken up in an
appropriate manner.

Project execution is often containing design and implement phases, it could be


architecture, models and user interface.

Planning and design should not be confused, because at the most detailed level,
planning decisions are influenced by design decisions.

Which also includes wring project code and executing the same with various test
cases by satisfying customer requirements.

Plan Methods and Methodologies :


Planis an activity based on some novel ideas and skills related to any development
process.For example, you were asked to test some software, you need not know
everythingabout the software to be tested. Instead, you could assume that you need
to carryout the following;

 Analyse the requirements for the software.


 Devise and write test cases that will check that each requirement has been
satisfied.
 Create test scripts and expected results for teach test case.
 Compare the actual results and expected results.
Method is a type of activity / approach, in general plan takes the method and
converts it to real activities. Methods focuses on

 Who will carry out


 When to start and end
 What tools and resources
Selecting methods for particular activity are generally based on the project
complexity.

Methodologiesare the group of methods or techniques / frame work used. In general


methodologies defines the systematic framework with specific deliverable at each
stage of the development process. Examples: RAD, Spiral, Water Fall etc.…….
Choosing the right software development methodology is much important for the
project success. It influences how teams collaborate, make decisions, manage
changes, and ultimately deliver the product.

Categorizing S/W Projects :


Most projects differ heavily because of the different technical products to be
created. Thus, we need to identify the characteristics of a project which could affect
the way in which it should be planned and managed.

Few characteristics considered for categorizing s/w projects are:

• Compulsory versus voluntary users


• Information system versus embedded systems
• Objective driven development
• Generic projects
• Outsourced projects

Above characteristics are used in a different way in characterizing traditional or


modern software projects in the following figure.
Compulsory versus voluntaryusers projects: General software projects falls into
this category.Which intern seen as generic software's and vertical software's.
Here Generic software's are the products designed for general use and can be used
by multiple customers. These products typically performs common functions that
are useful for many users.Ex: Ms word, Excel, Spread sheet management, Web
browsing….
Vertical software's are the products designed to meet the needs of specific industry
or business.Ex: Healthcare, Banking, Education, Finance, Business …….

Software service-oriented products on the other hand covers large category of


projects such as Customization projects(Developed by some existing software's)
Maintenance projects(Software’s developed are under monitoring over the period
of time)
Outsourced projects (While developing large projects company might outsource
some parts of its work to other companies) testing and consultancy projects and so
on.

Stake holders& Setting Objectives :

Stake holders are the people who have interest in the project. The primary
stakeholders in a corporation include its investors, employees, customers, and
suppliers, publics.

Stake holders can be categorized as :

 Internal to the project team


 External to the project team but with in the organization
 External to the project team and organization

Internal stakeholders: are significantly affected by a company and its performance


and will be under the direct control of project manager.
Example: Programmer or Owners of the firm.
External stakeholders with in organization: are not in the team but may
involve in operational issues.
Example: Project manager, and other managerial persons.
External to both team and organization stakeholders:These stakeholders will not
have any direct involvement withthe team and managers.
Example: Customer / Clients.

Objectives are nothing but achieving desired functionalities with customer


satisfaction fulfilling all the features like efficiency, correctness, portability,
flexibility, reusability etc.…

Objectives focuses on desired outcomes of the project rather than the task included
in it.There may be several stakeholders pertaining to the project but who sets
objectives is important. Like Customer/end user, programmer, team leader,
manager????
Usually, Objectives are often set by project steering committee or project
management board, with overall responsibilities of setting, monitoring and
modifying the objectives.

Project manager controls and coordinates project on day-to-day basis and reporting
the complete process to the project management board.

Sub objectives and goals: Sub objectives are the defined factors with proper
assumptions that how the main objective is achieved.

Few sub objectives that can be considered for achieving main objective are:

 Reduction of operational staff


 Reduction of cost at appropriate level
 Reduction of time &Other measurables (Explain all 3 in 2-3 lines)

Business case :
Business case is a justification report prepared between the organization and
customer, which should be established at the time of feasibility study. Business case
document typically contains:

 Introduction and background of the proposal


 Need of proposed product
 Market condition
 Organizational and operational Infrastructure
 Cost and Benefits
 Implementation plan
 Risk management … (Explain all 7 in your own words)

Project Success or Failure :


Project success or failure is directly depending on the project plan and design.In
general, every project will have a problem, like some stakeholders might see it as a
success, and others do not.
The success or failure of project is judged based on two objectives:

 Project objectives
 Business objectives

Project objectives are the targets that project team must achieve, these can be
summarized as:

 Agreed functionalities
 Required quality
 On time
 With in budget

In reality a project could meet all the objectives (Project objectives) but could fail to
meet business objectives after delivering to customer. Meaning that meeting project
objectives will not alone measure success of the project.

Business objectives are the targets which arises after the product is delivered,
generally product must satisfy following:

• Might not find good sales in market


• Exceed in cost for added benefits
• Poor relationship between customer and company

Management & Management Control :


Management is basically controlling and coordinating the work flow in any process.
In general management should follow various aspects, and suggested activities in
management includes:

 Planning
 Organizing
 Satisfying
 Directing
 Monitoring
 Controlling
 Innovating
 Representing

Planning: Initial project planning is undertaken immediately after the feasibility


study phase and before starting requirement analysis and specification process.
Initiation includes estimating several characteristics of a project, based on these
estimates all other subsequent activities are planned.

Monitoring: Initial project plans are revised periodically as the project progress.
Once the project execution starts, monitoring and control activities are taken up to
ensure that the project execution proceeds as per the plan, and activities are closed
successfully.
Controlling is the process of gathering / analysing data on the progress of the
project schedule and the cost incurred, and ensuring that it is on track.
This process requires the project manager to collect and understand information
about the project, team, and circumstances to make informed decisions.

Management Controllingprocess includes evaluating the project progress,


forecasting the future based on current measurements and then implementing
measures to improve performance.
Since the project environment is dynamic and unpredictable, controlling projects is
fairly challenging issue as things don’t always go in the planned way. Following are
the important benefits that we can achieve by management control in any project
development process.

• Optimized Resource Consumption


• Facilitates Decision Making
• Accountability & Better Coordination
• Regular Reporting
• Avoiding unnecessary change against original plan

Traditional v/s Modern Project Management Practices :

Over the last two decades the basic approach taken by the software industry to
develop software has undergone radical change. Initially developmentswere based
on some existing product or reusing certain pre-built libraries.
Recent development focuses on maximization of code reuse and minimizing project
duration. Other goal includes client feedback, customer participation, change
requests, demanding further reduction in time and cost.
Some of the important differences between traditional and modern project
management practices are:
 Planning Incremental Delivery
 Change Management
 Quality Management
Planning Incremental Delivery: Traditional projects were much simpler and
therefore more predictable than present day modern projects. Hence projects were
planned with sufficient detail, much before the actual project execution starts.
Modern projects are much complex and therefore not predictable. Though projects
were planned with sufficient detailsmuch before the project execution, requires
incremental delivery with key strategies.

Change Management: In traditional projects any changes to the requirements were


rarely entertained. Whereas modern projects are much comfortable in navigating
changes and responding to evolving requirements based on feedback.

Quality Management:In traditional projects customer awareness about the product


quality was poor, since customer used to signed off by the development process.
Where as in modern projects awareness has increased significantly and tasks
associated with quality management have become an important responsibility of the
project manager.

Evaluation of Projects :

Project evaluation is the process of measuring the success of a project or any


application. This is done by gathering data about the project.
It is a systematic and objective assessment of an ongoing or completed project, like
project objectives, development effectiveness, efficiency, impact and sustainability.
Individual projects can be evaluated through following ways.

 Technical assessment
 Cost based analysis
 Cash flow fore casting

Technical assessment of a proposed system focusses on evaluating whether the


required functionality can be achieved with existing affordable tools and
technologies. It is also associated with organizational policies, aiming at providing
infrastructure.
Cost benefit of any system aiming at a return on investment, it must be as minimum
as possible to provide a greater income.

Cost based analysis intern comprises of two important steps


• Development costs
• Operational costs

Cash flow forecasting: It is an important evaluation process where overall cost and
benefits of a project are accessed properly.
We need to spend money on staff, from company during development process
without waiting until the completion of project.
Actual cash flow forecasting in complex project is difficult, many a times it changes
over the period of time.
Benefit will be calculated by with respect to money spent and profit gained.

Risk & Risk Evaluation:


Risk is any error / mistake / event that can affect your project adversely in achieving
objectives, as a result which prevent the project from being completed successfully.
Risk Identification and Ranking: During project evaluation we should identify the
risks and quantify their effects. One way of evaluating is check listing and
classifying possible risks according to their relative importance.
Risks can be categorized as low, medium and high, and preferences can be given
accordingly.
Sometimes low risk could be ignored medium could be moderate and high risk
could be complex in nature, and must be addressed effectively.
Risk analysis is a critical process in project management and decision-making as
there are numerous project hazards that could impact your project.
There are several risk analysis methods and tools to determine the likelihood and
impact of project risks that help managers through the analysis and decision-making
process.
 Team Brainstorming Sessions
 SWOT Analysis (Strength Weakness Opportunity Threat)
 Qualitative Risk Analysis (Non-statistical approach)
 Quantitative Risk Analysis (Statistical approach)

Team Brainstorming Sessions:Brainstorming is a creative thinking technique for


coming up with new ideas and solving problems.
Brainstorming is a group problem-solving method that involves the spontaneous
contribution of creative ideas and solutions. This technique requires intensive,
freewheeling discussion in which every member of the group is encouraged to think
aloud and suggest as many ideas as possible based on their diverse knowledge.

SWOT Analysis: A SWOT analysis is a technique used to identify strengths,


weaknesses, opportunities, and threats for your business or even a specific project.
It's most widely used by organizations—from small businesses and non-profits to
large enterprises.
SWOT analysis is a framework used to evaluate a company's competitive
position and to develop strategicplanning.
Software Project Management:
In general Quality means >>>Good Thing
Success full project may not be Quality Product in some cases.

Software quality is the capability of a product to satisfy stated and implied needs
when used under specified conditions.
Another definition states that software quality is the degree to which those
established requirements accurately represent stakeholder needs, wants, and
expectations.
software quality helps reduce problems and errors in the final product under
operation by the end user.

The place of software quality in planning project:

Quality should be monitored at all stages of project planning and execution. But it
will be of particular interest at the following points.

Step 1: Identify project scope and objectives, because some objectives could relate
to the qualities of the application to be delivered.

Step 2 : Identify project infrastructure which identifies installation standards and


procedures.

Step 3: Analyse project characteristics for example, if it is safety critical then a


range of activities could be added.

Step 4: Identify the products and activities of the project, at this point entry-exit and
process requirements are identified for each activity.
The complete process focusing with quality will start at the Selection of project -
>Identifying scope and objectives ->Identifying infrastructure ->Analyse project
characteristics ->Identify project activities ->Estimate effort for each activity -
>Identity activity risks ->Allocate resources ->Review publicize plan ->Execute
plan

Importance of Software Quality:

Quality software refers to one which is reasonably bug or defect free, is delivered in
time and within the specified budget, meets the requirements / expectations, and is
maintainable.

For example, a product that will have everything that the users need but has an
associate degree virtually not comprehensive (confusing) and not maintainable code.

In such case, the normal construct of quality as “fitness of purpose” is not


satisfactory.
Software quality finds its importance by satisfying the following factors.

 Correctness
 Efficiency
 Usability
 Maintenance
 Portability
 Reliability
 Reusability
 Flexibility

Techniques which enhances s/w quality:

Software quality is not just about just testing. It is about providing quality assurance
to users. Testing helps us to improve the software quality, and increase the
performance and the speed at which you deliver your projects.

How ever similar to other process there are various techniques that helps to enhance
software quality. Three main themes that are considered for this are:

 Increasing visibility
 Procedural structure
 Checking intermediate

Increasing visibility: In this technique programmer usually looks at each others


code.

This technique is proposed by Gerald Weinberg's advocacy of egoless programming.

Egoless programming is a style of computer programming in which personal factors


are minimized so that quality may be improved.

Procedural structure: In this technique programmer were left to get on with writing
programs at their best.
Secondly because of the growth in methodologies suitable methodology is carefully
selected to execute the required work.

Checking intermediate stages: Generally, in the development process with due


overconfidence it tempts us to push forward quickly, leaving working model unclear
and imperfect. Hence it is good to move towards quality practices at each stage.

How ever recently, focus has been shifted from relying solely on above discussed
techniques to other quick techniques.

 Early testing
 Component testing
 Walk through inspections
 Peer reviews

Software Quality Models :

Software quality models provide the basis for specifying quality requirement and
evaluating accordingly. Standard models proposed are:

 Boehm’s Software Quality Model


 McCall’s Software Quality Model
 Garvin's Software Quality Model

Boehm’s Software Quality Model: Boehm introduced his software quality model,
which defines software quality through a hierarchical structure of attributes and
metrics. This model is similar to the McCall Quality Model but encompasses a
wider range of characteristics, including hardware performance-related ones.

Primary Uses of Boehm’s Model The highest level of Boehm’s model has the
following three primary uses, as stated as below:

1. As is the utility: The extent to which, we can use software as-is.


2. Maintainability: Effort required to detect and fix an error during
maintenance.

3. Portability: Effort required to change the software to fit in a new


environment.

Quality factors associated with Boehm's method:

 Portability: Effort required to change the software to fit in a new


environment.
 Reliability: The extent to which software performs according to requirements.
 Efficiency: Amount of hardware resources and code required to execute a
function.
 Usability (Human Engineering): Extent of effort required to learn, operate
and understand functions of the software.
 Testability: Effort required to verify that software performs its intended
functions.
 Understandability: Effort required for a user to recognize a logical concept
and its applicability.
 Modifiability: Effort required to modify software during the maintenance
phase.

McCall’s Quality Model: McCall’s Quality Model aims to cover the gap between
users and developers by highlighting several kinds of software quality factors that
reflect both the views of users and developers’ interests.
The model distinguishes between two levels of quality attributes:
• Quality Factors
• Quality Criteria
Quality Factors: The higher-level attributes that can be accessed directly are called
quality factors. These attributes are external. The attributes at this level are given
more importance by the users and managers.
Quality Criteria: The lower or second-level quality attributes that can be accessed
either subjectively or objectively are called Quality Criteria. These attributes are
internal. Each quality factor has many second-level quality attributes.

Garvin's Software Quality Model: David Garvin suggests that quality process to
be thought about by taking a third-dimensional read point that begins with an
assessment of correspondence and terminates with a transcendental (aesthetic) view.

Though Garvin’s 8 dimensions of quality weren’t developed specifically for the


software system, they’ll be applied once software system quality is taken into
account.

Garvin’s eight dimensions:

1. Performance Quality: Will the software system deliver all content,


functions, and options that are such as a part of the necessities model during a
method that gives worth to the tip user.

2. Feature Quality: Does the software system offer options that surprise and
delight first-time finish users.

3. Reliability: Will the software system deliver all options and capability while
not failure? Is it obtainable once it’s needed? Will it deliver practicality that’s
error-free.
4. Conformance: Will the software system adjust to native and external
software standards that are relevant to the application? Will it conform to the
factual style and writing conventions? As an example, will the computer
program conform to accepted style rules for menu choice or knowledge input.
5. Durability: Will the software system be maintained (changed) or corrected
(debugged) while not the accidental generation of unintentional facet effects?
Can changes cause the error rate or responsibility to degrade with time
6. Serviceability: Will the software system be maintained (changed) or
corrected (debugged) in a tolerably short time period? Will support employees
acquire all data they have to create changes or correct defects
7. Aesthetics: An aesthetic entity includes a sure class, a novel flow, and a clear
“presence” that are arduous to quantify however are evident still. The
aesthetic software system has these characteristics.
8. Perception: In some things, you’ve got a collection of prejudices which will
influence your perception of quality. If a seller has a wonderful name, you
will understand quality, even once it doesn’t very exist.

S/w Quality Management Principles:


Quality management principles” are set of fundamental guidelines,
norms, rules and values that are accepted as true and can be used as a
basis for quality”.

Following 7 are the Key principles of Quality Management

 Customer focus
 Leadership
 Engagement of people
 Process approach
 Improvement
 Evidence-based decision making
 Relationship management.

(Explain yourself each principle with 2 lines at least)

Quality Management principles with Principles of BS EN ISO


9001:2000:
BS EN is an ISO accreditation and standards discusses the larger ISO
9001:2000 standard and the idea of Quality Management Systems. BS EN ISO
9001:2000 is identical to ISO 9001:2000.

This specifies requirements for a QMS where an organization:

• Needs to demonstrate its ability to consistently provide product that meets


customer and applicable regulatory requirements
• Aims to enhance customer satisfaction through the effective application of the
system. This includes processes for continual improvement of the system and
the assurance of conformity and applicable regulatory requirements.
• Improved performance.

This identifies 7 quality management principles in line with the key


principles, that can be used by senior managers to lead the organization
towards improved performance :

• Ensuring effective quality control and assurance in software


projects.
• Contractor's quality management system validation.
• Focus on monitoring and control systems to check quality.
• Ensures development process quality rather than end-product
quality
• Continuous Improvement: Emphasizes ongoing enhancement of
processes
• Factual Evidence: Decision-making based on factual data.
• Relationships with Suppliers: Building mutually beneficial
relationships for quality.

You might also like