# Intro to Software Project Management
###### tags: `SPM`
Literature:
- SPM - chapter 1
- No Silver Bullet
## Chapter 1
### Objectives (Objects)
Objectives focus on the desired outcomes of the project rather than the tasks within it.
*Informally* the objectives could be written as a set of statements following the opening works "the project will be a succes if ..."
One statement in a set *of* objectives might be:
- "customers can order our products online"
- rather than "to build a e-commerce website"
**Broadly speaking - we can talk about project objectives and business objectives**
*Project objectives* = targets that the project team is expected to achieve.
- The agreed functionality
- To the required level op quality
- On time
- Within budget
Business objectives, we have maybe made a computer game which is within time and budget, but might not sell.
### 1.3 What is a project?
Dictionary definitions of project' include: 'A specific plan or design' 'A planned undertaking' 'A large
undertaking: e.g. a public works scheme', Longman Concise English Dictionary, 1982.
Definition put a clear emphasis on the **project being a planned activity**.
We determine how to carry out a task before we start.
Planning is in essence thinking carefully about something before you do it.
Routine maintenance: performed so many times that everyone knows exactly what to do.
*Programme managementis* often used to coordinate activities on concurrent jobs.
The following characteristics distinguish 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 spam
- Work is carried out for someone other than yourself
- Work involves serveral specialisms
- People are formed into a tempoary work group to carry out the task
- Work is carried out in serveral phases
- The project is large or complex.
Project are especially problematic as they are tempoary sub-organizaions.
A group of people is brought together to carry out a task.
### 1.5 Contract management and technical project management
In-house projects are where the users and the developers of new software work for the same organization.
### 1.6 Activities covered by software project management
A software project is not only concered with the actual writing of software.
There are *three* successive processes that bring a new system into being:

### 1.7 Plans, methods and methodologies
A plan for an activity must be based on some idea of a method of work.
**Method**
- Relates to a type of activity in general
**Plan**
- Takes a method and converts it to real activities
- Identify for each:
- Its start & end date
- Who will carry it out
- What tools and materials will be needed
**Methodologies**
- Groups of methods or techniques are often grouped into Methodologies.
- e.g. object-oriented design.
### 1.8 Some ways categorizing software projects
Project may differ because of different technical products to be created.
**Compulsory versus voluntary users**
System staff memeber uses to record a sales of an item.
vs.
A computer game
**Information system vs embedded systems**
Embedded systems = realtime or industrial systems
Information system: enable staff to carry out office processes
A stock control system
vs.
embedded systems: control machines.
air conditioning equipment system.
Some systems have elements from both.
**Objectives vs products**
Projects may be distinguished by whether their aim is to produce a *product* or to meet certain *objectives*.
A project might be to create a product, the details of which have been specified by the client. The client has the responsibility for justifying the product.
### 1.9 Stakeholders
People who have a stake or interest in the project.
Stakeholders can be categorized as:
- Internal to the project teams: they will be under direct mangerial control of the project leader
- External to the project team but within the same organization: Project leader might need the assistance of the users to carry out system testing.
- External to both project & organization: External stakeholders, may be customers(or users) who will benefit from the system that the project implements.
Different types of stakeholder may have different objectives. Project leader job to recongnize those and be able to reconcile them.
The project leader needs to be a good communicator and negotiator.
The theory W (win-win for all)
*Among all these stakeholders are those who oen the project.*
### 1.10 Setting objectives
The objectives should define that the project team must achieve for project success.
**Sub-objectives and goals**
Defining sub-objectives requires assumptions about how the main objective is to be achieved.
An effective objective for an individual must be something that is within the control of that individual.
SMART: describe well-defined objectives:
- Specific
- Measurable
- Achievable
- Relevant
- Time constrained
### 1.12 Project success and failure
Se objective in the top...
### 1.13 What is management?
It has been suggested that management involves the following
activities:
- planning – deciding what is to be done;
- organizing – making arrangements;
- staffing – selecting the right people for the job etc.;
- directing – giving instructions;
- monitoring – checking on progress;
- controlling – taking action to remedy hold-ups;
- innovating – coming up with new solutions;
- representing – liaising with clients, users, developer, suppliers and other stakeholders
### 1.14 Management control
Management, in general, involves setting objectives for a system and then monitoring the performance of the system.
### 1.15 Conclusion
- Projects are by definition non-routine and therefore more uncertain than normal undertakings.
- Software projects are similar to other projects but have some attributes that present particular difficulties, e.g. the relative invisibility of many of their products.
- A key factor in project success is having clear objectives. Different stakeholders in a project, however, are likely to have different objectives. This points to the need for a recognized overall project authority.
- For objectives to be effective there must be practical ways of testing that the objectives have been met.
- Where projects involve many different people, effective channels of information have to be established. Having objective measures of success helps unambiguous communication between the various parties to a project.
## No Silver Bullet
Notes so far from SPM chapter 1 (1.4)
### Invisibility
When a physical artefact such as a bridge is constructed the progress can actually be seen.
With software, progress is not immediately visible.
Software project management can be seen as the process of making the invisible visible.
### Complexity
Per dollor, pound, or euro spend, software products contain more complexity than other engineered artefacts.
### Conformity
Software developers have to conform to the requirements of human clients.
It is not just that individuals can be inconsistent.
Organizations, because of lapses in collective memory, internal communication or in effective decision making, can exhibit remarkable 'organizational stupidity'
### Flexibility
Software is easy to change is seen as a strength.
Software systems are particularly subject to change.