220 likes | 336 Views
The project ( TST-GVOP-2004-K+F- 3.3.1 ) is sponsored by National Office for Research and Technology. Towards Tool Support for Situation-Dependent Software Process Improvement. Gábor Bóka (boka.gabor@sqi.hu). SQI Hungarian Software Quality Consulting Institute LTD.
E N D
The project (TST-GVOP-2004-K+F- 3.3.1)is sponsored by National Office for Research and Technology Towards Tool Support for Situation-Dependent Software Process Improvement Gábor Bóka (boka.gabor@sqi.hu) SQI Hungarian Software Quality Consulting Institute LTD. Eindhoven University of Technology Budapest University of Technology and Economics
Contents • Importance of Software Quality • How can a software company increase the quality of its products? • Situation-dependent software process improvement • The QMIM framework • Tool Support for Situation-Dependent Software Process Improvement
Importance of Software Quality • Software become an important component of our life and business. • We depend more and more on the software, therefore we stand higher quality requirements against the software products. • Only those software companies can stay in the market which can accomplish these higher needs.
How can a software company increase the quality of its products? • One of the most accepted solution for increasing the quality of the products, if the processes of the company will be improved. • The quality manager has to decide what processes and how will be improved.
Two extreme solution for the improvement • From scratch (bottom-up) • The quality manager tries to analyze the actual situation at the company and based on his/her experience decide the direction of the improvement • the existing situation are taken into account at the company • QM can’t be sure that something important hasn’t been missed • Use an already existing approach (top-down) • the thinking effort of other people who did a similar work can be reused • without any changes the approach will not fit at all the concrete company’s needs
Situation-Dependent Software Process Improvement • Joins the advantages of the two extreme solutions • Use more models in a synergic way, according to the specific needs of the company • (the thinking effort of other people who did a similar work can be reused, • the existing situation are taken into account at the company)
Situation-Dependent Software Process Improvement (steps) • Identify what kind of objects exist in the software production at the company. (processes, resources, measurements, etc.) • Define the relationships among the object of the software production. • Identify the basic objects described in the literatures for such a company. (Need to understand the existing quality approaches) • Connects objects of the quality approaches to the objects of the production. • Identify the business needs of the company and choose the most appropriate quality approaches.
Problems • (QM needs to know and understand the existing quality approaches) • Many approaches exist, different in many ways: terminology, basic elements, structure… • No approach which takes into account all important elements of quality. (Sooner or later QM needs to deal with all elements of the quality) • A quality manager will not find any aid or guidance in making the right choice among these approaches
The QMIM framework(Quality through Managed Improvement and Measurement) • Helps identifying the important elements of software quality • Helps finding one’s way among the existing software quality approaches • Can be used as an aid to see the approaches in a common frame • Framework (not the n+1-th approach!)
The QMIM framework(Quality through Managed Improvement and Measurement) * was developed during a 8 years length case study (IQSOFT Ltd.)
Tool Support for Situation-Dependent Software Process Improvement • Store • Existing popular approaches • Organization specific information • Project specific information • Connections • Approaches are connected to QMIM framework • Approaches can have direct connections to each other • Organization and project specific information can be connected to each other and to approaches • Comparing, navigating, searching • Support the comparing, navigating and searching through the QMIM framework. • Support navigation through direct connections • Support some traditional searching mechanism
Quality elements • Quality elements are on every level of the data structure. • We called quality element everything which can be connected to the software quality. • After more regrouping we define 11 quality elements: • Guideline • Case study • Best practice • Tutorial • Lifecycle • Template • Definition • Metric • Quality attribute • Software tool • Certificate * definitions for each quality element are described in the article
Where are we now? • The first prototype is ready for testing • Its support only the theory (knowledge base) level, which is populated some well known approaches, like EF, GQM, PSP • You can see these approaches in the QMIM framework, and navigate and search among them • In the actual phase we would like to evaluate our data structure, and refine it by the experts’ feedbacks
Plans for the further development • As next steps of our R&D project we will populate the knowledge base with the most popular standards and models: ISO 9001:2000, ISO 90003, ISO 9126, ISO 12207, CMMI. (static use of QMIM) • We will prepare the “organization level” and “project level” of the database for storing elements of concrete quality a management systems in a structured way, also helping the user to understand how his / her concrete elements are connected to important elements of software quality and to popular software quality approaches. (dynamic use of QMIM)