SPM L1
SPM L1
SPM L1
MANAGEMENT
Lecture - 1
(Chapter - 1 of Textbook)
INTRODUCTION
• Software Project Management:
• Software: Software is a set of instructions, data or programs used to operate computers
and execute specific tasks.
• 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.
• Projects usually described and approved by a project manager or team executive.
• For good project development, some teams split the project into specific tasks so they
can manage responsibility and utilize team strengths.
Cont..
• Key characterstics of projects:
• Non-routine tasks are involved
• Planning is required
• Specific objectives are to be met or a specified product is to be created.
• The project has a predetermined time-span
• Work involves several speciliasm
• Work is carried out in several phases
• The resources that are available for use on the project are constrained
• The project can be large or complex.
What is Software Project Management (SPM)?
• Software project management is an art and discipline of planning and supervising
software projects.
• It is a discipline in which software projects are planned, implemented, monitored and
controlled.
• It is a procedure of managing, allocating and timing resources to develop computer
software that fulfills requirements.
• SPM is a specialized discipline within the realm of project management that focuses on
planning, executing, monitoring, controlling, and closing software development projects.
• It encompasses the systematic management of resources, budget and time to ensure the
successful completion of a software project.
• In essence, SPM aims to streamline the complex and multifaceted process of software
development by facilitating coordination, communication, and collaboration among team
members, stakeholders, and resources involved in the project.
Why SPM is Important?
• Project management is important because it helps every part of the business run more
efficiently and effectively.
• When done correctly, it enables leadership to plan and manage projects so that every
objective and deliverable is completed on time and within budget.
• It can also foster better communication and collaboration between teams, and provide data-
driven insights to help you make better business decisions.
• Good project management helps to ensure that software development projects are
completed on time and within budget.
• It helps to ensure that software projects are completed to the required quality standards.
Quality is a critical factor in software development, as poorly designed or executed
software can lead to a range of issues, from user frustration to data breaches.
• Good project management helps to ensure that software projects are aligned with the
organization’s goals and objectives. By setting clear goals and objectives for each
project, project managers can ensure that the development team is working towards a
common purpose.
Software projects versus other type of project
• Many of the techniques of the general project management are applicable to SPM but,
software projects have certain characterstics that make them different:
• Invisibility: When a physical artefact, such as a bridge or a road is being constructed, the
progress being made can actually be seen. With software, progress is not immediately
visible.
• Complexity: Per dollor, pound or euro spent, software products contain more complexity
than other engineered artefacts.
• Flexibility: The ease with which software can be changed is usally seen as one of its
strength. This meanse the software systems are likely to be subject to a high degree of
change.
Activities covered by software project management
• 1. The feasibility study:
• This is an investigation to decide whether a prospective project is worth starting.
• Information will be gathered about the general requirements of the proposed system.
• The probable development and operational costs, along with the value of the benefits of
the new system are estimateed.
• 2. Planning:
• If the feasibility study produces results that indicates that the project appears viable, then
planning of the project takes place.
• In planning, we formulate an outline plan for the whole project and a detailed one for the
first stage.
• More detailed planning of the later stages would be done as they approached.
• 3. Project execution: The project can now be executed. Individual projects are likely to
differ considerabily but a classic life-cycle of any project is shown in the next slide.
Project Life-Cycle
Cont..
• Requirement Analysis: This is finding out in detail what the users require of the system
that the project is to impliment.
• Requirements elicitation: what does the client need?
• Analysis: converting ‘customer-facing’ requirements into equivalents that developers
can understand
• Requirements will cover
• Functions
• Quality
• Resource constraints i.e. costs
• Specification: Detailed documentation of what the proposed system is to do.
• Design: A design that meets the specification has to be drawn up.
• The design activity will be in two stages.
• One will be the external or user design.
Cont..
• This lays down what the system is to look like to the users in terms of menus, screens 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 to structured internally.
• Coding: This refers to the writing of the code in procedural languages such as C or Ada,
or might refer to use of high level application builder.
• 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.
• It is the process of investigating whether a software system satisfies specifications and
standards and fulfills the required purpose.
• Verification process includes checking documents, design, code, and program, whereas
Validation process includes testing and validation of the actual product.
Cont..
• Implementation/Installation: The process of making the system operational.
• Includes setting up standing data, setting system parameters, installing on
operational hardware platforms, user training etc.
• Maintainence and Support: Once the system has been implemented, there will
be a continous need for the correction of any errors that may have crept into the
system.