concurrent engineering and software development presented by joe cleetus [email protected]...

31
Concurrent Engineering and Software Development Presented by Joe Cleetus [email protected] Concurrent Engineering Research Center Feb 17, 2000

Upload: jayson-higgins

Post on 30-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

Concurrent Engineeringand

Software Development

Presented by

Joe [email protected]

Concurrent Engineering Research Center

Feb 17, 2000

Page 2: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

2

Context

• 80's realization that product manufacturing was lagging in USA

• Long product cycles• Post-manufacturing defects• Cost over-runs• Failure to meet customer expectations

Page 3: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

3

Approach

• 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

Page 4: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

4

CE 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

Page 5: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

5

One 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.

Page 6: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

6

A Rather More General Definition of CE

A Systematic approach to integrated product development that emphasizes

response to customer expectationsand embodies

team values of cooperation, trust and sharingin 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

Page 7: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

7

Elements 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)

Page 8: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

8

Some 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

Page 9: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

9

Other 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

Page 10: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

10

Areas 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

Page 11: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

11

What 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

Page 12: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

12

Social 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

Page 13: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

13

SW 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

Page 14: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

14

HW 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)

Page 15: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

15

Process 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

Page 16: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

16

Summary

• 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

Page 17: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

17

Metrics 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)

Page 18: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

18

Challenges

• 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

Page 19: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

19

Communication

Between whom Using what formal means and informal means When To Define what decisions What are the technologies that help

Page 20: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

20

Coordination

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

Page 21: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

21

Product 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’?

Page 22: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

22

Corporate 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)?

Page 23: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

23

Corporate 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?

Page 24: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

24

Customer 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?

Page 25: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

25

Customer 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?

Page 26: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

26

SW 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?

Page 27: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

27

SW Processes

‘Throw one away’ - Fred Brooks How are schedules managed? What kind of project management aids the

practice of CE in SW Development?

Page 28: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

28

Globalization

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?

Page 29: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

29

Parallel 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?

Page 30: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

30

Documents

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.

Page 31: Concurrent Engineering and Software Development Presented by Joe Cleetus jocle@cerc.wvu.edu Concurrent Engineering Research Center Feb 17, 2000

31

Linux

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.