Software Project Management
Software Project Management
Software Project Management
MANAGEMENT
WHAT IS SOFTWARE PROJECT
MANAGEMENT?
Software project management refers to the branch of project management dedicated
to the planning, scheduling, resource allocation, execution, tracking and delivery of
software and web projects.
Software project management is an art and discipline of planning and supervising
software projects. It is a sub-discipline of software project management in which
software projects planned, implemented, monitored and controlled.
It is a procedure of managing, allocating and timing resources to develop computer
software that fulfills requirements.
In software Project Management, the client and the developers need to know the
length, period and cost of the project.
ADVANTAGES:-
Easily manage your company’s projects
o Accessibility
o Cost
o Flexibility
o Support
o Speed
o Integration Updates.
WHAT IS PROJECT?
A project is a group of tasks that need to complete to reach a clear result.
A project also defines as a set of inputs and outputs which are required to achieve a
goal.
Projects can vary from simple to difficult and can be operated by one person or a
hundred.
A project is well-defined task, which is a collection of several operations done in
order to achieve a goal (for example, software development and delivery).
WHAT IS PROJECT?
A Project can be characterized as:
Every project may has a unique and distinct goal.
Project is carried out for someone other than yourself
Project is carried out in several phases
Project is not routine activity or day-to-day operations.
Project comes with a start time and end time.
Project ends when its goal is achieved hence it is a temporary phase in the lifetime of an
organization.
Project needs adequate resources in terms of time, manpower, finance, material and knowledge-
bank.
WHAT IS PROJECT?
Consider the following examples
• Producing an edition of newspaper
• A research project
• Investigation into the reason
• Programming assignment
• Writing an operating system for a new computer
• Installing a new version of word processing application
SOFTWARE PROJECT VERSUS
OTHER TYPE OF PROJECTS
Invisibility :
When a physical artifact such as a bridge is constructed the progress can actually be
seen.
with software, progress is not immediately visible. Software project management can
be the process of making the invisible visible.
There is invisibility of progress in software projects. Means customers of software
project can't see the outcome in middle of project, because customers don't know
about coding and other technical work and as we know an incomplete project will
not give an outcome. Consequently it becomes very difficult to satisfy customers of
software project that actually their work is being done by team.
SOFTWARE PROJECT VERSUS
OTHER TYPE OF PROJECTS
Complexity:
we can't measure complexity of software project until we actually work on it.
Flexibility:
One good point of software projects is that, they are flexible. Customer only wants final
result, so rest of things are in control of programmer ,he can modify software at any stage.
That software is easy to change is seen as a strength.
Conformity: Software project are based on logical work ,while other are based on
physical work. Software developers have to conform to the requirement of human clients.
The 'traditional' engineer usually works with physical systems and materials like cement
and steel. These physical systems have complexity, but are governed by consistent
physical laws. Software developers have to conform to the requirement of human clients.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
The feasibility Study :-
assesses whether a project is worth starting-that it has a valid ' business case '.
Information is gathered about the requirements of the proposed application.
The developmental and the operational costs, and the value of the benefits of the new system, will also have
to be estimated.
Planning :-
If the feasibility study indicates that the prospective project appears viable, then project planning can start.
We create an outline plan for the whole project and a detailed one for the first stage.
Because we will have more detailed and accurate project information after the earlier stages of the project
have been completed, planning of the later stages is left to nearer their start.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Project execution :-
The project can now be executed. The execution of a project often contains design and implementation sub-
phases.
Design is making decision about the form of the products to be created.
This could relate to the external appearance of the software, that is, the user interface, or the internal
architecture.
The plan details the activities to be carried out to create these products.
Planning and design can be confused because at the most detailed level.
planning decisions are influenced by design decisions.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Requirements analysis
This is finding out in detail what the users requirement of the system that the project is to
implement.
Some work along these lines will almost certainly have been carried out when the project was
evaluated but now the original information obtained needs to be updated and supplemented.
Several different approaches to the users' requirements may be explored.
For example, a small system that satisfies some, but not all, of the users' needs at a low price may
be compared to a system with more functions but at a higher price.
Specification
Detailed documentation of what the proposed system is to do.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Design
A design that meets the specification has to be drawn up.
This design activity will be in two stages.
One will be the external or user design. This lays down what the system is to look like to the
users in terms of menus, screen and report layouts and so on.
The next stage produces the physical design, which tackles the way in which the data and
software procedures are be structured internally.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Coding
This might refer to writing code in a procedural language such as C or Ada, or might refer to
the use of a high level application builder.
Even where software is not being built from scratch, some modification to the base
application might be required to meet the needs of the new application.
Verification and validation
Whether software is developed specially for the current application or not, careful testing will
be needed to check that the proposed system meets its requirements.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Implementation/installation
Some system development practitioners refer to the whole of the project after design as
'implementation' (that is, the implementation of the design) while others insist that the term
refers to the installation of the system after the software has been developed. In this case it
encompasses such things as setting up data files and system parameters, writing user manuals
and training users of the new system.
ACTIVITIES COVERED BY
SOFTWARE PROJECT
MANAGEMENT
Maintenance and support
Once the system has been implemented there will be a continuing need for the correction of
any errors that may have crept into the system and for extensions and improvements to the
system. Maintenance and support activities may be seen as a series of minor software projects.
In many environments, most software development is in fact maintenance.
CATEGORIZING SOFTWARE
PROJECTS
It is important to categorize software projects
Because what is appropriate in one context might not be in another
E.g. structured system analysis and design is used for information system but not for
other systems
ASSIGNMENT
Information system vs embedded systems
Objectives vs product
Open vs closed systems
PROBLEMS WITH SOFTWARE
PROJECTS
Poor estimates and plans
Lack of quality standards and measures
Lack of guidance about making organization decisions
Lack of techniques to make progress visible
Poor role definition- who does what?
Incorrect success criteria
Lack of knowledge of application area
Lack od up to date documentation
Lack of communication between team members
Changing software requirements
MANAGEMENT CONTROL
Project management is a complex process that is necessary for every software
development project.
It is aimed at creating high quality software and delivering it in time.
Management, in general, can be seen as the process of setting objectives for a system
and then monitoring the system to see what its true performance is
STAKEHOLDERS
Who take interest in the project
an individual, group, or organization, who may affect, be affected by, or perceive
itself to be affected by a decision, activity, or outcome of a project
They are typically the members of a project team, project managers, executives,
project sponsors, customers, and users.
Stakeholders are people who are invested in the project and who will be affected by
your project at any point along the way, and their input can directly impact the
outcome.
Stakeholders can be categorized as:
Internal to the project team
External to the project team but within the same organization
External to both the project team and the organization
WHAT IS MANAGEMENT?
Setting objectives for a system and monitoring the performance of the system
Planning
Organizing
Staffing
Directing
Monitoring
Controlling
Innovating
representing
PROJECT MANAGEMENT
ACTIVITIES
PROJECT CONTROL CYCLE
REQUIREMENT
SPECIFICATIONS
Functional requirements describe how a product must behave, what its features and
functions.
Nonfunctional requirements describe the general characteristics of a system. They
are also known as quality attributes.
ASSIGNMENT
Detailed examples of functional and non functional requirements