‘all aspects of software production’ - software engineering is not just concerned with the...

10
‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production. -Sommerville Software Engineering

Upload: derrick-turner

Post on 22-Dec-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities such as software project management and with the development of tools, methods and theories to support software production.

-Sommerville

Software Engineering

Page 2: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Software Engineering II

Lecture 45

Fakhar Lodhi

Page 3: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Recap

Page 4: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Why Projects Fail?

• An unrealistic deadline is establishedAn unrealistic deadline is established• Changing customer requirementsChanging customer requirements• Ambiguous/incomplete requirementsAmbiguous/incomplete requirements• An honest underestimate of effortAn honest underestimate of effort• Predictable and/or unpredictable risksPredictable and/or unpredictable risks• Technical difficultiesTechnical difficulties• Miscommunication among project staffMiscommunication among project staff• Failure in project managementFailure in project management

Page 5: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Comparison of CMMI Representations

Staged Continuous•Process improvement is measured using maturity levels.

•Maturity level is the degree of process improvement across a predefined set of process areas.

•Organizational maturity pertains to the “maturity” of a set of processes across an organization

•Process improvement is measured using capability levels. •Capability level is the achievement of process improvement within an individual process area.•Process area capability pertains to the “maturity” of a particular process across an organization.

Page 6: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

INITIAL – Ad hoc Process

REPEATABLE – Project Management

DEFINED – Process Definition

MANAGED – Process Measurement

OPTIMIZED – Process Improvement

CMM Maturity Levels

Page 7: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Project Management Concerns

staffing?

cost estimation?

project scheduling?

project monitoring?

other resources?

customer communication?

risk assessment?

product quality?

measurement?

Page 8: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Project Management

• Planning• Organization• Control• Motivation

Page 9: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Scope

ScheduleResources

Page 10: ‘all aspects of software production’ - Software engineering is not just concerned with the technical processes of software development but also with activities

Software Quality Assurance

• What is quality?– Internal versus external– Does internal quality translate in external

quality• Do you need to worry about it after the code

has been generated?