international software & productivity engineering institute quality assurance with intspei...
TRANSCRIPT
International Software & Productivity Engineering Institute
Quality Assurance with INTSPEI P-Modeling Framework
V. Pavlov, O. Babich, A. Doroshenko,
T. Taganskaya, K. Zhereb
INTSPEI
QAMT-2007, November 1-2, Kyiv
Agenda
1. Software Quality Assurance
2. What is INTSPEI
3. INTSPEI approach to Quality Assurance
4. INTSPEI P-Modeling Methodology for SQA
5. An Example and Demo: INTSPEI P-Modeling Framework with MSF Agile
2QAMT-2007, November 1-2, Kyiv
Software Quality Assurance (SQA)(from Wikipedia)
Software Quality Assurance (SQA) consists of the software engineering processes and methods used to ensure quality.
SQA encompasses the entire software development process, which may include processes such as reviewing requirements documents, source code control, code reviews, change management, configuration management, release management and of course, software testing.
3QAMT-2007, November 1-2, Kyiv
Agenda
1. Software Quality Assurance
2. What is INTSPEI
3. INTSPEI approach to Quality Assurance
4. INTSPEI P-Modeling Methodology for SQA
5. An Example and Demo: INTSPEI P-Modeling Framework with MSF Agile
4QAMT-2007, November 1-2, Kyiv
What is INTSPEI
The International Software and Productivity Engineering Institute (INTSPEI) is a multinational company with offices in New York and Kiev (Ukraine)
INTSPEI Mission -- Development and distribution of new software and productivity engineering technologies
INTSPEI goal is providing its customers with software products and services to make SDLC “better and faster”
“Better” means high level of quality, “faster” means increasing productivity and reducing costs
So, quality and productivity – are two mutually connected sides of the same “coin”
5QAMT-2007, November 1-2, Kyiv
Research Background
INTSPEI was founded in the first quarter of 2007 on the base of original award-winning research conducted by its founders since 2001
A number of innovative findings form underlying background for INTSPEI services and products
The major ones that directly influence software quality are:
Speechless (pantomime) modeling
Reverse Semantic Traceability (RST)
6QAMT-2007, November 1-2, Kyiv
A Brief History of INTSPEI P-Modeling Framework: First experiments
In 2001 Vladimir L. Pavlov developed a training program called “The Babel Experiment”
This training was a kind of experiment for students – they were to discover whether UML is “a real language” that is suitable and beneficial for a project team
There was a team of students to design a software system. They had a few hours to complete the task
During this timeframe verbal and written communication was forbidden, and the UML was the only allowed language (speechless modeling)
7QAMT-2007, November 1-2, Kyiv
A Brief History of INTSPEI P-Modeling Framework: First experiments (ctnd)
This experiment achieves the following major goals: Make students go through communication problems that are
typical for large software development projects
Provide students with the successful experience of applying UML to overcome these problems
The Babel Experiment was always successfulEvery time students were able to find the common language
and generate the common ideas by UML communication, which led them to successful development of the proposed system model
8QAMT-2007, November 1-2, Kyiv
A Brief History of INTSPEI P-Modeling Framework: First experiments (ctnd)
Once (accidentally) during this training there were two independent teams working on the same task. One team was limited to using only the UML language (and pantomime) in their communication. The other was allowed to use speech in addition to the UML
The first team (which was not allowed to use speech) coped with a task more successfully than the other team
Their diagrams were more sound, detailed, readable, elaborated and elegant
9QAMT-2007, November 1-2, Kyiv
Further Experiments
The first author had conducted further experiments where a team of professional designers ”translated” some texts (of software requirements) from English to UML, and another team “translated” it back from UML to English, then original and restored texts were compared
These experiments have shown that UML is quite similar to traditional languages – original and restored technical texts often were semantically close (but not always)
10QAMT-2007, November 1-2, Kyiv
Reverse Semantic Traceability
The main result of these experiments was not about UML and modeling – it was about testing and quality assurance
A real-life software development process is a sequence of “translations”
On every step there are usually some errors/misinterpretations, however, to find these errors people typically test the very final result – executable
But it is easy to test every step in the sequence – intermediate deliverables tested by independent testing team then are compared. Restored versions of artifacts serve as inputs to the next step
If no information is lost or misinterpreted – then it is OK to proceed to the next step, otherwise it is required to make some corrections
The authors call this simple approach “Reverse Semantic Traceability”
11QAMT-2007, November 1-2, Kyiv
Agenda
1. Software Quality Assurance Issues
2. What is INTSPEI
3. INTSPEI approach to Quality Assurance
4. INTSPEI P-Modeling Methodology for SQA
5. An Example and Demo: INTSPEI P-Modeling Framework with MSF Agile
12QAMT-2007, November 1-2, Kyiv
INTSPEI Approach to Quality Assurance – Briefly
Speechless Modeling
Reverse Semantic Traceability
Both techniques are the base of INTSPEI P-Modeling Framework
Can enhance existing methodologies
Can be a standalone methodology
13QAMT-2007, November 1-2, Kyiv
A Fundamental Observation (Where Should The Industry Improve?)
14QAMT-2007, November 1-2, Kyiv
For large software development projects, the most important decisions and the most expensive mistakes are done at the beginning of the project
At the same time, the initial amount of quality control is minimal and then grows as development moves forward. This results in a costly rework (often hidden) on the late stages of the project
• Requirements
• Requirements
• Architecture
• Architecture • Detailed Design• Detailed Design
• Construction
• Construction
• Maintenance
• Phase That • a Defect is Corrected
• Phase That • a Defect is Created
• Cost to Correct
Cost to correct a defect greatly depends on how early it was introduced and revealed
Itera
tive
Dev
elop
men
t
Tra
ceab
ility
Man
agem
ent
Popular Usage Scenarios
Validating UML models: Quality engineers restore a textual description of a domain, original and restored descriptions are compared
Validating model changes for a new requirement: Given original and changed versions of a model, quality engineers restore the textual description of the requirement; original and restored encryptions are compared
Validating a bug fix: Given an original and a modified source code, quality engineers restore a textual description of the bug that was fixed; original and restored descriptions are compared
Integrating a new software engineer into a team: A new team member gets an assignment to do Reverse Semantic Traceability for the key artifacts from the current projects
QAMT-2007, November 1-2, Kyiv 17
Current Experience Reports
The experience reports from current users of Reverse Semantic Traceability provide strong evidence of the method’s efficiency
The length of software development projects is cut down for 5 % – 35 %
The length of the integration period for new software developers is cut down for 25 % - 60 %
18QAMT-2007, November 1-2, Kyiv
Agenda
1. Software Quality Assurance Issues
2. What is INTSPEI
3. INTSPEI approach to Quality Assurance
4. INTSPEI P-Modeling Methodology for SQA
5. An Example and Demo : INTSPEI P-Modeling Framework with MSF Agile
19QAMT-2007, November 1-2, Kyiv
Three Types of SDLCs
Agile• XP• SCRUM• MSF-Agile
Semantics-focused• P-Modeling
Framework
Heavy-weighed• SSADM• RUP• MSF-CMMi
20QAMT-2007, November 1-2, Kyiv
INTSPEI P-Modeling Framework
INTSPEI P-Modeling Framework 1.0 is a set of software development process guidelines that extend existing methodologies with INTSPEI techniques
INTSPEI P-Modeling Framework doesn’t replace existing methodologies – it complements them
It contains guidelines, step-by-step working instructions, document templates and samples.
INTSPEI P-Modeling Framework allows to identify (and fix) bugs virtually immediately after their insertion, rather then staying hidden until the later stages of the development lifecycle, when the cost of fixing them grows tremendously.
21QAMT-2007, November 1-2, Kyiv
INTSPEI P-Modeling Framework (ctnd)
So, INTSPEI P-Modeling Framework is a quality control facility that can be applied to all kinds of project artifacts
The main benefit is that (unlike the most existing approaches to quality control) it allows to make decisions on the early stages of development and evaluate them long before actual code is created
INTSPEI P-Modeling Framework is designed to integrate easily with existing methodologies
The current 1.0 version integrated with: IBM Rational Unified Process
Microsoft Solutions Framework for Agile Software Development,
Microsoft Solutions Framework for CMMI Process Improvement,
Open Unified Process.
22QAMT-2007, November 1-2, Kyiv
Agenda
1. What is INTSPEI
2. Software Quality Assurance Issues
3. INTSPEI approach to Quality Assurance
4. INTSPEI P-Modeling Methodology for SQA
5. An Example and Demo: INTSPEI P-Modeling Framework with MSF Agile
23QAMT-2007, November 1-2, Kyiv
Microsoft Solutions Framework (MSF)
Microsoft Solutions Framework (MSF) is a deliberate and disciplined approach to technology projects based on a defined set of principles, models, disciplines, concepts, guidelines, and proven practices from Microsoft
MSF for Agile Software Development is an agile software engineering process that incorporates key ideas from the Agile software movement, along with principles and practices from the MSF
24QAMT-2007, November 1-2, Kyiv
MSF Latest Version
Microsoft Solutions Framework (MSF) version 4.0 is a combination of a meta-model on which processes are built, and two instantiations of that metamodel
One of the instantiations is an agile software development process and the other targets a more formal environment
25QAMT-2007, November 1-2, Kyiv
MSF for Agile Basics
Roles
Workstreams and activities
Work items and work products
Views (disciplines, tracks, cycles)
Reports, queries, how-to’s
Overview pages
26QAMT-2007, November 1-2, Kyiv
MSF Structure
Process guidanceHTML documentation
describes process
can be used as stand-alone guide or on team site
Process templateIntegration with Team Foundation Server (TFS)
Customizing work items, queries and reports
Contains process guidance
27QAMT-2007, November 1-2, Kyiv
Points of Integration
New activities – Perform RST/Speechless Sessions
New discipline – Traceability Management
New menu item – P-Modeling
New work products – RST report, Prioritization Table
New fields in all work items and queries supporting them
28QAMT-2007, November 1-2, Kyiv
P-Modeling Tab
Additional menu on INTSPEI products and latest versions
Main menu on INTSPEI P-Modeling Framework
New discipline:Traceability
Management
New activity: Performing RST
References: http://www.intspei.com/
Pavlov, Vladimir; Yatsenko, Anton “’The Babel Experiment’: An Advanced Pantomime-based Training in OOA&OOD with UML”, 36th ‘ACM Technical Symposium on Computer Science Education’, February 25, 2005.
Pavlov, Vladimir; Busygin, Stanislav; Boyko, Nikita; Babich, Alexander;“Is There Still a Room For Programmers' Productivity Improvement?”, Proceedings of the 5th East-West Design and Test Symposium (EWDTS'07), 2007, pp. 146-151.
Pavlov, Vladimir; Boyko, Nikita; Babich, Alexander; “First Experience of Using INTSPEI P‑Modeling Framework in Software Development Projects”, Problems in Programming, Issue 2, May 2007.
INTSPEI P-Modeling Framework Whitepaper, INTSPEI, http://www.intspei.com
42QAMT-2007, November 1-2, Kyiv
International Software & Productivity Engineering Institute
Become Productive Today
Humans Should Not Do Computers’ Jobs
QAMT-2007, November 1-2, Kyiv