Project Mangement

58
Project Management Part I By Dr. Reda M. Hussien

description

Project Mangement (By Dr.Reda Hussein) Organized by : MUFIX Community MUFIX The Power of Team

Transcript of Project Mangement

Page 1: Project Mangement

Project ManagementPart I

ByDr. Reda M. Hussien

Page 2: Project Mangement

A group of tasks performed in a definable time period in order to meet a specific set of objectives

What  is Project

Page 3: Project Mangement

All Technical and managerial activities required to deliver a software product to a client

What  is Software Project

Page 4: Project Mangement

Components of a Project

Project

Work Product Schedule Task Participant

Page 5: Project Mangement

Organizing, planning and scheduling software projects

Concerned with activities involved in ensuring that software is delivered on time and on schedule

Project management is needed because software development is always subject to budget and schedule constraints that are set by the organisation developing the software

What  is Software Project Management

Page 6: Project Mangement

States of a Project

Conception

Definition

Start

Termination

Steady State

do/FormulateIdea

do/Problem Statement do/Project Kickoff

do/Client Acceptance

do/Develop System

GoAhead ScopeDefined

&& Teams

System Done

New Technology

do/Cost-BenefitAnalysisdo/FeasibilityStudy

do/Review

Assembled

do/Delivery

do/Infrastructure Setup

Infrastructure SetupCompleted

do/Software Architecturedo/Software Plan

do/Skill Identificationdo/Team Formation

do/Controllingdo/Risk Management

do/Replanning

do/Post Mortem

New Need

Page 7: Project Mangement

Proposal writing Project planning and scheduling Project costing Project monitoring and reviews Personnel selection and evaluation Report writing and presentations

Management activities

Page 8: Project Mangement

the most time-consuming project management activity

Continuous activity from initial concept through to system delivery.

Plans must be regularly revised as new information becomes available

Various different types of plan may be developed to support the main software project plan that is concerned with schedule and budget

Project planning

Page 9: Project Mangement

Split project into tasks and estimate time and resources required to complete each task

Organize tasks concurrently to make optimal use of workforce

Minimize task dependencies to avoid delays caused by one task waiting for another to complete

Dependent on project managers intuition and experience

Project scheduling

Estimate resourcesfor activities

Identify activitydependencies

Identifyactivities

Allocate peopleto activities

Create projectcharts

Softwarerequirements

Activity chartsand bar charts

Page 10: Project Mangement

Risk management is concerned with identifying risks and drawing up plans to minimize their effect on a project.

A risk is a probability that some adverse circumstance will occur.

Project risks affect schedule or resources Product risks affect the quality or performance of

the software being developed Business risks affect the organization developing

or procuring the software

Risk management

Page 11: Project Mangement

Risk management

Risk avoidanceand contingency

plans

Risk planning

Prioritised risklist

Risk analysis

List of potentialrisks

Riskidentification

Riskassessment

Riskmonitoring

Page 12: Project Mangement

Building Software Project Team

Page 13: Project Mangement

Team Skill 1: Analyzing the Problem

A set of techniques the team can use to gain a proper understanding of the problem that a new software system is intended to solve.

Team Skills for Effective Requirements Management

Page 14: Project Mangement

Team Skill 2: Understanding User and Stakeholder Needs

A variety of techniques the team can use to elicit requirements from the system users and stakeholders.

Team Skills for Effective Requirements Management

Page 15: Project Mangement

Team Skill 3: Defining the SystemThe initial process by which the team converts an understanding of the problem and the users' needs to the initial definition of a system that will address those needs.

Team Skills for Effective Requirements Management

Page 16: Project Mangement

Team Skill 4: Managing Scope

The ability to do a better job of managing the scope of the project.

Team Skills for Effective Requirements Management

Page 17: Project Mangement

Team Skill 5: Refining the System Definition

Organizing the requirements information through a set of techniques the team can use to elaborate on the system definition, or refine it to a level suitable to drive design and implementation.

Team Skills for Effective Requirements Management

Page 18: Project Mangement

Team Skill 6: Building the Right System

Technical aspects of design assurance, testing, and change management, and how traceability can be used to help ensure a quality outcome.

Team Skills for Effective Requirements Management

Page 19: Project Mangement

Team Management

Page 20: Project Mangement

Team Selection

Team Structure

Team Motivation

Team Management

Page 21: Project Mangement

Importance of member selection

Characteristics of potential members

Measuring member characteristics

Team Selection Overview

Page 22: Project Mangement

Resources Available to Project Managers

Interviews Resume Recommendation Programming aptitude tests Psychological Tests

Measuring Staff Characteristics

Page 23: Project Mangement

Application Domain Knowledge Platform Experience Programming Language Experience Education Communication Adaptability Attitude Personality

Factors Governing Member Selection

From Software Engineering by Ian Somerville

Page 24: Project Mangement

Interviewees will say what you want to hear Interviewees prepare for questions

Interviewers don’t get good feed back on decisions

Why Interviews Not Effective

Page 25: Project Mangement

Use multiple interviewers Ask each candidate the same questions Try to relax candidates

No desk between Start with interviewees interests

Ways to improve Interview Objectivity

Page 26: Project Mangement

Entries may be misleading Fail to capture intangibles

Must be used along with other methods

Problems with Resumes

Page 27: Project Mangement

People say things to be nice People may be politically motivated Checking recommendations takes a lot of

time

Only use recommendations for few candidates

Take recommendations with a grain of salt

