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