26
Copyright © 2008 Nara Institute of Science and Technology / Osaka Uni Using Software Tag for Traceability and Transparency in Global Software Engineering Katsuro Inoue Osaka University

Using Software Tag for Traceability and Transparency in Global Software Engineering

  • Upload
    clarke

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

Using Software Tag for Traceability and Transparency in Global Software Engineering. Katsuro Inoue Osaka University. Software Intensive Systems. Complex systems in society Important infrastructure for society Banking and communication systems - PowerPoint PPT Presentation

Citation preview

Page 1: Using Software Tag for Traceability and Transparency in Global Software Engineering

Copyright © 2008 Nara Institute of Science and Technology / Osaka University

Using Software Tag for Traceability and Transparency in Global Software Engineering

Katsuro Inoue Osaka University

Page 2: Using Software Tag for Traceability and Transparency in Global Software Engineering

2

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Software Intensive Systems

Complex systems in society Important infrastructure for society

Banking and communication systems Economical loss for the vendors and users when troubled Life threatening system failures

air-traffic control system, automobile safety system

Software systems are still extending but development periods are decreasing Demand of reducing cost and increasing reliability

1989 19991996

1.5M

700K

4 bit 8 bit 16 bit

Sof

twar

e S

ize

(LO

C)

500K

1M

2M2.2M

1989 19991996

1.5M

700K

4 bit 8 bit 16 bit

Sof

twar

e S

ize

(LO

C)

500K

1M

2M2.2M

Dev

elop

men

t Per

iod

(yea

r)

1

0.5

Telephone Terminal (Cell Phone)

By Hirayama, Toshiba/IPA-SEC

Page 3: Using Software Tag for Traceability and Transparency in Global Software Engineering

3

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Non-transparent Development Process

Complex development structure Development chain from main contractor to sub ... sub

contractors Off-shore development

Software component circulation and reuse COTS(Commercial off-the-shelf), OSS(Open Source

Software) ...

発注者発注者 元請会社元請会社

一次請け一次請け

一次請け一次請け

二次請け二次請け

二次請け(海外)

二次請け(海外)

order

発注者user 元請会社main cont.

一次請けsub cont.

一次請けsub cont.

二次請けsub sub

二次請け(海外)

sub sub(off-shore)

order

order

Page 4: Using Software Tag for Traceability and Transparency in Global Software Engineering

4

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Issues on Non-transparency

User cannot check the quality of software products Need reliable vendors

User cannot select software products based on their quality No mechanism to select quality software products

User cannot locate the fault and liability of software product failure Difficult to resolve immediately Long legal dispute between user and vendor when trouble

occurs

Page 5: Using Software Tag for Traceability and Transparency in Global Software Engineering

5

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Software Tag

Framework to share various data between user and vendor, to increase traceability and transparency of software development and product Various empirical data collected during development Tag data cannot be public. Only users can see Expected data tag, intermediate data tag, final data tag

Effect of software tag Validation of software quality by users Promotion of quality software selection by users Immediate resolution for software failures Promotion of legal resolution and prevention

<23.5, 35.2, 50.7, 68.2><0, 2.5, 0, -0.8, 0 >

0 20 40 60 80

1

2

3

4

5

6

7

系列1

1

2

3

4

5

6

7

0

10

20

30

40

50

60

70

80

0 2 4 6 8 10

系列1

0

1

2

3

4

5

6

7

8

9

10

1 2 3 4 5 6 7

系列1

Page 6: Using Software Tag for Traceability and Transparency in Global Software Engineering

6

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Data Collection in Development

Collection empirical data Managing quality, progress, risk, cost ...

user

development data

order

deliver

vendor

softwareproducts

empiricaldata

data collectionanalysis

feedback

Page 7: Using Software Tag for Traceability and Transparency in Global Software Engineering

7

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Software Tag in Development Process

Empirical data is selected and abstracted as software tag

associated

selected/abstracted

   Tag

user

development data  

order

deliver

vendor

softwareproducts

data collection

analysisfeedback

empiricaldata

Page 8: Using Software Tag for Traceability and Transparency in Global Software Engineering

8

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Element of Tag

Project information(12)Basic information for project and system

Progress information (29)

Development information of the system

Page 9: Using Software Tag for Traceability and Transparency in Global Software Engineering

Example of Project Information

......

category No. element explanation metrics examples empirical data

1project name unique project name project plan

vendor nameassesment level by ISO15504(SPICE),CMM, etc.

experience of development......

...

...

...

...

...

...

...

...

...

2

developmentorganization

...

3

project info. ...

4

basic info.

5

systemorganization

6

system size

systeminfo.

...

...

......

...

...user info.

requirementCMMcertificateorganizationmap...

Page 10: Using Software Tag for Traceability and Transparency in Global Software Engineering

10

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Structure of Project Info.

Basic info. (4) Project name, development organization, project info., user

info.

System info. (2) System organization, system size

Development info. (3) Development method, organization, project period

Project structure info. (2) Super project info., sub project info.

Other (1) Special annotation

Page 11: Using Software Tag for Traceability and Transparency in Global Software Engineering

Example of Progress Info.

......

category No. element explanation metrics examples empirical data

number of user hearingnumber of user hearing elementsanswer rate of user hearing

...

2size ... ... ...

3

change ... ... ...

...

...

...

5

change ... ... ...

6

coverage of requirement ... ... ...

requirement

design

4

size

meeting memo,etc.

...

user hearing info. information for the user hearingspecific to the requirement

...

1

Page 12: Using Software Tag for Traceability and Transparency in Global Software Engineering

12

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Structure of Progress Info.

