Title: Transparency Masters for Software Engineering: A Practitioner's Approach, 4e
1The Road Ahead
- 2003. 12. 5(?)
- ???? ??? ???
- ?? ??? ??? ???
2Contents
1. Overview 2. The Importance of
Software-Revisited 3. The Scope of Change 4.
People and The Way They Build systems 5. The
New Software Engineering Process 6. New Modes
for Representing Information 7. Technology as a
Driver 8. Concluding Comment
3Overview
- Some issues to consider when trying understand
how software and software engineering will change
in the future - Predicting future trends in any field requires
collecting data, organizing it, looking for
subtle associations to extract knowledge, and
using this knowledge to suggest probable future
occurrences - A short-term prediction may or may not prove to
be true and yet, may still be true in the long
term
4An Information Spectrum
5Conversion of Hardware
Reduced instruction
set computers
Extremely high-bandwidth
communication
high-density optical/
?
magnetic storage
massively parallel
?
machines
?
Optical processors
network
?
molecular computers
architectures
mobile computing
?
?
optoelectronic
advanced RISC
devices
machines
advanced
information retrieval
?????
??
????
5
10
15
6Conversion of Software
7Importance of Software(1/2)
- Software as a differentiator (products, systems,
services, competitive advantages in the
marketplace) - Software generates valuable information
(programs, documents, data) - Mechanism for automating business, industry, and
government
8Importance of Software(2/2)
- Medium for transferring new technologies
- Means of capturing people's expertise for use by
others - Software is a hidden technology, embedded in
daily activities and used without customers
thinking about it
9Scope of Change(1/2)
- Changes in computing over the past 50 years have
been driven by advances in the hard sciences
(physics, chemistry, materials science,
engineering) - During the next several decades changes in
computing are likely to be driven by the soft
sciences (human psychology, biology,
neurophysiology, sociology, philosophy)
10Scope of Change(2/2)
- Changes in software engineering will be
influenced by - ? people who do the work
- ? processes they apply
- ? nature of information
- ? underlying computer technology
11People Systems Construction(1/2)
- Systems are becoming more complex, requiring
larger programs and more people involved in their
construction - Communications between individual software
engineers and between specialized teams working
on the same project will need to be improved to
avoid losing information
12People Systems Construction(2/2)
- The evolution of intelligent agents may change
the work patterns of software engineers by
extending the capabilities of software tools - The World Wide Web has made many changes in the
ways that people acquire and access knowledge
13New Software Engineering Process(1/3)
- The first two decades of software engineering
were characterized by linear thinking, yet linear
systems development runs contrary to the ways in
which most software systems are actually built - Evolutionary process models recognize that
uncertainty dominates most development activities
14New Software Engineering Process(2/3)
- Modern development time lines are impossibly
short, iterative delivery of partial products
provides crucial functionality when complete
product delivery is not possible - The Capability Maturity Model provides a good
indicator about what attributes should exist when
solid software engineering is practiced - Object technologies coupled with component-based
software engineering are a natural outgrowth of
the evolutionary process model trend
15New Software Engineering Process(3/3)
- Customer involvement early in the design process
is likely to be observed more frequently - Rapid growth in Web-based applications
development is changing both the software
engineering process and its participants
16New Modes for Representing Information (1/2)
- Data processing has been replaced by the term
information technology - Emphasis is shifting from managing large
quantities of data to extracting meaningful
information from data
17New Modes for Representing Information (2/2)
- Knowledge engineering techniques may begin
migrating form the artificial intelligence
laboratories to the application domain as people
seeks ways to associate information from more
than one context - Software systems may be viewed in the future as
systems the extract knowledge from data and
information (many knowledge bases have already
been created)
18Technology as a driver(1/3)
- Historically hardware has served as the
technology driver in computing - A new hardware technology provides potential
- So, Software builders demand in an attempt to tap
the potential
19Technology as a driver(2/3)
- Road ahead for H/W technology
- ? H/W technology will continue to evolve at a
rapid pace - ? Nontraditional H/W architecture may cause
radical changes in the kind of S/W - Road ahead for S/W engineering is driven by S/W
technologies - as reuse, component-based S/w
20Technology as a driver(3/3)
- Many kinds of venders
- ? build discrete devices (reusable software
component) - ? build system components (set of tools for
human/computer - interaction
- ? build system integrators that provide
solutions for the end-user - Regardless of how radical the changes are, we can
be assured that quality will never lose its
importance
21A concluding Comment
22The Past, Present, and Future of S/W Process
Improvement
Stephen E. Cross????? ???? ??????????? 2003?
4?
23Contents
1. Software Process Basics 2. Survey of Process
Modeling Approaches 3. Industry Adoption 4.
Globalization 5. Evolving Standards 6. Related
Trends 7. Future Trends
24Software Process Basics (1/2)
- A process
- A sequence of steps, actions, or activities that
members of an organization perform to achieve a
goal - Capability Maturity Models (SW-CMM)
- Judging the maturity of the software processes of
an organization and for identifying the key
practices that are required to increase the
maturity of these processes
25Software Process Basics (2/2)
- Capability Maturity Models
- Become a standard for assessing and improving
software processes - Process areas
- Identify the issues that must be addressed to
achieve a maturity level - Defined to reside at a single maturity level
26Software Process Basics
- Structure of CMM
- Maturity Levels
- A layered framework providing a progression to
the discipline needed to engage in continuous
improvement - Key Process Areas
- Key process area (KPA) identifies a cluster of
related activities that, when performed
collectively, achieve a set of goals considered
important
27Software Process Basics
- Structure of CMM (Cont.)
- Goals
- The goals of a key process area summarize the
states that must exist for that key process area
to have been implemented in an effective and
lasting way - Common Features
- Common features include practices that implement
and institutionalize a key process area - Key Practices
- The key practices describe the elements of
infrastructure and practice that contribute most
effectively to the implementation and
institutionalization of the key process areas
28Survey of Process Modeling Approaches (1/2)
- SPICE (Software process Improvement and
Capability Determination) - A major international initiative to support the
development of an International Standard for
Software Process Assessment - Three principal goals
- To develop a working draft for a standard for
software process assessment - To conduct industry trials of the emerging
standard. - To promote the technology transfer of software
process assessment into the software industry
world-wide
29Survey of Process Modeling Approaches (2/2)
- Bootstrap (based CMM)
- Provides some more detailed capability profiles
that organizations can use to identify important
areas for further improvement - ISO 9000 series
- TickIT
- British Department of Industry and Trade
- Software quality Assurance
- TickIT Guide
30Industry Adoption
- Boeing (Maturity Level 3)
- The productivity of projects increased by 62
- Cycle time improved by 36
- Boeing Space and Transportation Systems (Lv5)
- Defects are nearly all found and fixed
- Reduced from 11 to 0 for escaping into the
field - While peer reviews increase total project costs
by 4, rework during testing is reduced by 31 - Lockheed martin (military aircraft)
- Manassas Owego (Lv5)
- Errors have declined productivity has increased
by 80 percent - Performance measures have improved
- Productivity gains of 452.9 between 1982 and
2000 - Motorola
31Globalization
- Every organization in the world must be concerned
with software quality - An example of how adoption of S/W process
improvement methods can help organizations - Indian software companies professionals
- Managing director of Phoenix Global Solutions
India - Its almost shameful for them to admit they are
a Level 2 company or that they didnt get ISO
9000 certification - Indian S/W firms achieved Lv3 or Lv4 in formal
CMM - S/W development costs are about one-third in the
U.S. - But, disappear in three to five years
32Evolving Standards
- ISO/IEC 12007 in 1995
- The processes for acquiring, developing,
supplying, operating, and maintaining S/W - IEEE/EIA 12207
- Provide an architecture of the full S/W life
cycle, including product conception,
implementation, maintenance, and S/W retirement - Specifies the processes, activities, and tasks
during the life cycle - ISO/IEC 15504
- An emerging international standard on S/W process
assessment - Defines a number of S/W engineering processes
33Related Trends
- Two significant trends during the past few years
- First A proliferation of process models
- CMM Integration (CMMI)
- Second A strong desire to accelerate the time
- Personal Software Process (PSP)
- Team Software Process (TSP)
- Extreme Programming
34Related Trends
- CMM Integration (CMMI)
- SEI develop additional CMM approaches in other
disciplines - Systems Engineering CMM (SE-CMM)
- Integrated Product Develop CMM (IPD-CMM)
- Organizational and project management processes
- The development of multiple CMM was greeted
- Ideally
- Should work together harmoniously for the benefit
of organizations - Be repeated Training, assessments and improvement
activities
35Related Trends
- CMM Integration (CMMI) (Cont.)
- CMMI for Systems Engineering and S/W Engineering
(CMMI-SE/SW) - CMMI for Systems E S/W E IPPD
(CMMI-SE/SW/IPPD) - CMMI for Systems E S/W E IPPD Supplier
Sourcing - CMMI for Software Engineering (CMMI-SW)
- CMMI product
- CMMI models, a framework, training materials, and
assessment methods - Example Lockheed Martin
- Apply the highest standards of engineering
excellence to all procests - Korea Securities Computer Corp. is Lv3
36Related Trends
- PSP and TSP
- CMM is what organizations should do and not
how they should do it - Problem
- Engineers only believe new methods work after
they use them and see the results, but they will
not use methods until they believe they work - Object
- To convince S/W engineers of the value of better
methods - PSP
- They leave their day-to-day env. And go through a
rigorous training course
37Related Trends
- PSP and TSP (Cont.)
- When everyone on a team of engineers is PSP
trained, they still must figure out how to
combine their personal processes into an overall
team process - TSP
- Extends and refines the CMM and PSP methods
- How to build self-directed teams
- How to perform as effective team members
- How to guide and support these teams
- How to maintain an env.
- Benefit
- Show engineers how to produce quality products
for panned costs and on aggressive schedules
38Future Trends
- In the future
- S/W product quality will be less about defects
and more about how well a product achieves
desired levels of functionality, reliability,
security, usability, efficiency, maintainability,
and portability - CMMI, TSP, the SEIs work in architecture tradoff
analysis, and ISO/IEC 9126 - Three other future
- Software reuse
- Technology to support the use of S/W engineering
processes - Technology to support virtual organizations
39Future Trends
- Software Reuse
- When they reuse high-quality code, they have an
extreme competitive advantage - gt SEIs Framework for Product Line Practice
- Benefit
- Significant Productivity, cycle time, and quality
improvements - IEEE 1517 Software Reuse Standard
40Future Trends
- Software Process Technology
- Coordinate the efforts of people, computers, and
software tools to support key software
development activities, such as collaborative
design and S/W testing and analysis - Virtual Organizations
- 24x7 (i.e., they work 24 hours a day, 7 days a
week) - Development organizations in Europe and Korea
where work is done continuously and
collaboratively during the daylight hours in each
part of the world - Continuing research