32
CEN 4021 7 th Lecture CEN 4021 CEN 4021 Software Engineering II Software Engineering II Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ [email protected] Software Project Planning (POMA) Project resource planning

CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ [email protected] Software Project Planning

Embed Size (px)

Citation preview

Page 1: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

CEN 4021 7th Lecture

CEN 4021 CEN 4021 Software Engineering II Software Engineering II

Instructor: Masoud Sadjadi

http://www.cs.fiu.edu/~sadjadi/

[email protected]

Software Project Planning (POMA)Project resource planning

Page 2: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

AcknowledgementsAcknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke

2

Page 3: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

AgendaAgenda

Software Project Planning (POMA)– Project resource planning

Page 4: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Three Types of ResourcesThree Types of Resources

Human resources

Processes and Methodologies

Tools and Equipment

Page 5: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Three Types of ResourcesThree Types of Resources

Once the project deliverables, WBS, tasks, initial schedule and goals are understood the resources required to complete the project must be planned.

The key resource for most software projects is people.

On an organizational level, processes, policies, and specific methodologies need to be available to ensure the successful completion of the project.

Page 6: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Human ResourcesHuman Resources

• The number of people, the type of people with different skills, and the point at which these people need to begin working on a project all depend on the tasks that need to be performed and the goals such as schedule, of the project.

• Human resources management is concerned with the recruiting, hiring, retaining, growing, coaching, and firing of people.

Page 7: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Human ResourcesHuman Resources

– software project manager will focus on the recruiting effort and timing of hire.

– Recruitment and hiring proceed in two stages:

1. Based on the various tasks involved in the software project, a skills matrix is built. Consists of # of people required in each skill category along with information on which persons, by name , are already on board.

2. Using the skills matrix, a hiring plan is developed.

Page 8: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Human ResourcesHuman Resources

– Two types of personnel are needed on a project:

1. Direct project activities: Activities that lead to a customer deliverable. E.g., personnel to perform the following tasks; requirements specification, design, coding, manual writing, testing , integration, and packaging.

2. Indirect project activities: Activities that do not lead to customer deliverables. E.g., planning, controlling, and reporting of the project activities.

Page 9: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Human ResourcesHuman Resources

1. Human Resources

Example:

– Assume indirect personnel are already in place. Direct software development personnel planning is considered.

– Table 4.2. shows an initial skills matrix (next slide).

– A gradual hiring pattern is quite realistic for this project.

– Table 4.3. shows a people hiring matrix.

Page 10: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Months

Skilled

Personnel 1 2 3 4 5 6 7 8 9 10 11 12 …

Reqs.

Analyst1 1 1

Designers 1 2 2 1

Program-mers

4 7 8 8 8 8 4 2

Testers1 1 1 2 3 3 3 3 3

Project Leader

1 1 1 1 1 1 1 1 1 1 1 1

Customer support

1 1

Total Personnel 2 2 3 4 8 10 11 12 12 12 9 8

Table 4.2. Initial Skills Matrix.

Page 11: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Human ResourcesHuman Resources

Example cont:

– Table 4.2 shows there is a short peak period and the rapid pace at which people leave the project.

– Note the personnel for the project is not assigned in isolation.

– Economic period has a lot to do with the ease of hiring.

Page 12: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Process and MethodologiesProcess and Methodologies

2. Process and Methodologies– Processes and methodologies are viewed as resources.

– Recall there is no single process for software development.

– Software Project PhasesRequirements processingDesign Implementation and programmingTestingProduct release

Page 13: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Process and MethodologiesProcess and Methodologies

2. Process and Methodologies cont

Product release process Integration, packaging, and installation

Product order, release, and shipment management

Other process planningConfiguration management

Outsourcing management

Quality assurance

Project change management

Page 14: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

3. Tools and Equipment

Hardware requirementsDesktop computers: Specify capabilities in terms of CPU speed,

main memory size, disk storage size, number of ports (for printers, communications and connection to other peripherals); specify number of desktop computers

Server computers: Specify capabilities in terms of CPU speed, main memory and auxiliary cache memory sizes, disk storage size, number of ports; specify number of server computers

Page 15: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

3. Tools and Equipment cont

Hardware requirements contPrinters: desktop versus shared; specify the number of each kind of

printer

Network equipment: controllers, lines, modems; specify number of each

Software requirementsOperating system: specify the number of copies required for the

desktop and server computers

Database system: specify the number of user seats required

Page 16: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

3. Tools and Equipment cont

Software requirements contMiddleware system: specify the type of communication middleware

