Title: Concurrent Engineering and Software Development
1Concurrent EngineeringandSoftware Development
- Presented by
- Joe Cleetus
- jocle_at_cerc.wvu.edu
- Concurrent Engineering Research Center
- Feb 17, 2000
2Context
- 80's realization that product manufacturing was
lagging in USA - Long product cycles
- Post-manufacturing defects
- Cost over-runs
- Failure to meet customer expectations
3Approach
- Early association between manufacturing and
design groups was seen as the key - Close involvement of the customer and end-user
was another fix proposed - Reuse of existing knowledge and designs could
save time, money, and defects - The basis is COMMUNICATION
4CE is a Process
- Hence, a way of working among those involved
- Cannot be automated, though you can provide
support - Needs a deep understanding and agreement to work
in a certain way - Therefore, requires the Organization and the
People must subscribe to these ideas - But you can realize your own version of CE
5One Definition of CE
Concurrent engineering is a systematic approach
to the integrated, concurrent design of products
and their related processes, including
manufacture and support. This approach is
intended to cause the developers, from the
outset, to consider all elements of the product
life cycle from conception through disposal,
including quality, cost, schedule, and user
requirements. -- Bob Winner et al.
6A Rather More General Definition of CE
- A Systematic approach
- to integrated product development that
emphasizes - response to customer expectations
- and embodies
- team values of cooperation, trust and sharing
- in such a manner that
- decision making
- proceeds with large intervals of parallel working
by all life-cycle perspectives, - synchronized
- by comparatively brief exchanges
- to produce consensus. -- Joe Cleetus
7Elements of CE
- Focusing on customers
- Teaming across the life-cycle
- Sharing information early
- Working in parallel, but cooperatively
- Making decisions as late as possible
- Improving processes individually and collectively
- Systems engineering (bringing the parts into a
whole systematically, and considering the effects
of each part on the whole)
8Some Barriers to CE
- Geographic dispersal
- Compartmental thinking encouraged by departmental
organizations - Project plan drawn up without allocation of time
for planning and exploring of risk elements - Inability to exchange hard data accurately among
different perspectives - Reward system
9Other Barriers to CE
- Being unwilling to share unfinished work
- Absence of tools to design with partial data
- Absence of tools to analyze the consequences of
decisions - Lack of budget at the front end of a project
- Having few exemplars practicing the new way
- Little commitment at the top
10Areas that need support
- Videoconference technology to help overcome
- distance
- Training to create a team ethos around a new
- project
- Project management organized around the team
- Exchange standards for data
- Common visibility of partial product data
- Common visibility of tasks
- Simulation
11What is needed
- Making the Remote look Local
- Making the Distributed look Unified
- Making the Heterogeneous look Homogeneous
- Making the Chaotic look Ordered
- Capturing Corporate Memory
12Social Aspects of Sharing
- talk to anyone about anything
- develop a high tolerance for ambiguity
- be willing to look stupid
- give more than you take
- cultivate fearlessness
- go on gut instinct and
- expand your sense of humor.
-- principles of effective networking suggested
by Chris Locke
13SW Support for CE
- Electronic Mail / Messaging
- Videoconference and Whiteboard with Shared
Screens (WISIWYS) - Calendaring and Scheduling
- Group Decision Support Systems
- Group Editing
- Workflow and Document Management
- Intranet Document Sharing
- Exchange standards like PDF
- Workgroup Products and Utilities
- Groupware Development Tools
- Internet Commerce
14HW Support for CE
- Powerful desktops with multimedia support
- ATM networking protocols for multimedia
- New devices for interaction (PDA)
- Wide availability of switched high speed lines
(T1) - Hardware compression
- Security via Virtual Private Networks
- NGI (bandwidth guarantees, and security at the
network level)
15Process Issues in CE
- Formal assessment of CE practices in
organizations (Karandikar 1992) -- Characterizes
Processes and support technologies using a
5-level SEI model. Tool called RACE - Building a library of reusable CE processes by
benchmarking the best organizations (Malone 1993) - Re-engineering business processes in
organizations -- still a hot consultancy service
(Hammer, Stalk, Bower,..) - Using Internet commerce to share information with
suppliers and shorten lead times
16Summary
- CE is being absorbed into the Enterprise
processes - Technology support is advancing steadily
- Network infrastructure development is moving
faster than anticipated - CE is being manifested under many other names
- Green engineering promises to take CE into the
furthest downstream perspective -- Disposal
17Metrics that validate CE
- Product development times compressed by 40 to 60
in automotive firms (Ford, Chrysler). - Conflicting requirements reconciled in
semiconductor development (Intel - Pentium
development team) - Time spent in meetings reduced by 90
- Number of ECOs after first-ship reduced
drastically - Variable 15 to 26 days to deliver car according
to customer order reduced to fixed 6 days (Toyota)
18Challenges
- Encouraging openness and sharing in
organizations, while preserving the necessary
confidentiality - Making reward systems reflect the team efforts
- Making groupware as easy to use as telephones
- Making the new gigabit networks a low-cost and
ubiquitous reality, much as roads are - Developing more natural interfaces for personal
computers and PDAs without increasing cost
19Communication
- Between whom
- Using what formal means and informal means
- When
- To Define what decisions
- What are the technologies that help
20Coordination
- What are the perspectives that concern Software?
- Describe some reciprocal relationships among
perspectives - Describe up-down and horizontal coordination
- Describe the nature of the coordination over time
that need to take place - Apart from generic communication that aids
software development, what specific types of
coordination would help? - Notification
- Tools for assessing the consequences of decisions
made by others
21Product Management
- What is the product?
- How do you classify it and structure it?
- What software packages help to manage it, from
the least complex to the most complex, from the
local to the global? - How can Product and Process be combined?
- What about configuration control of different
versions for different purposes? - What is a build?
22Corporate Memory
- How do you retain what is useful that was
developed in one project in order to enhance
another project later? - What human resource policies are needed to
encourage this? - What good principles of design help to formalize
it? - How do you ensure when someone else comes along
to modify the code, s/he does not violate known
constraints (good external specs, good internal
remarks and comments)?
23Corporate Memory
- Who has corporate memory and where is it stored?
- How do you impart the lessons?
- How does one learn and progress?
- What is the first question to ask before you
embark on a new software?
24Customer Focus
- Who is the customer? (Funding agency or user,
user or systems staff) - How do you ascertain the needs of the customer?
- What are the dimensions of his needs
(compatibility, execution time performance,
etc.)? - How do you make the customer needs explicit
(mockups, look and feel demos)? - How do you incorporate flexibility for adjusting
to future changed customer needs?
25Customer Focus
- When does the customer need to be involved?
- How do you delight the customer (on-time,
on-budget, more features, greater openness of
architecture, easier upgradability)? - How do you gage customer satisfaction?
- Is there a formal acceptance?
26SW Processes
- Waterfall and spiral - what are the differences?
- How is the process regulated or enforced?
- Can you think of how CE can improve on the Spiral
model? - How is a process inspected by an auditor?
- What are personal processes practiced by
individual engineers?
27SW Processes
- Throw one away - Fred Brooks
- How are schedules managed?
- What kind of project management aids the practice
of CE in SW Development?
28Globalization
- Implications for SW Development - what aspects
are distributed? - What are the special needs for coordination?
- Implications for Software itself How do you
endow software with internationalization
properties? - What is the language of software and software
development?
29Parallel Working
- How do you break down a project?
- What are the disciplines that encourage parallel
working? - Parallel working within and across disciplines
- How do you bring it all together and ensure it
fits?
30Documents
- Name as many documents as you can that should be
prepared in a SW development project - What are the tools that help you to prepare
them? - Typically there is a preparer, and approver and a
distribution list. Take a document and state what
these are. When a new software release occurs
state what should accompany it.
31Linux
- Linux is modern phenomenon in software. Describe
how collaboration and coordination takes place in
Linux software, and how the needs of the customer
are assessed.