Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Current Status of Software Industry in Japan
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, IT Service Industry in Japan: Sales and Employees Sales on Software Industry 9,685 billion Yen Custom-made Software 82.8% Packaged Software 17.2% Application 8.9% Game 6.2% OS, etc. 2.1% Employees x 10,000 employees Sales x 1,000 billion Yen
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Nikkei Report (2003/11/17) Questionnaire based investigation about the success rate of software development project in Japan. 1,746 companies replied to the questionnaire. Each company was requested to answer about the largest project of software development in 2003.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Assumptions: Project Success Success in software quality if the company got customer satisfaction for the software developed by the project. Success in development cost if the company completed software development at less cost than the planned cost. Success in delivery (time schedule) if the company completed software development before the planned completion date.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Success Rate of QCD
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Corrective Action for Poor Quality
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Corrective Action for Cost Overrun
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Corrective Action for Time Overrun
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, How many companies performed “Quantitative Management”?
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Japan Software Engineering Center Open in October 2004 supported by Ministry of Economy, Trade and Industry (METI). Conduct in-depth practical studies to solve the issues of today’s software industry. Budget of 2004: 1.48 billion yen
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Aims Software Process Improvement methods for the Japanese Industry Software measurement standards Demonstration of the methods and tools in advanced software development projects
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Approach to Measurement Std. Conduct research into methods of collecting and analyzing quantitative data to measure the quality of software and the productivity of its development. Gather data from various software development projects underway. Analyze these quantitative data. And then Promote the use of such measurement standards, providing the means to archive highly qualified software with high productivity.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, EASE Project
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, What is the EASE project? Empirical Approach to Software Engineering One of the leading projects of the Ministry of Education, Culture, Sports, Science and Technology (MEXT). 5 years project starting Budget: 200 million yen / year. Project leader: Koji Torii, NAIST Sub-leader: Katsuro Inoue, Osaka University Kenichi Matsumoto, NAIST
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Aims To practice the empirical approach, the same approach adopted by other scientific and engineering fields, including measurement, analysis and evaluation, and feedback for improvement of software quality and productivity. MEXT demands the project not only do research, but make an impact on industry.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Approach to Empirical SE Construction of an empirical environment. Distribution of the empirical environment and application to real projects. Accumulation of knowledge derived from empirical data and its analysis.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Merits to Introducing the Empirical Environment Easy monitoring of the project in cooperation with the existing development environment. Easy accumulation of the knowledge and experience of projects. Collection of uniform data for the entire company in real time. Automatic integration and reuse of information enabled through integration of empirical data.
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, EPM
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, EPM: Empirical Project Monitor A partial implementation of Empirical Environment EPM automatically collects development data accumulated in open source development tools through everyday development activities Configuration management system: CVS Issue tracking systems: GNATS, Bugzilla Mailing list managers: Mailman, Majordomo, FML
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Example of Output EPM can put data collected by CVS, Mailman, and GNATS, together into one graph. Cumulative number of mails exchanged among developers Time stamp of program code check-in to CVS Time stamp of issue occurrence Time stamp of issue fixing
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Application of EPM to Open Source Software
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Data Source: SourceForge.net Number of hosted projects: 72,853 (Dec. 15, 2003) Number of registered Users: 753,428 (Dec. 15, 2003) We extracted data of 100 active projects from SF.net
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Summary of 100 Active Started date of Project Number of Developers (Dec. 15, 2003) Upper bound??? Number of Developers = 0.7 x Project Period (month) = 0.7 x Project Period (month)
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Number of Fixed Bugs vs. Development period Development period Number of Fixed Bugs (per KLOC)
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Number of Fixed Bugs vs. Development Effort Development Effort (man-month) Number of Fixed Bugs (per KLOC) Upper bound???
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Number of Residual Bugs vs. Development period Remarkable project??? Development period Number of Residual Bugs (per KLOC)
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Number of Residual Bugs vs. Development Effort Development Effort (man-month) Number of Residual Bugs (per KLOC) Upper bound??? Remarkable project???
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Data Analysis on EPM
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Collaborative Filtering Filtering: means selecting preferred items from a large collection of items. Collaborative: means using the other users’ preferences to filter items. Using the other users’ preferences F K A B D E C G I J H L N O M P Q S T R Large amount of items F is good!K is cool! ? ? Selecting preferred items F F K K
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Clue to More Concrete Data Similarity: 0.99 Similarity: 0.82 Similarity: Project A (Ongoing project) Project B Project C Project D We want to know candidate of the corrective actions for time overrun of unit testing. CF Engine Process data describing the viable corrective actions
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, Future Vision of EASE
Workshop on Computer-Supported Knowledge Collaboration, Shanghai, July 7, EASE EASE +JSEC Vision of EASE project in 2007 Empirical Data Repository AcademiaIndustry Government Benchmark Evidence of validity of SE tools, methods, and theories. Experiences and rules for risk avoidance and process improvement (Best practices) Empirical data Software Development/Analysis Model Research framework