or transaction-processing middleware, set to the needed number of users or to some number of transactions

Once the basic hardware and software resources are identified tools are considered

Page 17: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

3. Tools and Equipment cont

Classification of Tools Development and implementation tools: libraries of executable

code, editors, compilers, and debugging aids; specify the number of copies or the number of user seats for each

Requirements management tools: # of seats

Design tools: # of seats

Documentation tools: # of seats and # of copies

Page 18: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

3. Tools and Equipment contClassification of Tools cont

Test tools: keystroke capture tools, test execution monitor tools, performance measurement tools, code coverage analysis tools: # of seats and # of copies

Support tools: customer call management, release management; # of copies

Management and general-use tools: library systems, configuration management, diagramming and flowcharting tools, word processors, spreadsheets, project schedulers, statistical function packages; # of copies and # of seats

Page 19: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Tools and EquipmentTools and Equipment

Combining the resources:

– Resource planning is a lengthy but a very important project management activity.

– The resources required to satisfy the software project depend on the deliverables, tasks, schedule, and project goals.

– See Table 4.5 for a combined resource matrix.

Page 20: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Assigning ResourcesAssigning Resources

People management are need here Interaction and communication skills are vital to selecting

the right people for the right activities You may have to recruit people to your project, through

interviews and a personnel-hiring process.

Page 21: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Assigning ResourcesAssigning Resources

After customizing the WBS list of activities, resources are assigned to them

For every activity in the project, – Understand what the responsibilities and authority are– determine how the person performing the activity will be held

accountable for the results

Page 22: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Assigning ResourcesAssigning Resources

the project manager is responsible for the planning necessary to staff the project– Identifying and documenting the project roles and skills needed– Assigning responsibilities to individuals– Establishing reporting relationships

Page 23: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Identifying and documenting Identifying and documenting the project roles and skills the project roles and skills neededneeded

Skills needed are weighed against knowledge about each candidate’s career objectives , and ego needs

Example types of roles– Database designers– Configuration management experts– Human interface designers– Webmasters– Quality assurance specialists– Test engineers

Page 24: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Identifying and documenting Identifying and documenting the project roles and skills the project roles and skills neededneeded

Recognize some skills that aren’t the usual software engineering sets

People may have some personality or social skills that are necessary catalysts for getting things done

Certain skill promote harmony among the team as well as the “social glue” that is hard to define but absolutely necessary for team productivity

Page 25: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Identifying and documenting Identifying and documenting the project roles and skills the project roles and skills neededneeded

The project manager has to decide who does what and who decides what on the project

Balancing learning opportunities against accomplishing work on time, and managing egos

The specific skill needed for each activity must be considered

Listing skills needed may be necessary if required skills sets are large and diverse

Page 26: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

For every activity defined in the project, a set of roles requiring specific skill sets may be defined

E.g., For every role, define three job aspects– Responsibility – the obligation to perform an assigned activity

with or without detailed guidance or specific authorization– Authority – the right to perform, command of make the decisions– Accountability – assuming a liability for an activity or something

of value in a project

Page 27: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

Don’t assign responsibility to people who have no recognized authority within the organization to get it done

Estimates for completion become unreliable because assigned person has an obligation, but no right to perform, in the eyes of others

Be sure that authority and responsibility boundaries are recognized by all

Page 28: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

Responsibilities might include– Collaborating with architects and designers– Designing test cases– Generating test data– Running unit and regression test suites– Reporting results

Page 29: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

Authority might be granted to include– Participating in design and inspection meetings– Exercising final authority for all test-related tasks– Authorizing component builds– Reporting official test results and product quality metrics

Page 30: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

Accountability for test engineers may be defined as quantifiable and easily measured parameters such as– Number of design and inspection meetings attended– Quantity and quality of test prepared and executed– Percentage of successful component builds– Accuracy and timeliness of reported test results and product

quality metrics

Page 31: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Assigning responsibilityAssigning responsibility

Consider reliability of individuals Negotiate with resource controllers for the services of

people with the needed skill Comprehend roll-on and roll-off time

Page 32: CEN 4021 7 th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi sadjadi/ sadjadi@cs.fiu.edu Software Project Planning

7th LectureCEN 4021: Software Engineering II

Characteristics of RolesCharacteristics of Roles

Accountability for test engineers may be defined as quantifiable and easily measured parameters such as– Number of design and inspection meetings attended– Quantity and quality of test prepared and executed– Percentage of successful component builds– Accuracy and timeliness of reported test results and product

quality metrics