100 likes | 224 Views
SURF. Achieving Quality through software reuse. IFIP 98 - IS:Current Issues and Future Changes Helsinki, Finland, December 10-13, 1998. A Process Improvement Experiment in IBM Italy Funded by the European Commission within the European Systems and Software Initiative. New Technologies.
E N D
SURF Achieving Quality through software reuse IFIP 98 - IS:Current Issues and Future Changes Helsinki, Finland, December 10-13, 1998 A Process Improvement Experiment in IBM Italy Funded by the European Commission within the European Systems and Software Initiative SURF - ESSI PIE 23752 - 1 of 10
New Technologies Catch Business Opportunities New Functionality A SMALL TEAM System Integration-Embedded MultimediaSpeech Reco Data transmission-Security Experiment Scenario OUR CHALLENGES MA&ISD: 70 people Software: 15 people OUR PRODUCTS SURF - ESSI PIE 23752 - 2 of 10
Objectives Quality (Process and Product) is a strategic key to: • Increase Productivity-Reduce Time To Market - Reduce Maintenance Efforts • Increase Flexibility- Manage peaks of activity - Catch Business Opportunities A reuse-oriented approachis the baseline for this experiment SURF - ESSI PIE 23752 - 3 of 10
Road map Constraints:- Few domain-based reuse opportunities - Need for geographically distributed development capabilities - Component-based reuse alone is not enough Basic Assumptions: - Holistic Approach - Gradual introduction of changes - Selected Tools (CMS, Repository, Metrics) Experiment Steps: - Define Metrics (at Process and Product level) - Adapt the process (improve IPD and get ISO9000 certif.) - Adapt the Product Architecture SURF - ESSI PIE 23752 - 4 of 10
Any C/C++ .DLL CORBA IDL COM DCOM JNI C++ SERVICES LAYER (compound functionality) C++ C++ C++ CONTROLS LAYER (base functionality) ASM, C, C++ HARDWARE LAYER (Low level API) Fade to Grey Java Java C++ VCC Vbas APPLICATIONS LAYER (RAD) “A software architecturebased on a layered structure designed to decrease complexity andto enable reuse at different levels of detail” COMPONENTS LAYER (building blocks) SURF - ESSI PIE 23752 - 5 of 10
RAD DEVELOPER COMPONENT DEVELOPER OO DEVELOPER DOMAIN EXPERT ASSEMBLER GURU Strategic Changes Developer’s roles - Specific skills enhancement (ASM,C,OO,RAD) - “for” and “with” reuse by layer • Documentation • UML as description language • HTML as base format • Describes layers interfaces • Product Metrics support • Reusability metrics based on FCM • Integrated in the documentation SURF - ESSI PIE 23752 - 6 of 10
At process... …and Product level... Main Achievements Conventional metrics show a general improvement... SURF - ESSI PIE 23752 - 7 of 10
Main Achievements (continued) But a deeper analysis shows new opportunities... A great reduction of the application’s complexity(from “out of control” to “well understood”) A great (human) resource interchange ability(from “very critical” to “quite easy”) A great improvement in documentation(from “free” to “structured and standardised”) A great capability to retarget applications by reusing(from “not possible” to “one-day solutions”) SURF - ESSI PIE 23752 - 8 of 10
Key Lessons Quality improvement needs a sound cultural background in OO and SE principles. Don’t underestimate the human factor: strong commitment and attitude to teamwork are fundamental. Reuse metrics are very critical: try to simplify and make an endless tuning on your metric system. Tools (repository, metrics, case, etc) are fundamental, but are not free and must be continuously maintained SURF - ESSI PIE 23752 - 9 of 10
Future Actions Software Quality improvement is an endless process Next steps will be: Better Integration between CMS, Repository and Metrics Improvement of SW documentation management by mean of a WMS (Workflow Management System) Continuous improvement of the layered architecture Continuous tuning of the Product metrics system Improvement of the Process metrics system SURF - ESSI PIE 23752 - 10 of 10