33
CEN 4021 11 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) nizing: Processes, Methodologies and T

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

Embed Size (px)

Citation preview

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

CEN 4021 11th 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)Organizing: Processes, Methodologies and Tools

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

11th LectureCEN 4021: Software Engineering II

AcknowledgementsAcknowledgements

Dr. Onyeka Ezenwoye

Dr. Peter Clarke

2

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

11th LectureCEN 4021: Software Engineering II

AgendaAgenda

Software Project Planning (POMA)– Organizing

Processes, Methodologies and Tools

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

In addition to hiring new employees, other new resources necessary for the s/w project must be considered, acquired, established, and installed during the organizing phase.

The process used to develop the s/w must be clearly defined.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

The process must be tailored depending on some of the following:– The size and complexity of the project based on the

deliverables

– The maturity of the organization

– The history of the working relationships of the people

– The size of the organization

– The goals of the s/w project

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

11th LectureCEN 4021: Software Engineering II

Process MapProcess Map

There is a need to map the overall process to clearly list the activities carried out with in each step, and to explain any relationships among the steps.

Figure 7.1:– For waterfall-like process

– Arrows show the flow of activities.

– Dotted arrows indicate the potential for backward flow.

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

11th LectureCEN 4021: Software Engineering II

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

11th LectureCEN 4021: Software Engineering II

Process MapProcess Map

The conditions for the successful completion or the exit criteria of a step, which allow the work flow to continue to the next step, need to be provided as a companion to the process map.

Typical exit criteria from the design process:– All the functional and nonfunctional reqs. are designed including

the following:The systems and communication interfacesDatabase and file structureSpecial constraints: performance, security, backup/recoveryetc.

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

11th LectureCEN 4021: Software Engineering II

Process MapProcess Map

Typical exit criteria from the design process cont:– All of the design is documented and represented in the

preciously specified format and language.

– The design document is stored in a configuration management tool.

– The design document is reviewed and all errors found have been fixed and captured in the updated design document.

The defined exit criteria for the process steps provide a management and a team approach to controlling the flow of activities.

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

11th LectureCEN 4021: Software Engineering II

Process MapProcess Map

There may be overlap in the activities especially from teams that are facing schedule pressure such as the coding team.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Configuration Management Defn: A set of procedures that define, track, and control

artifacts produced during the development, support, and maintenance of software.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Configuration Management Configuration management is made up of a complex set

of activities including the following key activities:– Definition and Setup

– Control and Track

Part 1: Definition and Setup

- Defining and listing the artifacts that need to be managed

- Defining the granularity of managing the artifacts and designing the directory scheme to accommodate that level of granularity

- Defining the rules for accessing the artifacts

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Configuration Management cont• Part 2: Control and track

- Defining the security and controls needed to manage the artifacts

- Storing, retrieving, locking, and unlocking artifacts based on the predefined rules

- Maintaining all of the tools employed to help in configuration management.

Note configuration management spans the entire project.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Process Introduction and Education Members of a project team may come from a variety of

backgrounds, all of which use some form of a process. Even if this process is some form of chaotic organization i.e., the process is formulated as the project progresses.

Education and communication of project progress should come in stages.

There are many approaches, one such approach is as follows:

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Example Process Introduction and Education stages Stage 1: Process Introduction Stage 2: Feedback and Modification Stage 3: Acceptance Stage 4: Reinforcement

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Process Introduction and Education Stage 1: Process Introduction

– Provide the intro and education, if necessary, to the general process chosen for the project.

– Provide the rationale behind the specific process.

– Point out both the positive and the negative as well as any portion of the process that is still untested.

– Point out any past history, if available.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Process Introduction and Education Stage 2: Feedback and Modification

– Allow team members to debate and study the process on their own.

– Ask for written feedback.

– Collect and analyze the responses

– Make appropriate modifications and prepare for responses to these changes.

– Bring the team together, providing the team members with feedback on which suggested modifications were accepted and explaining what was done with both the accepted and the rejected suggestions.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Process Introduction and Education Stage 3: Acceptance

– Ask whether any further education is needed and provide it as appropriate.

– Ask for concurrence and acceptance of the process.

Stage 4: Reinforcement– Quickly review the process and ask for any further input to its

implementation.

– Make any adjustments and update the process as needed.

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

11th LectureCEN 4021: Software Engineering II

ProcessesProcesses

Process Introduction and Education The effort required to organize, communicate, educate,

and gain acceptance of the process may be longer than many people would like.

Stage 4 (reinforcement) may be performed repeatedly as needed, but not excessively.

As new employees come on board, they must also be introduced to the project process.

project manager needs to ensure that the team is clear about, and ready to follow the process map.

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Recall a methodology is a prescribed set principles or rules to accomplish a task.

