Introduction to Software Project Management

Software Project Management is the art (being creative) and science things/tasks (logically ) of planning and leading software projects. It is a sub-discipline of projects management in which software projects are planned implemented, monitored and controlled.

What is Software Project Management?

Software

Definition of Software

It can be defined as a collection of computer programs along with the associated documentation. It also includes user manuals like beginner’s guides, operational manuals etc.

Categories of Software

Generic

It refers to the general-purpose software which is generic in nature and is sold to a wide range of customers. For Example-operating system, Word processor (MS Word, Notepad).

Bespoke

This is developed for a specific customer and defined specifically according to the customer’s needs. For Example- Banking Software

Characteristics of a good software

  • Maintainability: The software must easily evolve to meet the changing user requirement.
  • Usability: It should be easy to use and should have a good user interface.
  • Efficiency: The software should not waste system resources.
  • Dependability: The software must be reliable and secure.

Difference Between Program and Software

Software Project Management

Project

It is an individual or collective effort which is carefully planned and that involves research and design usually by a project team to achieve a particular goal.

OR

It is a set of interrelated tasks to be executed over a fixed period of time and with certain costs and other limitations.

Characteristics of a project

  • Non-reactive tasks are involved.
  • Planning is required.
  • Specific objectives are to be made.
  • The project has a predetermined time span.
  • Work is carried out for someone other than yourself.
  • Work involves several specialisms.
  • People are formed into temporary workgroups to carry out the tasks.
  • Work is carried out in several phases.
  • Resources that are available are constrained.

Management

Planning, organizing, staffing directive, controlling, coordinating and forecasting.

Objective of Software Project Management

Although different stakeholders have different motivations of projects objectives identify shared interests of various people involved in the project. The objectives focus on desired outcomes of the project and define what the project team must achieve for project success. The following are some important characteristics of well-defined objectives:-

  • Specific: The objective must be well defined, unambiguous and concrete.
  • Measurable: The objective must be measurable that is there should be some measure of the effectiveness of our objectives which should tell us how successful the project has been.
  • Achievable: The objective must be achievable.
  • Relevant: The objective relevance is equally important. It must serve the true purpose of the project.
  • Time Bounded: The objective is required to be achieved within the defined limit that is we can say that is time-constrained.

Importance / Significance of Software Project Management

Effective software project management is crucial to the success of any software project. In the past several software projects have failed not for the want of competent technical professionals, nor for lack of resources but due to the use of faulty project management practices. The main goal of SPM is to enable the software developers group to work efficiently towards the successful completion of the project.

Effective software project management is essential to avoid any situations of crisis. Software crises are identified by:-

  • In the software that is delivered late or overshoots the time line.
  • Software that becomes over budget.
  • Software that fails to meet the customer’s requirements.

Many of these problems arise due to inferior SPM practices

Reasons for Software Project Failures

  • Unrealistic Project Goals
  • Inaccurate estimate of needed resources.
  • Badly defined system requirement.
  • Poor reporting of project status.
  • Unmanaged risks.
  • Poor communication among the customers and developers.
  • Use of obsolete technology (or immature technology)
  • Inability to handle project complexity.

Difference Between Traditional Projects and Software Projects

  • Invisibility: When a physical artefact such as a bridge is constructed then the progress can actually be seen whereas with software the progress is not immediately visible.
  • Complexity: Per dollar spent, software products contain more complexity than other engineered artefacts.
  • Conformity: A traditional engineer usually works with physical systems and materials like cement, steel which are all governed by consistent physical laws. Whereas the software developers have to conform to customers’ requirements.
  • Flexibility: The software is comparatively easier to change whereas a physical or traditional project is not generally modifiable.
  • Physical Labour Involved: The need for physical labour is generally more in traditional projects than in software projects.
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments