Software Process Reengineering Working Group Final Report
Walt Scacchi,
ATRIUM Laboratory, and
Center for Software Engineering,
University of Southern California.
213-740-4782, 213-740-8494 (fax)
(Scacchi@gilligan.usc.edu).
Return to Overview
- What metrics are needed?
- How should we measure process quality or "goodness"?
- How should we define process
metrics that the community can use to assess
effectiveness of process change or reengineering?
- Is process "baselining" (understanding "as-is" process) necessary?
- These appear to be topics appropriate for academic research.
Return to Overview
- What are the successful processes and process benchmarks?
- What works, what does not work, and why do they work or not work?
- What resources, beyond process scripts or procedures, are needed
to implement process change?
- How can we rapidly "pilot" (or prototype) new software processes?
- How can we rapidly construct, analyze, and enact processes tailored
for specific organizational or business needs?
- How can we sustain the effectiveness of in-place processes, while
transitioning to new processes? Does process prototyping help?
- How do we institutionalize process flexibility?
Return to Overview
- "Darwinian" (long life cycles) versus "Genetic" (short live cycles)
models of software process.
- How do we recognize and avoid process suboptimization?
- How do we determine, change, or shift process "granularity"
to accomodate:
- Radical vs. incremental process evolution
- Global process redesign
- Redesign of selected or "appropriate" subprocesses
- What to teach to new software engineers or process analysts
Do we need some form of "agile process engineering" that can be
tailored to different types of software development efforts, such as:
- In-house information systems or MIS
- Commericial or shrink-wrap products
- Embedded systems and applications
- Product manufacturing and test support systems
What about "workflow-driven" approach to software process (re)design?
How is business process redesign similar to or different from software
process redesign?
Do we need a capability for software "meta-process" engineering?
Return to Overview
Return to Overview
Future software environments must accomodate and support:
- Distributed everything: people, processes, platforms,
tools, target applications, etc. with different distribution
topologies possible for each.
- Legacy systems and architectures
(which may also need to be reengineered)
- Commercial of the shelf (COTS) products
- New code and components
- Glue code (architectural middleware)
- Models and simulations of application subsystems
- New and old data sets and repositories
- New and old software engineering tools and environments
- Built-in process support or guidance for how to accomodate these.
USC CSE and ATRIUM Lab projects are currently researching this area.
Return to Overview
- An organizational operating system is a computing environment
that supports the development, use, and evolution of complex business
processes.
- These processes include, but are not limited to, software (re)development
processes, and they are specialized to represent and address organizational
requirements while supporting high-performance process work teams.
-
Processes are enacted in the environment to create products or provide
services using available resources that are connected to, or
embedded within, an organization's information infrastructure.
-
Accordingly, business goals and organizational objectives can be formulated
as computational processes that can be iteratively executed, monitored,
and continuously improved.
-
Advanced organizational operating systems will operate over wide-area
networks, and support the integration of heterogenous, autonomous software
applications, tools, data sets, and repositories, whether new or legacy,
and whether located within or across organizational boundaries.
-
The required support will need to include process construction, modeling,
analysis, resourcing, enactment, measurement, verfication and validation,
and management of process assets and repositories.
USC ATRIUM Lab projects are currently researching this area.
At present, this includes activity addressing
process life cycle engineering environment and a
distributed, wide-area hypermedia infrastructure for integrating tools,
data, repositories, and processes.
Return to Overview
This interactive presentation
page is maintained by
Walt Scacchi
who can be reached at the e-mail address noted above. A more
narrative report
associated with this presentation can also be found on the WWW, at the
indicated link. This page was last
updated on
10 January 1996.