Problems With Recommendations

Page 28: Project Mangement

Test questions often answered in a time limited manner

Problem solving with large time segments does not map directly to this type of testing

Problems with Testing

Page 29: Project Mangement

Different interviewers = different results Good impression = interviewer talks more

/better Previous Candidates affect outcome bad first impression = less credit Bad is noticed more than good First impressions are important – decided in

first 4 minutes

Interviews and bias

Page 30: Project Mangement

Team Structure

Page 31: Project Mangement

Project Manager a person in a team who will control the projects

performed by your software development team. He will follow the execution of the software project, control time and budget. He should be organized himself and have excellent organizational skills. He is responsible for the software team’s activity, and project accounting.

.

Dedicated Software Development Team Roles

Page 32: Project Mangement

Software Architect

a person in a team who will develop the design of the software product taking into account customer’s requirements.

This person is not only a skillful software developer. Design Architect is a "guru" who is able to work out software architecture for any complex system.

Dedicated Software Development Team Roles

Page 33: Project Mangement

Software Architect

Page 34: Project Mangement

Business Analyst a person in a team who will deal with customers

and specify the direction to the software project.

Dedicated Software Development Team Roles

This person should analyze the requirements, work out the project strategy, write documentation and lead the project to the successful completion.He should posses technical, managerial and creative skills.

Page 35: Project Mangement

Software Developer a person in a team who will develop the product. Software Developer should be an expert in various spheres of software development (mobile application development, web application development) and should study all the time to improve his knowledge and competence. But at the same time, he should be a good team player.

Dedicated Software Development Team Roles

Page 36: Project Mangement

Software Developer

Page 37: Project Mangement

Designer a creative person who is responsible for product look-and-feel taking into account customer’s requirements.

He should be a ‘hybrid’ designer who doesn’t strain at Photoshop and can write CSS-code.

He should be familiar with visual design as well as with web standards, should be a professional in usability, universal design, accessibility, etc.

Dedicated Software Development Team Roles

Page 38: Project Mangement

Software Tester a person who will test the software during the course of software development.

He should be familiar with various techniques and methods of software testing (black box testing, smoke testing, etc) and should very patient

Dedicated Software Development Team Roles

Page 39: Project Mangement

Every member should understand what other members are doing, be ready to take some of their tasks in case

of necessity, should be a good communicator

Dedicated Software Development Team Roles

Page 40: Project Mangement

General Team Structure

“Organizational alternatives to project managers” by Robert Youker

Page 41: Project Mangement

Hierarchal Functional Organization Vertical Organization Matrix Organization

General Team Structure

“Organizational alternatives to project managers” by Robert Youker

Page 42: Project Mangement

Why Team Structure is Important

Figure 28.7 from Software Engineering 5th Edition by Ian Sommerville

Page 43: Project Mangement

Standard pyramid with management at the top

Strength lumps similar recourses togetherWeakness

there can be conflicts for time between projects for resources

Resources do not see big picture

Hierarchal Functional Organization

Page 44: Project Mangement

Each Project its own organizationStrengths Ability to see the big picture and focus on

projectsWeaknesses Organization is temporary and causes

turmoil Facilities are duplicated

Vertical Organization

Page 45: Project Mangement

Combines the two structures so there is a functional boss and a project coordinatorStrengthsCan see big picture and employees have

security

WeaknessesEach employee has two bosses

Matrix Organization

Page 46: Project Mangement

Choose functional structure when there are many small short term projects

Choose project structure for large long-term projects

For a mix of projects of unknown length use the Matrix Structure

When to Choose What

Page 47: Project Mangement

Programming Team Structure

Page 48: Project Mangement

Egoless Programming Chief Programming

Programming Team Structure

Page 49: Project Mangement

All programmers on one levelDecisions are made by consensus

Advantages Free flow of information between all programmers Generally better solutions to hard problems

Disadvantages Communication takes more time Personality conflicts a major issue Groupthink

Egoless Programming

Page 50: Project Mangement

The chief guides the project and makes all decisions but consults with specialists

Advantages Fewer personality conflict Faster decisionsDisadvantages Chief can get overloaded

with information and make incorrect decisions

Chief Programming

Page 51: Project Mangement

Choose Chief programmer when the project is Large Has a tight schedule Not many new technical challenges

Choose egoless programming When the schedule is loose Groups are small Many technical challenges

When to Choose What?

Page 52: Project Mangement

Team Motivation

Page 53: Project Mangement

Basics of Motivation

Personality and Motivation

Motivation Overview

Page 54: Project Mangement

Basics of Motivation

Most often bottom two needs are satisfied

So people motivated mostly by social and self esteem needs

Only takes into account individual motivation

Maslow’s model of needs (1954)

Page 55: Project Mangement

Social needs: Allow time to meet co-workers Self esteem needs: Recognize value to the

organization Self Realization needs: allow people direction

in choosing their own work, and make the work interesting

Personality and Motivation

Page 56: Project Mangement

Task-OrientedMotivated by the intellectual challenge of the

work Self-Oriented

Motivated by personnel success and recognition

Interaction-OrientedMotivated by coworkers

Three Types of Professionals

Page 57: Project Mangement

Next.. Introducing the following tools

• MS Project Project ManagerUML Visual Paradigm Software Architect & DeveloperOOP Issues Software Architect & Developer Design Patterns Software Architect & DeveloperDocumentation Tools Software Analyst

Page 58: Project Mangement

Thanks