Sunteți pe pagina 1din 40

1 2 3 4

The Mean of ( Software ) The Mean of ( Project ) The Mean of ( Management )


Software Project Management

5
6

SPM Phases
4Ps in Project Management Spectrum

The Mean of ( Software )


When we say software, we are not talking

about programs, but about program system


products

We all know all about programs, but what


about program system products? Fred Brooks explains the difference and shows the effort involved

Program and Program system product


Program program is complete by itself

program is ready to run by author for planned inputs on


system on which it was developed, and probably under no other circumstances Product system each program is a component in integrated collection (system) precisely defined interface to which all programs in

system must comply


each program must stick to reasonable resources each program is tested with other programs; number of combinations grows quadratically with each additional program

Program and Program system product


Program Product: product can be run, tested, repaired, extended by anyone, not just author product runs on multiple platforms product accommodates many sets of data range and form of input to product must be generalized product must test for validity of input and provide response to invalid inputs must be product documentation for maintainers

and users

Program and Program system product


Program System Product:
all attributes of program system and
all attributes of program product

(multipliers may be bigger if the number of components is large)

Program and Program system product


Perhaps the key problem is that when we should be

thinking about program system product , we continue to think


about programs, and all expectations are off by an order of magnitude.
ease vs. difficulties, time, costs,

We see only the program and forget all the other junk that must be added to make it a program system product !

Who needs Software ?


Most software is built in organizations for people with specific needs. A stakeholder is anyone who has an interest (or stake) in the software being completed A user is someone who will need to use the software to perform tasks. Sometimes stakeholders will be users; but often the stakeholder will not use the software.

For example, a senior manager (like a CEO or CTO in a


company) will usually have a stake in the software that is built (since it affects the bottom line), even if he/she wont ever use it.

Who builds Software ?


Software is typically built by a team of software engineers,

which includes:
Business analysts or requirements analysts who talk to users and stakeholders, plan the behavior of software

and write software requirements


Designers and architects who plan the technical solution Programmers who write the code Testers who verify that the software meets its requirements and behaves as expected

The Mean of ( Project )


Project The objective of the project to build a program system product is to make sure that all the necessary junk gets planned in. Projects have plans: Resources Multiple People Schedule Budget Others Specific work to do

Deliverables

Jobs versus projects


Routine Uncertainty of Outcome

Jobs

Projects

Exploration

Jobs repetition of very well-defined and well understood tasks with very little uncertainty Exploration e.g. finding a cure for cancer: the outcome is very uncertain Projects in the middle!

Characteristics of projects
A task is more project-like if it is:
12

Non-routine Planned Aiming at a specific target Work carried out for a customer Involving several specialisms Made up of several different phases Constrained by time and resources Large and/or complex

Are software projects really different from other projects?


Not really! but
Invisibility Complexity Conformity Flexibility

make software more problematic to build than other engineered artefacts.


13

The Mean of ( Management )


Any project with more than one person must be managed by definition The job of management is to make sure that the planned junk does not get left behind in the zeal to release the software when only the program in its heart has been written!
Allocate resources properly. Communicate and facilitate communication. Control leads to quality. Deliver what you promise.

Software Project Management


It is a planned operation based on applying some of knowledge , skills , tools and techniques on the project activities to achieve the requirements and aspects of stakeholders and this constrained to a time and financial schedule

Software Project Management


The project manager plans and guides the software project The project manager is responsible for identifying the users

and stakeholders and determining their needs


The project manager coordinates the team, ensuring that each task has an appropriate software engineer assigned and that each engineer has sufficient knowledge to perform it

To do this well, the project manager must be familiar with


every aspect of software engineering

Software Project Management


General theories of management and project management can be applied to SPM And there are some special theories for software project management
This is what we mean when we say SPM
Management Project Management Software project management

Elements of Software Projects


Resources
Multiple People Schedule Budget
Others

Specific work to do
Life Cycle and Process Model

Deliverables
Artifacts pieces Integral Product

Project Plan
Resources Plan Specific Work Plan Deliverables Plan

Setting objectives
Answering the question What do we have to do to have a success? Need for a project authority
Sets the project scope Allocates/approves costs

Could be one person - or a group


Project Board Project Management Board Steering committee
19

Objectives
Informally, the objective of a project can be defined by completing the statement:

The project will be regarded as a success if..


Rather like post-conditions for the project Focus on what will be put in place, rather than how activities will be carried out

20

Objectives should be SMART


