1 / 27

Standardizing the Software Tag in Japan for Transparency of Development

This article discusses the use of a software tag to increase transparency and traceability of software products and development for purchasers in Japan. It proposes a software tag that contains various data collected during development and provides key technologies for its implementation.

kristyb
Download Presentation

Standardizing the Software Tag in Japan for Transparency of Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Standardizing the Software Tag in Japan for Transparency of Development Profes 2010 Masateru Tsunoda†, Tomoko Matsumura†, Hajimu Iida†, Kozo Kubo†, Shinji Kusumoto‡, Katsuro Inoue‡, and Ken-ichi Matsumoto† †Nara Institute of Science and Technology, Japan ‡Osaka University, Japan

  2. Background • Software failure may cause great economic loss for developers and purchasers. • Complex systems are widely used in society. • They become important infrastructure for society. • Ex. Banking, communication systems, … • There may be life threatening system failures. • Ex. Air-traffic control system, automobile safety system, … • There are high risks of software failure. • Software systems are still extending but development periods are decreasing. • Demand of reducing cost and increasing reliability.

  3. Issues on Non-transparency • Purchasers cannot check the quality of software products during software development. • The developer collects project data and analysis it. • The purchaser does not know project data and the analysis results. Order Deliver Purchaser Developer Data collection Analysis feedback Softwareproduct Project data

  4. Goal and Approach • Goal • Increasing traceability and transparency of software products and development for purchasers. • Approach • Propose the software tag to share various data between purchasers and developers. • It contains various data collected during development. • Key technologies • Software tag standard 1.0 • Data collection and analysis tools • Tag application pattern

  5. Software Tag Usage Model

  6. Software Tag Usage Model • Depend on development style, purchasers, ... • Typical cases • In contract-based development, the purchaser uses the software tag for evaluation of development. • Software tag data cannot be public (Only purchasers can see it). • Legal dispute is occurred between the purchaser and the developer, the software tag is used for evaluation of their liability. • When choosing software components, the developer uses the software tag for the component evaluation.

  7. Contract-based Development • Project data is selected/abstracted as the software tag, and the tag is associated with software. • The purchaser confirms validity of process and product with the software tag. Order Deliver Purchaser Developer Data collection Analysis feedback Softwareproducts Associated Selected/abstracted Project data Software tag

  8. Legal Dispute between the Purchaser and the Developer • Software liability arbiter inspects the software tag to resolve the legal issue. Order Deliver Purchaser Developer Data collection Analysis feedback Softwareproducts Selected/abstracted Associated Project data Software tag Inspect Inspect Software liability arbiter

  9. Evaluation of Software Components • When developers search for reusable components, they can select reliable components by evaluating the software tag. Reusable componentlibrary Search for reusable components Developer Software component Software system integration Software component Select reliablecomponents Software component Evaluation

  10. Key technology:Software tag standard 1.0

  11. Software Tag Standard 1.0 • We defined Software Tag Standard 1.0 based on discussions with industry and academic collaborators. • Project information (12 elements)Basic information for project and system basic info., system info., development info., project organization, other • Progress information (29 elements)Development information of the system requirement, design, coding, test, quality, work load, plan and management, other products

  12. Establishing Policy of Software Tag Standard • We considered • Including information that are important to the purchasers. • Simple structure for the purchaser to understand. • The balance of the tag elements. • On the tag standard, • Tag elements are selective. • Calculation methods of the elements were not described. • Thorough the discussion, we saw that appropriate tag elements set and calculation methods are different for organizations.

  13. Arbitrary Matters • Tag elements used in the tag. • It is not necessary to use all elements. • Metrics used for the tag element. • Tag Standard 1.0 shows examples of metrics. • Ex. Function point or lines of code can be used for tag element “scale” • Timing of sending tag data from the vendor to the purchaser. • Ex. at the end of the project, at every phase of development (ex. the end of design phase), at every week, ...

  14. Empirical Data • Supporting data for the software tag. • Ex. source code, design documents, bug reports, progress reports, ... • Encrypted and stored. • Decrypted when serious system failure or legal dispute is occurred to inspect the project. Software tag Mertics Tag elements Empirical data Lines of code Scale Source code repository Cyclomaticcomplexity Complexity

  15. Standardizing Tag Data Format • To store, exchange and reuse the software tag, we settled the draft of the standard software tag format. • Based on XML format. • Software tag support tools treats software tag format data. • We are making the tool which converts existing tools’ data into standard software tag format data. Convert tool Software configuration management Visualization tools Standard software tag format data

  16. Key technology:Data collection and analysis tools

  17. Software Tag Data Collection Tool CollectTag (1/2) • Supports collection of empirical data and creation of a software tag. • Automatic data collection mechanisms for 11 tag elements using software configuration management or bug tracking system. • Ex. LOC (Scale) and CK metrics (Complexity) are automatically collected from SCM tools (CVS/Subversion). • Wizard type user interface.

  18. Software Tag Data Collection Tool CollectTag (2/2) • A user selects a tag element, and settles a metric for the element. • The user selects data input method. • CollectTag generates the software tag elements in standard software tag format. Obtain from repositories [Programming]-[Scale] (#19) is selected Input Manually (LOC) The user can select [Lines of code] or [Function point]

  19. Software Tag Visualization Tool TagReplayer (1/2) • Provide fundamental features for integrated visualization of the software tag. • Employ the metaphor of video player manipulation for its user interface. • Users can replay the progress of the project just like watching video on TV. • Align progress information from the software tag as a series of events.

  20. Software Tag Visualization Tool TagReplayer (2/2) Transition of LOC during the project Completion rate of each file, computed from cumulative changed LOC at the end of the project Topics list, mail subject list, and a mail body Assigned and completed task history of each member By moving slider, replay goes to a certain point of time

  21. Key technology:Tag Application Pattern

  22. Tag Application Pattern (1/2) • Catalog to explain which metrics should be used and how to analysis them. • Software tag standard 1.0 does not include concrete metrics. • It is not easy to settle metrics for many tag elements from scratch. Goal achieved by the software tag Metric indicating whether the goal is achieved or not Metrics indicating whether progress is smooth or not. (Tag elements)

  23. Tag Application Pattern (2/2) • Explain usages of each KGI/KPI. How to measure base values How to compute the value How to react based on the analysis How to analysis the metric

  24. Discussions (1/2) • There are projects which involve some companies to establishment of software quality[1][2]. • The software tag provides a unique approach to involve software purchasers in the quality improvement framework. • Tag elements are not very unique. • Some developers disclose progress information at the meeting with the purchaser. • Still, the software tag is effective to propagate such a good practice involved the purchaser. [1] The Consortium for IT Software Quality: CISQ – The Global Standard for IT Software Quality. [2] The Quamoco Consortium: Quamoco – The Benchmark for Software Quality.

  25. Discussions (2/2) • The tag standard is set as a lightweight set. • As a standard used for various projects, the set should be minimal and low cost. • The risk of tampering software tag data is low. • Difficult to tamper several tag elements recorded by time series with keeping consistency. • Not difficult to rebuild the software tag from empirical data.

  26. Conclusions and Future Works • Conclusions • The software tag contains software development data, and it brings purchasers transparency of software development. • We identified 41 items for seeing software process and products, and defined them as the standard tag element set. • To support software tag scheme, we made tools for collecting, and analyzing tag data. • Tag application pattern explains how to use software tag. • Future Works • Focus on making international/domestic standards of the software tag. • Delivery software tag support tools and tag application pattern.

More Related