Transparency Masters for Software Engineering: A
Download
Report
Transcript Transparency Masters for Software Engineering: A
2.1 Software Engineering
Software engineering is a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software; that is,
the application of engineering to software.
Do you agree with this definition?
1
2.1 Software Engineering
A Layered Technology
Software Engineering
tools
methods
process
a “quality” focus
What does “quality” mean in a software engineering context?
2
2.2 A Process Framework
Framework activities
Software engineering actions
Task sets
work tasks
work products
QA checkpoints
milestones
3
2.2 A Process Framework
Umbrella Activities
Software project tracking and control
Risk management
Software quality assurance
Formal technical reviews
Measurement
Software configuration management
Reusability management
Work product preparation and production
4
2.2 A Process Framework
Communication
Planning
Modeling (analysis & design)
Construction (code generation & testing)
Deployment
Do the five activities in the generic process model seem
reasonable?
Are there projects where one or more of the activities in the
generic model would not apply?
5
2.3 The CMMI
Level 0: Incomplete
Level 1: Performed
Level 2: Managed
Level 3: Defined
Level 4: Quantitatively Managed
Level 5: Optimized
Is the CMMI overkill?
6
2.4 Process Patterns
Process patterns define a set of activities, actions, work
tasks, work products and/or related behaviors
Examples:
Customer communication (a process activity)
Analysis (an action)
Requirements gathering (a process task)
Design model (a work product)
Do companies really use patterns?
What kind of re-use issues are associated with patterns?
7
2.5 Process Assessment
The process should be assessed to ensure that it meets
a set of basic process criteria that have been shown to
be essential for successful software engineering.
Many different assessment options are available:
SCAMPI
CBA IPI
SPICE
ISO 9001:2000
8
2.6 Personal Software Process (PSP)
Recommends five framework activities:
Planning
High-level design
High-level design review
Development
Postmortem
What seems to be key to making PSP successful?
Given its reported benefits, why has PSP not been more widely adopted?
Should it be?
9
2.6 Team Software Process (TSP)
Each project is “launched” using a “script” that
defines the tasks to be accomplished
Teams are self-directed
Measurement is encouraged
Measures are analyzed with the intent of
improving the team process
What seems to be key to making TSP successful?
10
2.7 Process Technology
These tools can help organizations analyze their
process, organize work tasks, control and monitor
progress, and manage technical quality.
Igrafx Process Tools
Objexis Team Portal
Have any of you used process tools?
11