S
specific, that is, concrete and well-defined

M measurable, that is, satisfaction of the objective can


be objectively judged

A R

achievable, that is, it is within the power of the individual or group concerned to meet the target relevant, the objective must relevant to the true purpose of the project time constrained: there is defined point in time by which the objective should be achieved

T
21

Goals/sub-objectives
These are steps along the way to achieving the objective. Informally, these can be defined by completing the sentence
Objective X will be achieved IF the following goals are all achieved A B C etc

22

Goals/sub-objectives
Often a goal can be allocated to an individual.

Individual may have the capability of achieving goal,


but not the objective on their own e.g. Objective user satisfaction with software product

Analyst goal accurate requirements


Developer goal software that is reliable
23

SPM Phases
Planning
Organization Monitoring

Control ling / Adjusting

Measures of effectiveness
How do we know that the goal or objective has been achieved? By a practical test, that can be objectively assessed. e.g. for user satisfaction with software product:

Repeat business they buy further products from us


Number of complaints if low .. etc.

25

4Ps in Project Management Spectrum People


Product Process

Project

1. People
The most important factor in success of software project. Companies That sensibly manage their investment in people will prosper in the long run . Cultivation of motivated and highly skilled software people has always been important for software organizations. The people-factor is so important that has developed People Management Capability Maturity Model (PM-CMM).

1. People
team leaders:
lead the SW development team

MOI model of leadership


motivation

organization - of processes
ideas or innovation - encourage creativity

PM-CMM
In simple words - to enhance the peoples
capabilities through personnel development

Organizations that achieve high levels of maturity


in PM-CMM have a higher likelihood of

implementing effective software engineering


practices

PM-CMM (Contd.)
Key Practice Areas of PM-CMM
Recruiting Selection Performance Management Training Compensation Career development Organization and work design Team/culture development

Stakeholders
These are people who have a stake or interest in the project. In general, they could developers/implementers They could be: Within the project team Outside the project team, but within the same organization Outside both the project team and the organization
31

be

users/clients

or

Stakeholders
They can be categorized into one of the following
Senior Managers
they define business issues that often have significant influence on business

Project (technical) managers


they must plan, motivate, organize and control the practitioners who do software work

Practitioners
They deliver the technical skills necessary to engineer a product or application

Customers
They specify the requirements for the software to be engineered

End Users
They interact with the software after it is released for production use

2. Product
The product and the problem it is intended to solve must be examined at very beginning of the software project. The scope of product must be established and bounded.
Bounded scope means
establishing quantitative data like number of simultaneous users, maximum allowable response time. etc. Constraints and limitations

Software scope
Scope is defined by
Context (1st step in scope determination)
Functional location of the software product into a large system, product or business context Constraints involved

Information Objectives (2nd step)


What data objects are required as input or output

Function and Performance (3rd step)


What function does the software system perform on i/p to produce o/p What level of performance is required

3. Process
These characterize a software process and are applicable to all software projects
Communication Planning Modeling Construction Deployment

These are applied to software engineering work tasks (e.g., different product functions)

The Process Models


Different process models:
Linear sequential, Prototyping, RAD, Spiral, Formal

Project manager must decide about which model to use depending on


Customers who have requested the product People who would work on project Product characteristics Project environment

Project planning begins once model is selected

4. The Project - Signs of Projects Risk


Software people dont understand customer needs Product scope is poorly defined Changes are managed poorly The chosen technology changes Business needs change Deadlines are unrealistic Users are resistant Sponsorship is lost Team lacks skills Managers avoid best practices

How to avoid problems?


Start on the right foot
Involves detailed understanding of project setting realistic objectives & expectations Selecting the right team Facilitating the team

Maintain Momentum
Provide incentives Reduce bureaucracy and give autonomy to team members but with supervision

Track Progress
Assess progress as work products are produced

How to avoid problems? (Contd..)


Make smart decisions
When possible, use existing software components / COTS software Choose standard approaches and keep it simple Avoid risks and allocate more time than needed for complex/risky tasks

Conduct a postmortem analysis


Compare planned and actual schedule Collect and analyze project metrics (standards) Get feedback from team and customers Establish record of lessons learnt for each project

To Contact with the Lecturer


E-mail : nawar.alseelawi@gmail.com nawar.alseelawi@yahoo.com Facebook : https://www.facebook.com/nawar.alseelawi https://www.facebook.com/groups/computerandsw/

S-ar putea să vă placă și