Requirement (3) User hearing, size, change

Design (3) Size, change, coverage of requirement

Coding (3) Size, change, complexity

Test (4) Size, change, density, progress

Quality (8) Review status, review density, review result, ..., static checking

Work load (2) Consumed load, productivity

Plan and management (4) Process management, meeting, risk element, risk hold time

Other products (2) Size, change

Page 13: Using Software Tag for Traceability and Transparency in Global Software Engineering

13

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Usage Model

Software tag usageDepend on development style, usage, user, ...

typical cases In contract-based development, user uses tag

for evaluation of project In the case of legal dispute between user and

vendor, tag is used for evaluation of user and vender liability

In the case of choosing software component, user uses tag for the component evaluation

Page 14: Using Software Tag for Traceability and Transparency in Global Software Engineering

14

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

1.Contract-based Development

Accepting software product with tag

associated

select/abstract    tag

user

development data  

order

deliver

vendor

softwareproducts

data collection

analysisfeedback

empiricaldata

Page 15: Using Software Tag for Traceability and Transparency in Global Software Engineering

15

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

2. Legal Dispute

Resolve legal issue

software liability arbitor

inspect

associated

select/abstract

       tag

user

development data

 

orderdeliver

vendor

softwareproduct

data collection

analysisfeedback

empiricaldata

inspect

Page 16: Using Software Tag for Traceability and Transparency in Global Software Engineering

16

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

3. Evaluation of Software Components

Evaluate component quality, risk, cost, ...

search for reusable

components

softwaresystem

integration

softwaresystem

integration

reusable component

library

evaluation

user

softwarecomponents

softwarecomponents

softwarecomponents

select reliable

components

Page 17: Using Software Tag for Traceability and Transparency in Global Software Engineering

17

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Empirical Data

Supporting data for tag Various data for target software products and their

development Ex. source code, design documents, bug reports, progress

reports, ;...

Encrypted if needed Decrypted when

Serious system failure, legal dispute, ...

Page 18: Using Software Tag for Traceability and Transparency in Global Software Engineering

18

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Approach to Define Tag

Discussions on tag specification meeting #1(July 9, 2007) - #11(July 28, 2008) Working group for tag elements (May 1, 2008) Members: 14 organization 27 people

References: SWEBOK,CMMI,ISO/IEC15939,SEC report

Process1. Proposal from members

2. Introducing project and process categories and other hierarchy

3. Consistency check with other standards

4. Use case scenario

5. Selecting and merging elements

Page 19: Using Software Tag for Traceability and Transparency in Global Software Engineering

19

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Members

Fujitsu Lab Hitachi NEC SHARP SRA Key-Tech Lab Tokyo Stock Exchange Toshiba Japan Aerospace Exploration Agency DENSO NTT Data IPA (Information Technology Promotion Agency, Ministry of

Economy, Trade and Industry, Japan) Nara Institute of Science and Technology Osaka University

Page 20: Using Software Tag for Traceability and Transparency in Global Software Engineering

20

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Usage of Tag

Not necessary to use all elements Definable between user and vendor

Data collection target, scope, granularity, period, ...

Data elements which can be computed from other elements are not included

Timing of sending and opening tag data from vendor to user is determined by agreement between user and vendorEx. at delivery time of final product, at every major phase of

development, at every week, at every month, ...

Page 21: Using Software Tag for Traceability and Transparency in Global Software Engineering

21

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Lifecycle of Tag

Page 22: Using Software Tag for Traceability and Transparency in Global Software Engineering

22

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Hierarchy of Software Tag

Project structure is assumed as a tree Super project has links to sub projects and vise versa

22 サブ ( 子 ) プロジェクト n_ID

....

Project ID

Super Project ID

# of Sub projects(n)

...

Project ID

Super Project ID

# of Sub projects(n)

Sub_proejct1_ID

Sub_projectn_ID

...

Super Project Tag

Sub Project Tag

Sub Sub Project Tag

Sub_proejct1_ID

Sub_projectn_ID

Project ID

Super Project ID

# of Sub projects(n)

...

Sub_proejct1_ID

Sub_projectn_ID

Page 23: Using Software Tag for Traceability and Transparency in Global Software Engineering

23

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Standardizing Tag Data Format

XML format for tag data

Empiricaldata

Transformation to SEDEX

Tag in SEDEXformat

Visualizationtools

Vendor UserEvaluation

SEDEX* : Software Engineering Data Exchange language

Page 24: Using Software Tag for Traceability and Transparency in Global Software Engineering

24

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

StagE Project

Ministry of Education, Culture, Sports, Science and Technology Japan 5 year project from 2007, about 1M$/year NAIST and Osaka Univ.

Leader: Kenichi Matsumoto

Software Tag development and promotion Standardization of software tag Data collection method for software tag Visualization and evaluation of software tag Implementation and operation of software tag Legal issue on software development transparency

Page 25: Using Software Tag for Traceability and Transparency in Global Software Engineering

25

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Future Issues

Scenario development Various use case scenarios for software tag

Tool development Tag data collection, analysis, and visualization methods and

tools

Empirical validation of effectiveness of software tag

Page 26: Using Software Tag for Traceability and Transparency in Global Software Engineering

26

Copyright © 2008 Nara Institute of Science and Technology / Osaka UniversityCopyright © 2008 Nara Institute of Science and Technology / Osaka University

Links

Homepage : http://www.stage-project.jp E-mail : [email protected]

ATGSE2008 2nd Workshop on Accountability and Traceability in

Global Software Engineering

Beijing, December 2, 2008

Co-located with 15th Asia-Pacific Software Engineering Conference APSEC 2008