The process provides the macro steps the methodology provide the micro steps, i.e., the difference between a methodology and a process is a matter of degree.

project managers have traditionally been highly involved in discussion on methodologies for the following reasons:

1. Need to keep up with the new methodologies

2. Promotion was linked to performance using a methodology

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Project managers must be familiar with the most appropriate methodology.

project managers need to monitor how the methodology is used on the project.

The project manager needs to ensure that the team is prepared to use the methodology. Usually describe at two levels:

1. Higher-level is a more process oriented way i.e., major substeps to be employed are listed and their relationships shown.

2. Deeper level describes the specific methods in each substep.

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

What kind of methodologies have prescribed for your project?

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Methodology Definition: Functional testing activity:

– Review the requirements spec for the description of the desired functionality

– Review the design document for the design of the solution to provide the functionality

– Review the code, if necessary

– Develop the usage scenario and break down the usage scenario into test cases for the functionality

– Execute the test cases and record the results

– Report any problems found

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Methodology Definition: Functional testing activity:

– Incorporate the fixes and retest to ensure that the fixes are correct

– Promote all of the correctly tested functional code to a library

Within this general methodology, very different, specific methods may be employed to accomplish any of the particular substeps.

For example, the generation of test cases may be done using white-box or black-box.

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Methodology Preparation: managers need to facilitate the debate over a new or

complex methodology, so that all fears and apprehensions about it may be exposed and resolved before the next stage of preparation.

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Methodology Preparation: During the debate, the new methodology should be

judged by the following criteria:– Whether it will accomplish the task

– Whether it will accomplish the task in some advantageous way that improves productivity, reduces complexity, and enhances quality

– Whether the actual project cost will be reduced and the schedule improved.

The project managers must be prepared to address the above criteria as part of the organization and preparation of the methodologies.

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

11th LectureCEN 4021: Software Engineering II

MethodologiesMethodologies

Methodology Preparation: A new methodology will have a front-end cost in terms of

the potentially steep learning curve and extra time required to master the methodology.

After the debate is over and the team embraces the new methodology the education process begins.

Some teams may include a few experts in the new methodology, the project manager should use these team members effectively in the education process.

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

11th LectureCEN 4021: Software Engineering II

ToolsTools

Tools should reduce work and increase productivity and efficiency.

Tools represent a significant set of resources for software projects.

There have been claims of 50% - 200% gains in productivity as evidence of a particular tools’ effectiveness. On the other hand the expected savings for some tools may not materialize.

project managers should take a realistic note of what should be expected and what effort will be required to achieve the expectation.

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

11th LectureCEN 4021: Software Engineering II

Tool Identification and Preparation Some activities the manager should carry out to prepare

for the acquisition and use of the tool:– Identify the specific steps and activities that the tool is expected

to automate or improve.

– Explore realistic expectations for the tool, stated in terms of productivity gain or efficiency gain that the automation of these steps will bring.

– Review the various tools available that will meet these expectations.

– Review the training needed to attain the level of competency for the expected gains.

ToolsTools

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

11th LectureCEN 4021: Software Engineering II

Tool Identification and Preparation:– Choose the specific tool to be acquired, working out the needed

terms and conditions.

– Announce the decision.

– Set and communicate the realistic expectations in terms of productivity gains that the team should be experiencing.

– Schedule and facilitate the necessary training.

– Acquire and set up the chosen tool.

– Ensure the proper continuous support of the tool is in place.

– Communicate the project policy for usage of this tool

– Set up the mechanism to enforce the usage policy.

ToolsTools

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

11th LectureCEN 4021: Software Engineering II

Tool Selection: manager must establish an objective set of criteria for

tool selection, i.e., should study the different vendor offerings.

Criteria to evaluate vendor offerings:– The functions that the tool performs and automates

– The expected gains in productivity and efficiency from the tool’s functions

– The number of users who may simultaneously access the tool

– The tool’s performance capacity and reliability

ToolsTools

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

11th LectureCEN 4021: Software Engineering II

Tool Selection: Criteria to evaluate vendor offerings cont:

– The vendor’s experience with the tool

– The vendor’s past history in supporting the tool

– The amount of training needed to use the tool

– The effort required to maintain and support the tool

– Contractual terms and conditions for the tool-especially the financial terms

Some “scoring” mechanism must be established for each criterion.

ToolsTools

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

11th LectureCEN 4021: Software Engineering II

Tool Usage Preparation: The project team must be trained how to use the tool

correctly. In the start-up period of using the tool the team will lose

some productivity due to: exploration, frustration, and further learning.

project manager must set expectations with the startup-period in mind.

project manager must be tactful in persuading team members to use new tools.

ToolsTools