Report from Sabattical Year Aug. 1999 – Aug. 2000
Reidar Conradi, IDI, NTNU,
conradi@idi.ntnu.no(rev. 15. Dec. 2000 and 3. Jan. 2001)
TABLE of contents
2.0 General description of work done *
4.0 Visit at Univ. Maryland, prof. Vic Basili, Aug. 1999 - April 2000 *
5.0 Summary from 7th European Software Process Workshop (EWSPT'7), Kaprun near
Salzburg, 21-25 Feb. 2000 *
6.0 Visit at Univ. Lund, Per Runeson, 2 May 2000 *
6.2 Presentasjon av forskningsprosjekt PROFIT *
6.5 Møte med Q-labs samme ettermiddag *
7.0 Visit at IESE, Kaiserslautern, 3 May 2000 *
7.1 Presentation of PROFIT and results of SPIQ *
7.2 Presentation of paper for Profes *
8.0 Visit at Daimler Chrysler Research, Ulm, 4 May 2000 *
8.2 Discussions on Experience Factory *
9.0 Summary from IFIP WG2.4 meetings: Banff in Sept.'99, and Delft in May, 2000 *
10.0 Visit at Politecnico di Milano, May-June 2000 *
11.0 Summary from ICSE'2000, Limerick, 5-9 June 2000 *
11.3 Introductory speech by Noel Treacy, the Irish Minister of Science and Technology *
11.4 Keynote by Manuel Castells, Univ. California in Berkeley: "Is the new economy
socially sustainable?" *
12.0 Workshop on Learning Software Organizations ((LSO’2000), 20.6.2000, Oulu *
12.1 Ralph Traphöner: "Worth Writing Home About Some Notes on Methodology in a
Big Software Organization",- Keynote Speech *
12.2 Ralph L. Feldmann et al.: "Towards Industrial Strength Measurement Programs
for Reuse and Experience Repository Systems" *
12.3 Erik Berglund and Henrik Ericsson "Dynamic Software Component Documentation" *
12.4 Thomas J. Ostrand and Elaine J. Weyuker: "A learning Environment for Software
Testers at AT&T" *
12.5 Torgeir Dingsøyr, NTNU: "An Evaluation of Research on Experience factory" *
12.6 G. Cantone et al.: "Organizing Software technology models, measures, and
experiences for continual learning" *
12.7 Jesper Arent, Jacob Nørbjerg & Morten Hvid Pedersen, Univ. Ålborg: "Creating
Organizational Knowledge in Software Process Improvement" *
12.8 Jan-Peter von Hunnius, DC: "WESPI – Web Supported Process Improvement" *
13.0 PROFES’2000 Conference, Oulu, 20 – 22 June 2000 *
13.1 Markku Oivo: PROFES’2000 intro *
13.2 Bill Curtis, Teraquest: "cost/benefits of SPI" *
13.4 Hans-Dieter Rombach, Univ. Kaiserslautern: "Capitalizing on Experience" *
13.5 Software and Process Modelling *
13.6 Keynote by Roger Fordham, Motorola *
13.7 Corinna Amting, EC, DG – E2: "The IST Workprogramme 2000" *
13.8 Organizational Learning and Experience Factory: *
13.9 Panel on Corporate Knowledge Networks *
14.0 Visit at Paolo Ciancarini at Univ. Bologna, 29.6.2000 *
15.0 Visit at Maurizio Morisio, Politecnico di Torino *
16.0 FEAST’4 WORKSHOP AT IMPERIAL COLLEGE, LONDON, 10 – 12.7. 2000 *
16.1 Introductions, chair: Bob Bishop, Imperial College. *
16.2 Paul Wernick, Imperial College, chair: "Dynamic of large Systems" *
16.3 David Freestone, BT, chair: "What do we know"? *
16.4 Annie Anton, North Carolina State University, chair: "What don’t we know" *
16.5 Resumès from group discussions *
16.6 Keynote by Igor Aleksander, Imperial College "The role of emergence, evolution
and depiction in computational intelligence" *
16.7 Darren Dalcher, Imperial College, chair: "Relationship between Product and
Process" *
16.8 "The Role of the Individual in the Large Systems Context", chair: Eve Mitleton-Kelly,
London School of Economics *
16.9 "Feedback and Requirements Engineering", chair: Mark Greenwood, University
of Manchester *
16.10 Status reports, chair: Michael Ashton, MoD-DERA *
16.11 Setting up a research agenda, chair: Colin Tully *
16.12 Keynote by Barry Boehm, USC:"COCOMO–II for incremental /COTS
development" *
This year was spent on three main places:
Aug.99-April 2000: Univ. Maryland, College Park, host: prof. Vic Basili (see secs. 2, 4)
May-June 2000: Politecnico di Milano, host: prof. Alfonso Fuggetta (2, 10).
July 2000 (two weeks): Univ. Oslo, host: prof. Dag Sjøberg (2).
In addition comes the following travels and conferences:
1900:
5-6.9: SCM'99 in Toulouse, France
7-8.9: Misc. IDI-meetings and Telenor-meeting in Trondheim
20-24.9: IFIP WG2.4 meeting in Banff, Canada (9)
22.10,25.10: EWSPT'2000 program committee meetings, Trondheim-Vienna (see 7)
21-23.12: Misc. meetings at IDI, Trondheim
2000:
21-25.2: EWSPT'2000, Kaprun (Zell am See), Austria (7)
25-27.4: Misc. meetings at IDI, Trondheim
28.4: PROFIT project meetings with Ericsson and Computas, both Oslo
2-4.5: Visits at U.Lund and Q-labs (6), U.Kaiserslautern (7),
DaimlerChrysler Research in Ulm (8)
10.5: IKT-2010 meeting at NFR, Oslo
29.5-1.6: IFIP WG2.4 meeting, Delft, Netherlands (also 9)
2.6: Visit at U.Bremen, prof. Bernhard Krieg-Brueckner
5-8.6: Two ICSE'2000 workshops and ICSE'2000 conf., Limerick, Ireland (11)
19.6: PROFIT project meeting, Trondheim
20-22.6: LSO'2000 workshop (12) and PROFES'2000 conf., Oulu (13).
26.6: Misc. meetings and one oral exam, IDI, Trondheim
27-28.6: SFF and IKT-2010 meetings in NFR, Oslo
29.6: Visit Univ. Bologna, prof. Paolo Ciancarini (14)
30.6: Visit Politecnico di Torino, researcher Maurizio Morisio (15)
10-12.7 FEAST'2000, Imperial College, London (16)
2.0 General description of work done
Work at Univ. Maryland:
Work at Politecnico di Milano:
Work at University of Oslo:
Many universities and research institutes (especially Maryland, Milano, Kaiserslautern, and Lund) are interested in future cooperation, for instance in the context of the proposed NTNU/UiO sub-center of excellence in Software Engineering at the new SFF-Fornebu.
See publication list in Section 3.
Refereed papers:
Some submitted papers:
Research proposals:
Miscellaneous:
4.0 Visit at Univ. Maryland, prof. Vic Basili, Aug. 1999-April 2000
Research center people:
Fraunhofer Center Maryland
4321 Hartwick Road (moved in here in late April 2000)
Suite 500
College Park MD 20740
Phone: 301-403-2705, Fax: 301-403-8976
Victor Basili 301-403-8934 basili@cs.umd.edu
Marvin Zelkowitz 301-403-8935 mvz@fc-md.umd.umd, mvz@cs.umd.edu
Rose Pajerski 301-403-8967 pajerski@fc-md.umd.umd
Cheryl Wall 301-403-8933 cwall@fc-md.umd.umd
Ioana Rus 301-403-8971 irus@fc-md.umd.umd
Mikael Lindvall 301-403-8972 mikli@fc-md.umd.umd
Forest Shull 301-403-8970 fshull@fc-md.umd.umd
Kathleen Dangle 301-403-8973 kdangle@fc-md.umd.umd
Patricia Costa 301-403-8995 pcosta@fc-md.umd.umd
Roseanne Tesoriero 301-403-8937 roseanne@cs.umd.edu
Carolyn Seaman 301-403-8937 cseaman@umbc.edu
Conference Room 301-403-8829
ClassRoom 301-403-8975
Students lounge 301-403-2706
University people:
Catherine Sinex (Vic's secr. at univ.)
Program Management Specialist
Computer Science Department
University of Maryland
Phone: 301-405-2739, 301-405-3691(FAX), cathy@cs.umd.edu
Jeff Carver carver@cs.umd.edu
Maurizio Morisio morisio@cs.umd.edu (now back in Torino)
Manoel Mendonza manoel@cs.umd.edu (now in Brazil)
Guilherme H. Travassos travassos@cs.umd.edu (also now in Brazil)
Vic's group: um-eseg@cs.umd.edu, vics-people@cs.umd.edu
The Univ. of Maryland has several campuses. The largest one with 35,000 students is in College Park, 15 km northwest of Washington, DC. It is well connected by metro from downtown, a 20 minutes ride with a connecting shuttle bus (I mostly walked).
It has a large and well-respected computer science department, with a faculty of 40 professors. It graduates 300 BSc's per year in informatics, ca. 30 with a MSc and ca. 15 PhDs per year.
I was a guest of the Empirical Software Engineering Group (ESEG), lead by professor Vic Basili and Marv Zelkowitz. The group has close to 20 members, mostly PhD students, plus researchers and guests like me (four such).
There is an affiliated Fraunhofer Center -- Maryland (FC-MD), established in 1998, a sister insitute of the Fraunhofer IESE in Kaiserslautern, lead by Hans-Dieter Rombach (an ex Maryland colleague). FC-MD has about 10 researchers, again lead by Basili and Zelkowitz. I had my daily work in that research center. They just moved to a larger office facility, 10 min. walk from the computer science department.
The ESEG group has the following strong areas:
They have many projects with NASA, Motorola, DaimlerChrysler, a collection of large companies in a Software Experience Center (SEC), and a consortium of SMEs in Maryland (SWIC), and with NSF. Most of these were FC-MD projects, the University projects being from NASA and NSF. They have just applied for several new NSF projects.
Personally: We lived in downtown Washington (in the "district") in the Dupont Circle area - smack in the middle of cafes, shops, galleries etc. We had 30 minutes walk down to the White house, the Mall, the Kennedy Center for the Performing arts and Georgetown. We rented a furnished one-bedroom apartment for 1500$ per month, and had really a great time. We needed no car, and joined a hiking club for a dozen lovely walks in the surroundings, e.g. in the Shenandoah National Park.
I had a trip in late April 1999 to plan the visit, and that was a good investment.
A return trip is planned 5. – 6. October 2000, before the ISERN meeting 8. – 10. October in Hawaii.
5.0 Summary from 7th European Software Process Workshop (EWSPT'7),
Kaprun near Salzburg, 21-25 Feb. 2000
Reidar Conradi, NTNU, Trondheim, Norway (program chair and scribe).
The European Workshop on Software Process Technology celebrated its 10th anniversary in the year 2000 with the seventh workshop in the series, see Springer Verlag LNCS 1780. The organizing chair was Mehdi Jazayeri, Technical University of Vienna, Austria.
The goal of the workshop was to assemble researchers and practitioners in the area of Software Process Technology. Issues such as process modeling, process enactment, and process improvement are central, as are empirical studies of such technology.
This workshop series has, for most of the time, been supported by the PROMOTER/PROMOTER2 ESPRIT Basic Research Working Groups, coordinated by the University of Nancy.
The year 2000 workshop was a combined workshop with the European PIE project. PIE stands for Process Instance Evolution and constitutes an ESPRIT IV Framework Long Term Research project number 34840 (not to be confused with the ESSI Process Improvement Experiments, PIEs). The aim of the PIE project is to study, to investigate, and ultimately to demonstrate what kind of services are needed to support change and evolution in human organizational processes.
22 out of 44 submitted papers were accepted for the combined workshop. About 40% of the papers reported on practical experiences. The accepted papers, including four PIE papers, were presented and discussed. There was also three keynotes. 36 persons attended the workshop, mostly from Europe.
The following, related workshops have taken place in the past:
- EWPM'1 in Milan, Italy, 30-31 May 1990,
eds. Vincenzo Ambriola, Reidar Conradi, and Alfonso Fuggetta, AICA Press.
- EWSPT'2 in Trondheim, Norway, 7-8 Sept. 1992,
ed. Jean-Claude Derniame, Springer LNCS 635.
- EWSPT'3 in Villard-de-Lans (Grenoble), France, 7-9 Feb. 1994,
ed. Brian Warboys, Springer LNCS 772.
- EWSPT'4 in Nordwijkerhout (Leiden), The Netherlands, 3-5 April 1995,
ed. Wilhelm Schäfer, Springer LNCS 913.
- EWSPT'5 in Nancy, France, 9-11 Oct. 1996,
ed. Carlo Montangero, Springer LNCS 1149.
- EWSPT'6 in Weybridge (London), UK, 16-18 Sept. 1998,
ed. Volker Gruhn, Springer LNCS 1487.
The workshop was organized in 11 sessions in the following sequence:
The workshop fostered interesting and amiable discussions. It became clear that much software process technology (like process languages) still have a long way to go before they are adopted and used by industry. Validation with proper experimental methods, and feedback and learning processes need to be given higher priority.
The next EWSPT'8 is scheduled to take place in Germany, in May/June 2001, program chair Vincenzo Ambriola. The goal is to reach out for related communities, like workflow and CSCW, and to apply software process technology also on non-software processes.
6.0 Visit at Univ. Lund, Per Runeson, 2 May 2000
To: per.runeson@telecom.lth.se, bjorn.regnell@telecom.lth.se
CC: claesw@telecom.lth.se,
Til stede:
Per Runeson, Thomas Ohlsson, Martin Høst, Bjørn Regnell, Josef Nedstrøm,
Magnus Ohlson, alle fra Lund (prof. Claes Wohlin var bortreist).
Reidar Conradi, Torgeir Dingsøyr (referent), begge fra Lund.
Per, lektor, arbeider med Programsystemer, programvarekvalitet og feilretting.
Martin, lektor, arbeider med Software Process Improvement, estimering.
Bjørn, lektor, arbeider med kravhåndtering, use-case modellering koplet mot testing, "markedsdrevet kravhåndtering".
Thomas, stipendiat, arbeider med testing hos ABB Malmö. Josef, hovedfagsstudent, ser på simulering av utviklingsprosesser i SDL, prosessbeskrivelser.
Magnus: har sett på erfaringsbruk fra tidligere prosjekter, ser nå mer på analyse av trender i datamateriale, replikering av empiriske studier.
Torgeir: ser på kunnskapsforvaltning i bedrifter som utvikler programvare.
Reidar: har akkurat hatt et opphold på University of Maryland, har sett på erfaringsdatabaser, COTS, orienterte om arbeid i systemutviklingsgruppa på IDI og arbeid med IT-senter på Fornebu. Skal nå på et kortere opphold i Milano.
6.2 Presentasjon av forskningsprosjekt PROFIT
Torgeir presenterte forskningsprosjektet Process improvement for the IT industri, PROFIT, se vedlagte foiler.
Per orienterte om Lucas som er et senter som støttes av NUTEK. Deltakere: Gruppe for programvareteknikk og telekommunikasjon ved instituttet for datavitenskap, samt eguleringsteknikk. Har pålegg om å også å samarbeide over Øresund.
Fokus for prosjektet er "embedded systems" og nye firmatyper (www-intensive). Miljøene skal bidra med:
Hovedmålet med prosjektet er å få mer langsiktighet og bredde inn i forskningen. Bedriftspartnere knyttes til på forskjellige nivåer (gull, sølv, bronse) etter hvor mye de bidrar.
Se på gjennomføring av eksperimenter som kodelesning, design av eksperimenter og etterfølgende analyse. Mulig replikering flere steder. Gjesteopphold, samt tettere samarbeid etter at fokus for IT Fornebu sitt Center of Excellence er klart. Utveksle materiale om gjennomføring av kurs, og bruk av studenter i kursavvikling (f.eks av typen "virtuell bedrift" som forbinder folk fra flere årskurs).
6.5 Møte med Q-labs samme ettermiddag
Til stede: Geir Amsjø, Anders Gustavsson, Reidar Conradi, Torgeir Dingsøyr.
Anders presenterte Q-Labs, som har endret slagord til "managing software risks" og utvidet markedet fra teknologi og endringsorienterte miljøer til også å innebefatte firmaer som endrer
seg noe saktere. Q-Labs teller nå ca. 160 ansatte, og arbeider innen hovedområdene Software Business Management, Software Process Improvement og Process and Architechture (ting som RUP og "extreme programming").
Reidar og Torgeir orienterte kort om forskningsprosjektet PROFIT og arbeid med IT-senter på Fornebu.
7.0 Visit at IESE, Kaiserslautern, 3 May 2000
To: <Frank.Bomarius@iese.fhg.de>, <andreas.birk@iese.fhg.de>,
<althoff@iese.fhg.de>, <carsten.tautz@iese.fhg.de>
Cc: "Reidar Conradi" <reidar.conradi@idi.ntnu.no>
Scribe: Torgeir Dingsøyr
From NTNU: Reidar Conradi, Torgeir Dingsøyr.
7.1 Presentation of PROFIT and results of SPIQ
Torgeir and Reidar presented the research focus and organization of the project Process Improvement for the IT industry (PROFIT) which is supported by the Norwegian Research Council. Also, results from the Software Process Improvement for better Quality (SPIQ) project was presented. Slides have been sent electronically.
7.2 Presentation of paper for Profes
Torgeir and Reidar presented the paper "Software Experience = Databases: A Consolidated Evaluation and Experience Report" which will also be presented at Profes'2000.
Reidar and Torgeir met with Andreas Birk and discussed topics for debate at the ISERN meeting which is organized in October, particularly how to organize and collect results from experiments in software engineering, as well as the use of qualitative research methods and the influence of action research.
A university course in research methods in software engineering was also discussed.
Other topics for discussion was possible involvement in EU projects and the new IT center at Fornebu which offers good possibilities for financing guest researchers in Norway.
Finally, Torgeir discussed tools for process support with Ulrike Becker-Kornstaedt, Reidar discussed the contents of a Profes'2000 panel with Dietmar Pfahl, chair for a panel on corporate software eng. Knowledge networks. Dietmar and Guenther Ruhe (project leader)
works on the CORONET EU project on use of "Corporate software eng. knowledge networks for improved training of the workforce". Each panelist will have 7-8 minutes. Reidar will send a draft of his part by June 1 to Dietmar.
Reidar finally spoke with Frank Bomarius on future cooperation:
e.g. sharing of repeatable experiments and associated infrastructure, and personnel exchange (ex. German postdocs to Norway, Torgeir to Kaiserslautern Spring 2001). Also possible EU project cooperation was briefly aired.
8.0 Visit at Daimler Chrysler Research, Ulm, 4 May 2000
To: "Frank Houdek" <Frank.Houdek@daimlerchrysler.com>,
"Kurt Schneider" <Kurt.Schneider@daimlerchrysler.com>
Scribe: Torgeir Dingsøyr, NTNU
Minutes of meeting: 4 May 2000
Place: DaimlerChrysler Research, Ulm
NTNU participants:
Torgeir Dingsøyr, PhD student in knowledge management for SPI,
Reidar Conradi, professor, works on software process improvement, software reuse,
configuration management, process modeling, distributed systems.
DC participants:
Frank Houdek, is now focusing on requirement engineering.
Edvard Metzger, works with Human-Computer Interaction.
Thomas Beider, works with assessment, SPI, inspections, req. engineering.
Henry Wigener, MSc student, University of Ulm, works on development processes for
embedded systems
Kurt Schneider, SEC project leader
Thilo Schwinn, Daimler Chrysler (works on PhD on software inspections)
Scribe: Torgeir Dingsøyr, NTNU.
8.1.1 Research at Daimler Chrysler
Within Software Engineering, Daimler Chrysler is doing research in the fields Software Architecture, Risk-Management, Requirement Engineering, Real-Time Systems, Experience Factory and Software Process Improvement.
8.1.2 Presentation at Daimler Chrysler
Torgeir and Reidar presented the research focus and organization of the project Process Improvement for the IT industry (PROFIT) which is supported by the Norwegian Research Council. Also, results from the Software Process Improvement for better Quality (SPIQ) project was presented. See enclosed slides.
8.2 Discussions on Experience Factory
8.2.1 Presentation of paper for Profes'2000
Torgeir and Reidar presented the paper "Software Experience Databases: A Consolidated Evaluation and Experience Report" which will also be presented at Profes'2000.
8.2.2 Software Experience Centers at Daimler Chrysler
Daimler Chrysler have established Software Experience Center in several business units, where 2-3 persons are responsible for experience transfer. First, an experience factory is established by people from the research department, and then the users are gradually taking over themselves. Extraction of knowledge is based on interviews, workshops, "Tech-clubs", delta-analysis, and use of networks. The work can be characterized in a model with four phases in a cycle:
Collect -> Store -> Reinfuse -> Activate
Where reinfusion is mechanisms for getting the experiences into actual use. Knowledge can be stored in several formats, in Brains, Intranets and on Paper (BIP).
9.0 Summary from IFIP WG2.4 meetings: Banff in Sept.'99, and Delft in May, 2000
I have been a member of this IFIP Working Group 2.4 since 1976. It changed name after the Banff meeting from System Programming Languages to Programming Technology, as part of an effort to rejuvenate itself, both wrt. themes and people. I had a presentation on "Inspections at Ericsson, Norway" at the Banff meeting; and on "Problems in Expressing
the Simula list classes in C++ and Java" at the Delft meeting.
Both meetings assembled about 30 participants, ca 50/50 observers and members. At the Delft meeting the theme was "Java and its implementation", and we had 12 new observers. See http://www.ifip.wg24.its/tudelft.nl.
The next meeting will be held 27 May-1 June, 2001 in Pisa, hosted by Vincenzo Ambriola and with UML as a unifying theme. I intend to solicit Scandinavian observers for that meeting.
The present chair of the group is Judy Bishop, Pretoria University in South Africa, and the secretary is Nigel Horspool from Victoria University in Canada. The Banff host was Jim Cordy/Nigel Horspool. The Delft host was W. L. Toetenel.
An interesting talk in Delft was by prof. Charles Clarke from Univ. Waterloo (claclark@plg2.math.uwaterloo.ca) on Internet queries, where we now can answer 1/3 of specific questions, such as "What was Lincoln's secretary of state? or "How much money did Manchester United use on new players in 1992?". There is an annual information retrieval conference and 200 similar questions are given to a set of competitors to work with. The Waterloo group uses to to become number 3-5 in this contests, and the winner has about 70 answers correct in 2-3 seconds. The Waterloo group applies sophisticated parsing of natural language, searching in parallel database machines, and final synthesis of searches to form a final result.
Another interesting talk was by prof. Erhard Ploederer from Stuttgart (ploederer@informatik.uni-stuttgart.de) on unstable bindings in OO libraries after new releases of such libraries. This may mean that an unchanged (main) application program will have different but unknown semantics after such changes. Ploederer was chair for the Ada'95 revision, by the way See ftp://ftp.informatik.uni-stuttgart.de/pub/ps/for_ifip/ifipoop.pdf
(about 150kB, two slides per page format); use "anononymous" as login name, arbitrary password (e.g. your own name).
10.0 Visit at Politecnico di Milano, May-June 2000
Alfonso Fuggetta
Dipartimento di Elettronica e Informazione
Politecnico di Milano
Piazza Leonardo Da Vinci 32
I-20133 Milano
ITALY
Phone +39-02-2399-3623 (secr. Laura), +39 02-2399.3540 (af), fuggetta@ELET.POLIMI.IT
Fax +39-02-2399-3411 (Polit.),
Phone +39 039 682.9221 (home), +39 (0)335.241.431 (mobil)
Alfonso Fuggetta
CEFRIEL (affiliated research center)
Via Fucini 2 (less than 10 minutes walk from univ.)
Milano
Phone +39 02 23954.1 (switch), +39 02 23954.215 (af),
Fax +39 02 23954.254. www.cefriel.it/exchange
Elisabetta di Nitto: dinitto@elet.polimi.it
Gian Paolo Cugola: cugola@elet.polimi.it
Carlo Ghezzi: ghezzi@elet.polimi.it
The Politecnico in Milano is Italy's largest technical university. It lies in "Città Studi" in the east part of town, 20 minutes walk from the central railway station, and 7 minutes from the Lambrate railway station.
I stayed at hotel Vienna, 3 minutes from the Lambrate railway station and 9 minutes walk to the university. It was a very enjoyable stay.
I worked with Alfonso Fuggetta and a bit with Elisabetta di Nitto (PhD 1996). They have done a lot of work on distributed systems, applying e.g. XML/agent-style architectures.
The group also counts prof. Carlo Ghezzi and Dino Mandrioli at the university and Giorgio Lavazza at the CEFRIEL research center. I also had some discussions with Gian Paolo Cugola, working on event-based systems (PhD 1998).
Alfonso Fuggetta and I are now writing a summary paper on software process improvement. I also held a presentation at CEFRIEL on our NTNU work.
General comments:
For Italian universities, a highly overdue reform is planned -- with a lower degree (BSc, compressed Laurea) after three years, and with a higher degree (MSc, Laurea specialistica) after another two years for the more motivated and clever students. Currently, only 30% of the students finish their officially four-year Laurea degree, being overly theoretical, and they do it at an average age of 27 and with an average study length of more than five years, sometimes six years. At engineering studies, the stipulated study length will remain at five years (e.g. at Politecnico), but with a lower BSc degree after three years.
In UK, 80% finish the batchelor degree at the age of 21, and most get a job then. Note, however, that in the US and UK high school graduates are 18 years old, while in Norway and Italy high school graduates are 19 when they finish.
In Italy, 2/3 don't have a job even after one year after graduation-so no large incitement to finish early. And 60% of the youth in age 25-29 still live their parents (the so-called "mammoni", specially boys), due to house shortage, universities being everywhere, catholic culture against more "uxorio" etc. However, all this varies between different youth groups, disciplines, and regions.
In Norway, the average age for the first job is 24.5, supposedly the next highest in Europe (in Spain it is 25.5). In US, UK Switzerland, and Ireland it is 21-22 years.
11.0 Summary from ICSE'2000, Limerick, 5-9 June 2000
The 22nd Int'l Conference on Software Engineering (ICSE’2000) took place at Limerick, Ireland, 5-9 June 2000. It assembled over 900 participants, whereof 200 for the initial workshops and tutorials.
The main conference had for the first time assembled ca. 25 roadmaps over the entire field, and these were collected in a separate proceeding, edited by Anthony Finkelstein. Really a goldmine!
I attended a workshop on Monday, June 5 on "Beg, Borrow or Steal-on Multidisciplinary Approaches", with a paper on "Success Factors for Experience Bases", together with Mikael Lindvall and Carolyn Seaman from the Fraunhofer Center -- Maryland. Very lively discussions! Ca. 45 participants.
On Tuesday, June 6 I attended a workshop on "Software Engineering over the Internet" exploring the possibility of virtual teams. Ca. 25 participants. Not so exciting, but interesting
presentations of XML and agent technology by e.g. Paolo Ciancarini from Univ. of Bologna.
11.3 Introductory speech by Noel Treacy, the Irish Minister of Science and Technology
Noel Treacy spoke of the software industry in Ireland, having 15,000 employees, 600 companies and £5 bill. IRP in annual export (one IRP = ca. 1.25 Euro.) Ireland is now the next largest software exporter after USA -- although 85-90% represents re-export from larger companies.
A lot of money has been put into IT research and education since 1970, coordinated by the National Software Directorate (http://www.nsd.ie). For instance, Ireland has just launched a 42 bill. IRP IT-plan. As part of this, a 5-year plan for Research, Technology and Innovation (RTI) will double the government's expenditure on these areas, using 1.95 bill. IRP over the next five years. Ireland has 3.7 mill. inhabitants and a GNP being 60% of Norway's per 2000.
The University of Limerick was established in 1972 (http://www.ul.ie), and has 3000 full-time and 3000 part-time students-with ca. 500 teachers. The IT departments have totally 77 faculty positions, whereof 16 are vacant. The CS department had just got its own building, as part of a 20 mill. $ funding initiative in 1997-98 with much American money. Surrounding the university, there is a National Technology part established in 1984, and with 4000 people in 100 companies and sharing 90.000 m2 of buildings (now expanding with 18.000 m2). There is also a national center for Software Engineering at Dublin City University (www.cse.dcu.ie).
11.4 Keynote by Manuel Castells, Univ. California in Berkeley: "Is the new economy socially sustainable?"
The most interesting keynote was the one by sociology professor Manuel Castells, Berkeley: "Is the new economy socially sustainable?".
Castells was born in Spain. He had his first university education from Barcelona, with a PhD in Sociology from Sorbonne and has since 1979 been at Berkeley. He has written 20 books on aspects of social transformation, with the main work being:
"The Information Age: Economy, Society and Culture", Vol. I-III.
Vol. I: The Rise of the Network Society.
Vol. II: The Power of Identity.
Vol. III: The End of the Millennium, new edition 2000, 448 p.
ISBN 0-631-22139-5 (pbk). Blackwell Publications, 1997-2000. Totally over 1200 p!
His main thesis is that modern IT implies a new society – economically and socially. It is made possible by hardware innovation, but has otherwise three characteristics:
1. Growth with minimal inflation and underemployment.
Investment in software correlates strongly with economical growth.
In the US they had to change the public statistics to show this, since software was termed
"consumption"-and still is in European statistics.
2. A global economy: international products, management, markets, and
skilled labor.
Ex. in California, 55% of the labor force now has "non-standard"
employment conditions i.e. working as consultants, part-time,
from home etc.
(Comment from Californian colleague: This may in part be
caused by fiscal rules, saying that work under 20 hours per
week is not subject to social security taxes.)
Ex. in Germany, more people own stocks than are members of trade
unions.
This may create a welfare problem, unless compensated by the (national)
governments by appropriate taxes and measures.
3. The economy in itself driven by IT and contributes back to IT development, especially by
the Internet/web. Indeed, companies not using new IT, will simply die!
The Internet can be compared with the introduction of electricity,
e.g. making large and specialized factories possible, due to small
electric engines. Now IT/Internet makes small and decentralized
factories possible.
Ex. Now 350 mill. mobile phones world-wide. The prognosis is 3 bill. mobile phones in
2004(?), and with 10% of these coupled to powerful mobile computers.
Ex. Europe has an advantage in the common GSM standard, while the US has 3 different
systems for mobile telephony.
Ex. In the US 40% of the population now has Internet access.
All in all: Lots of changes being seen and same symptoms as for catastrophes (!).
Also, educational institutions are very slow to orient towards IT.
In addition comes the feminization of the workforce. Cf. book by a Berkeley colleague on "There is no place like work" (where home was characterized as "hell"), based on in-depth interviews with professional women.
Further, only 23% of American households are "kernel" families: mom + dad + children (shared or separate).
On the other hand, it is futile to limit the long work hours of the new IT/knowledge workers that mostly work for the fun of it, not for the money-regardless of the IPO and dot.com hysteria.
Due to rapid explosion in IT, there is a constant and growing deficit of skilled labor. A 25% shortage is forecasted in US and Europe in 2003. (There were 12 mill. software developers in world in 1999). Remedy: massive import of expertise from "3rd world" countries, cf. the present US braindrain from India and Russia. This means that our European societies in 10 years may have 25% minorities-like the US. That is, we all face a multi-cultural/ethnical "bomb".
However, only 1/3 of the world is benefiting from and participating in the new economy. 40% is still living on 2$ a day. This is not viable, neither economically, socially or morally.
We need a Marshall plan from North to South!
So, maybe mobile phones and the Internet can be an instrument to make the 3rd world become an actor here -- that is, jumping over several generations of technology. For instance, laying copper cables between African or Chinese homes and businesses are too costly and cumbersome.
In other word: we need new social and international institutions, and a new perception for how work is performed and how the society should function.
PS: I suggested for Castells to come to Norway for a seminar/meeting, but he had already been there a month ago (in Bergen, talking about a business performance group). But he was going to Sweden in December, so maybe we can work something out?
Email: em511995@uelink.berkeley.edu.
12.0 Workshop on Learning Software Organizations (LSO’2000), 20.6.2000, Oulu
See Klaus-Dieter Althoff and Wolfgang Müller:
"Proc. 2nd Workshop on Learning Software Organizations", Tuesday, June 20, 2000.
Univ. Oulu, VTT Electronics, Fraunhofer IESE, 130 p.
Ca. 25 participants.
traphoener@tecinno.com
Each person is rated on 120 factors (skills) on a scale 1 – 5.
Role descriptions a use case diagrams.
Levels: Curiosity (feasibility) -> utility (some use) -> productivity (filled up and used).
Evaluate according to: Communication
Coordination
Cost
Maintainability
Manageability
Project schedule
Quality
Reuse
Risk mitigation
Using:
model each one deeply?
qualitative/quantitative?
Cost?
Communication Analysis?
Utility?
Feedback?
Recommendation? (based on previous patterns)
Ex. Andersen Consulting: write (reusable) experience reports for their Intranet, rather informal.
Advice:
Now used by Personnel Dept. and Project Managers.
12.2 Ralph L. Feldmann et al.: "Towards Industrial Strength Measurement Programs for Reuse and Experience Repository Systems"
GQM: Analyze… software development process
For the purpose of … improving/understanding/evaluation
With respect to … reliability/time-to-market
From the viewpoint of … process owner/project manager/developer/system
user
In the context of … company X
GQM Abstraction sheet:
|
Quality Factors: properties (models) |
Variation Factors |
|
Baseline Hypothesis |
Impact Hypothesis |
Business goal:
Ex. Retrieved info on evaluating cost/benefits of quality system users SFB-401/FC-MD. Repository system of characteristics for user friendliness system development
CBR-PEB.
Ex. Trailer UI at FC-MD.
12.3 Erik Berglund and Henrik Ericsson "Dynamic Software Component Documentation"
I.e. Reference manual -> user guide.
12.4 Thomas J. Ostrand and Elaine J. Weyuker: "A learning Environment for Software Testers at AT&T"
154.000 employees.
12.000 in software development, 10% in testing, 450 Mlines of active source!
Big flux.
Here: High test effectiveness
Recruit people
Learning environment for testers: knowledge base, careers training.
Now corporate team: test, architecture.
Ex. AT&T annual test conference, 150 attendees. 1999 and 2000.
Certification of test engineers, done by external people.
CVs of domain experts related to testing.
News groups.
Web Repository owned by group: best practices in testing, literature surveys, tools and methods for software construction/maintenance.
Predict: where used and with what experiences.
Questions:
Support: who maintains?
Uniformity: different formats.
Centralization: no root/portal.
Convince people to participate: incentive? = career path
Both students and teachers
Testing: solid careers
Computer-supported professional community
Improve testing? Don’t know.
People in several communities.
12.5 Torgeir Dingsøyr, NTNU: "An Evaluation of Research on Experience factory"
Torgeir Dingsøyr: "An Evaluation of Research on Experience Factory", p. 55-66.
Q1 Improve quality Ex. NASA,
Q2 Reduce cost Daimler Chrysler,
Q3 What types of organizations can benefit? Ericsson in Sweden, Univ. Lund,
Q4 How does intro of an EF affect the Australian Telecom,
organization? ICL.
12.6 G. Cantone et al.: "Organizing Software technology models, measures, and experiences for continual learning"
QIP-variants: short-term learning vs.
medium-term learning
QIP: learning driven by goals.
4 QIPs: components, process (testing?), experience technology transfer + specialization.
Also specialized EFs.
QIP (1992): Reference Level
Conceptual level of info in EF
Implementation Level
12.7 Jesper Arent, Jacob Nørbjerg and Morten Hvid Pedersen, Univ. Ålborg: "Creating Organizational Knowledge in Software Process Improvement"
Nonaka (95): "Tacit and Explicit knowledge"
Action teams ≠QA team.
SPI to create organization.
Nonaka: 1. Externalize (learn by reflection tacit to
explicit).
2. Combine (less by integration: explicit to
explicit).
3. Internalize (learn by doing: explicit to tacit).
4. Socialize (learn by sharing: tacit to tacit).
12.8 Jan-Peter von Hunnius, DC: "WESPI – Web Supported Process Improvement"
Ex. Developer called back from vacation so had to do knowledge elicitation of an integration process.
Process model -> email classification -> FAQs -> page annotation -> news group/group memory (group awareness).
How to ensure quality of page annotations, which may also go away with active news groups. Add help facility or views (beginner, advanced).
Information vs. knowledge? Tacit knowledge.
Learning goal: look at SPI and experience bases.
Must look at contents and use, not only on technology push.
Money for startup and running?
Must be ingrained into real business processes. Present cases: study these, and study requirements/evaluation criteria.
Discussion list:
Learning organizations/case studies.
ESSI with 500 PIEs etc.: tool-oriented.
Multidisciplinary approaches in ICSE’2000 workshop: "Beg, borrow or steal".
13.0 PROFES’2000 Conference, Oulu, 20 – 22 June 2000
13.1 Markku Oivo: PROFES’2000 intro
1960 1980 1999
Finnish export: 69% 45% 30% Timber, paper
1% 4% 29% Electronics, IT, Electrotechnical
R&D share of BNP: ?% 1% 3%
High-tech export share in Norway: 3-4%!
Oulu:
PROFES’2000: 153 participants (same as in 1999), 21 – 22.6, 46% from Finland, 20% from Germany, with 4 keynotes, 4 tutorials, 15 parallel sessions in 5 slots, 35 papers, 2 panels.
LSO Workshop: 25 participants on 20.6, with 1 keynote and 7 papers.
PROFES’2001: Sept. – Oct. 2001, Kaiserslautern.
13.2 Bill Curtis, Teraquest: "cost/benefits of SPI"
CMM level 2: reduces rework by peer reviews, 30–40% rework is normal.
10-100 more costly to fix defects in late development phases.
Ex. Raytheon: From 41% rework to 6% from 1988 to 1994, 40% overruns in projects initially.
Ex. Air Force: From 30% over schedule to before schedule.
Ex. Ericsson: More likely to be on schedule with levels 2 and 3.
Ex. Ericsson: Lead-time variation goes down with levels 2 and 3.
Ex. Lawlis et al. 95: Similar for costs.
Ex. Boeing (Vu 96): Similar for costs.
Ex. Telcordia (Pitterman 2000): From 1993–99: faults/1000FPs from 47 to 2.6, 3500
developers, 85 projects/year.
Ex. Ericsson (Mohrin & Westerlid 97): From 0.4 to 0.2 faults/KLOC in 1993–1998.
Ex. Boeing: From 30% to 80% defects found before release.
Ex. Space shuttle during integration test: From 10–12 defects/KLOC to 1, i.e. from debugging
to verification.
Ex. Raytheon unit costs: From 1 to 0.4 in 1988 to 1994.
Ex. OMRON: The last years’ effect due to increased reuse, from 25 to 75%.
Ex. Boeing: From 20% to 40% reuse.
Explanation: better quality software is more likely to be reused?
Ex. Telcordia (Handojo 2000): improved predictability.
Ex. Lockheed Martin: concrete question – can we deliver in 110 days?
Answer: 60–80% chance, using historical data.
Ex. Sakamoto et al. 95: 15% of time for inspections is optimal.
Cost calculation: problematic, missing baselines, not including
maintenance.
Ex. Telcordia (Pitterman 2000): From 1.2$/line (shipped and tested) to 0.42$/line in 1993-99;
mostly due to test automation.
Ex. Telcordia customer satisfaction: From 60% to 95% in 1992–99.
So: most benefits initially from early defect detection, later from reuse.
SPI problems: manager commitment, change competence, middle manager resistance, missing baselines to compare with, early results (6 months!): so start working with real projects.
13.3.1 Kurt Schneider, Daimler Chrysler: "Active Probes-Synergy in Experience-Based Process Improvement"
Example: Reviews and inspections, spread, …
do RoI (can be done here), lead to evolutionary improvement.
Example: Risk management, coupled to requirements classification and reviews on requirements.
Example: Configuration management.
13.3.2 Andreas Birk et al., IESE: "A Framework for the Continuous monitoring and evaluation of improvement programs
SPI now part of software engineering.
But many SPI programs fail.
Need systematic planning, execution and evaluation of SPI programs.
Framework: - Measurement process: GQM style.
- Organizational infrastructure.
- Three core measures: effort, satisfaction, characteristics.
- Effort and cost/benefit models.
- Experiences and lessons learnt.
Simple templates for data collection; where effort is collected regularly, the other at
project milestones.
Effort: cost, time (person hours per role), duration.
Satisfaction: "benefit", reached improvement goals, other effects.
Characterization: organization, project, what kind of SPI.
Feedback into existing and future SPI programs.
Done in PROFES and SoftQuali projects.
Demonstrated into DC, Siemens, Allianz Leben, Bosch, Schlumberger, Dräger, Tokheim, and Ericsson.
Benefit: Understanding, Control, Success ... of SPI programs. See www.iese.fhg.de.
13.3.3 Rini von Rolingen and Egon Berghout: "No Improvement without learning", IESE Kaiserslautern
See www.gqm.nl.
Learning: "lasting modification of behavior, based on exposure and understanding of new
experience or knowledge".
Improvement = learning!
Using GM all over.
Ex. Number of interrupts: reduce these by email.
Ex. Reuse implies fewer defects.
Successful measurement programs:
Further GQM development:
Relationship between product and process must be studied.
13.4 Hans-Dieter Rombach, Univ. Kaiserslautern: "Capitalizing on Experience"
Software: too much crafting, need more engineering. Software processes are special. Sustained improvement processes + disseminate: The hard problem!
Testing does not guarantee quality software.
Experiences:
Software as core business:
Prerequisites for corporate success (Harvard Business Review):
Software: developed (and maintained), not produced or maintained
Must understand product/process – i.e. the business:
Ex. Goal = reduce development time.
Competencies: achieve goals by certain techniques; needs quality models.
Technique: often inspection techniques.
Competencies include:
QIP/EF from NASA-SEL
Ex. Continuous improvement with feedback loops.
Ex. Reuse across projects.
Needed infrastructure: modeling, measurement, reuse.
QIP: PDCA loop, where the "P" has three steps.
Ex: separate organization for:
Project support, experience management and technology preparation.
Ex. Intro of OO: changes global process, not just local.
CMM: provides organizational context for SPI.
Ex. NASA:
Ex. Many European companies use EF approach.
Failures due to company commitment failures.
QIP/EF: Needs to be customized: large vs. small.
13.5 Software and Process Modelling
13.5.1 Thomas Ihme, Reis Robotics: "OO for R-T development"
EMESO PIE Project to convert from C to C++.
A C++ subset is chosen, but hard to enforce. Mixed OO/non-OO.
Result: "Better structure", by classic complexity metrics.
Reduced maintenance costs: 20% (assumed).
Reduced defects in integration test: 20% (assumed).
Reduced time-to-market: 30% (assumed).
Increased insight in new methods.
Plans to convert entire system.
13.5.2 Martin Rappl, Tech. Univ. Munich: "Managing Distributed Software Development"
FORSOFT project together with Siemens.
Requirement engineering for embedded systems.
Assess chance and risk vs. feasibility.
Used for decisions to acquire new software.
13.6 Keynote by Roger Fordham, Motorola
Initially: About 4–7 defects per FP, ca. 1/3 in coding, ¼ in design, 15% in requirements.
In delivered software: 0.5 defects per FP, 4 per KLOC. 1 FP = 120 lines of C.
Productivity: ca. 5 – 10 FP/staffmonth, but a doubling every 10 years.
1 Mlines: 3 years = 800FP.
Cost: 4000$/FP, so 33 M$.
Ex. 10.000 FP : 70.000 defects, 93% fixed before delivery, 5000 left
: 350 staff years, 3 years, 120 persons
: 33 M$.
Cultural changes: skills, procedures, initiatives, culture, learning.
25 years since software inspections: so technology transfer.
Customer view: better that 6s (six "sigmas"), i.e. 3.4 defects per Mlines (AELOC = 3125 FP) = 0.001 defects per FP ): 1000X better! or 400X better than US practice.
Customer Need: 5-Nines: 99.999% ): 5 minutes/year out of services.
Cycle time: 10-100 times faster (size invariant!).
Challenge: build 10-100 KFP, 10–100 faster than today, with defect levels >> 6s and 5 Niners availability.
Technology adoption: 20 years -> 2 years!
At Motorola: "just do what is the book," i.e. inspections, CM, …
People: process and technology.
Technology adoption.
Best practices: those that increase quality/productivity levels by 15%.
Automation, tools and environment. System-wide reuse: asset-based development.
Ex. Software project managers network: SPMN: www.spmn.com.
AIRLIE council advices:
Ex. Risk management.
Requirement engineering.
…
Ex. Don’t use schedule compression to justify usage of new technologies.
Vision: massive reuse, customer ideas, other’s ideas.
Q: Will this also work for SMEs?
A: Remember that most product divisions in large companies are small (100s).
Q: Where is the customer view? – don’t care often.
A: A problem with passive customers!
13.7 Corinna Amting, EC, DG – E2: "The IST Workprogramme 2000"
Networks of excellence
RTD
User/provider projects
Transfer/awareness
New calls:
Also take-up measures, training, thematic networks.
Ex. Special training and piloting actions for SPI.
Best practice actions: Be creative in finding themes!
Corinna.amting@ced.eu.int, see also web site: www.cordis.lu/ist/ka4/tess
See also this web site!
13.8 Organizational Learning and Experience Factory:
13.8.1 Veikko Seppänen, Univ. Oulu: "A Relationship – Based View to Software Engineering Competence"
Look at the role of software engineering competence in performing cooperative projects. Project = local net with different actors (customer, provider) and with two layers – static (existing competence) and dynamic (how competence changes).
Looks at activities – resources – actors: all with attributes: mutuality, capability, particularity, inconsistency.
Couple build-up and use of competence.
13.8.2 R. Conradi and T. Dingsøyr, NTNU: "Software Experience Bases"
Reports on success factors for implementing and introducing software experience bases in 4 companies in the Norwegian SPIQ project.
13.8.3 Kurt Schneider, Daimler Chrysler: "LIDs – A Light–Weight Approach to Experience Elicitation and Reuse"
Simple approach to store small-scale experiences. Also human-oriented expertise is important. Use a checklist to compare an experience summary (5-10 p.) + related documents; as a closed package with a "LID".
Often 15–20 hours of effort to make summary and link together associated documents.
13.9 Panel on Corporate Knowledge Networks
Dietmar Phahl, Fraunhofer IESE
Reidar Conradi, NTNU, Trondheim
Michael Haug, Highware, München
Harri Reiman, Ericsson, Finland
Kurt Schneider, Daimler Chrysler Research
D. Pfahl: CORONET project of job-based training.
Multimedia-based method.
Combine training and experience bases, use human networks.
R. Conradi: Couple continuing education and experience bases.
Big gap in university education and real needs.
M. Haug: Need to make training more effective.
K. Schneider: Collaborative learning on demand. Own SEC center.
Spectrum of technology transfer:
Can CORONET bridge the gap?
Go from need in everyday work to get an answer to a concrete question.
Use FAQs to offload requests?
Harri Reiman: Cannot get proper people, so must re-educate the available ones.
Transition: Telecom -> datacom.
Coaching combined with on-job training, using the web.
Learning on demand: must be used carefully.
Knowledge source: articles, courses, via human experts, reuse own experiences.
Networks: people <-> people.
Less external courses, more on-line learning.
14.0 Visit at Paolo Ciancarini at Univ. Bologna, 29.6.2000
Prof. Paolo Ciancarini.
Dept. Scienze dell'Informazione-Univ. of Bologna.
Mura Anteo Zamboni , 7-40127 Bologna-Italy.
tel: +39 051 2094506 mobile: +39 (0)339 2543139 fax: +39 051 2094510
e-mail: ciancarini@cs.unibo.it http://www.cs.unibo.it/~cianca/
cianca@cs.unibo.it
Paolo Ciancarini is a professor in Informatics at University of Bologna. This has 100.000 students. The Informatics study there is quite new, and ca. 20 teachers reside in a remodeled villa in the center of the city. They have 12 PhD students. There is a primary study in Informatics with 250 new students per year, another study in Cesena with new 120 students per year, and a joint study in "Communications" (semiotics, journalism, multimedia etc.)
with humaniora (incl. Prof. Umberto Eco). The faculty is new, with emphasis on network technologies.
Bologna has Europe’s oldest university from 1089, and the city has 400.000 inhabitants. The city is very well run and was probably the first European city to offer common services over the Internet to its citizens.
Ciancarini took his PhD from University of Pisa in 1988, working on the Oikos process support tool that applied the Linda multiagent, distributed Prolog system (from University Yale). Vincenzo Ambriola and Carlo Montangero were Oikos co-workers.
Ciancarini has been a professor in Bologna since 1992, but still lives in Pisa with his family, spending 4 days per week in Bologna and commutes by train (2 hours each way).
Ciancarini participates in the COORDINA working group and in the RENOIR and AGENTLINK networks of excellence, all EU projects. The COORDINA group in responsible for the COORDINATION workshops, with 4 workshops in 1996-2000 (see references).
Paolo Ciancarini was responsible for Roadmap talk on "Internet and Software Engineering" at ICSE’2000 in Limerick, June 2000. He also organized an ICSE’2000 workshop on AGent Oriented sw Engineering. He has a PhD student, Luca Bonpani, that has implemented several XML-based tools for software engineering, e.g. a general display/editor tool for XML-based documents:
0. First, a DDT-def. is done for this document type.
1. The XML document is first translated by an XMLC tool into an internal "DOM" tree, having a standard API to manipulate the tree structures, being Java Bean objects.
2. Then, a XLST tool at a server takes this thee representation and also reads X Style Sheet Language (XSL) templates that refer to "displets" (Java applets using Java Bean classes). The document tree is correspondingly updated, and a "format-annotated" XML document can be generated, and later interpreted/displayed at web clients. Alternatively, we can use "scripts" coming from user commands to call the "DON" API to execute the corresponding Java objects/methods associated with each tree node.
Thus we can easily and quickly realize a graphical structure displayer/editor tool for specific document types.
They have made XSLs for Petrinets, UML diagrams (Elmuth tool) and some other document types (musical scores, chess games). There is a standard XML-representation (XMI) for UML documents, thus many people can easily make enhanced UML tools.
Some general observations on the XML family of technologies:
Documents have contents, structure, behavior, and relations (URL-links). Their behavior (code as applets or displets) makes them "active".
XSL has two extensions: XSL-T and XSL-fo, the first one is a tree-oriented rewriting language, the second to allow graphical tags. Their XMLC uses the COCOON tool, and servlets from APACHE (i.e. a cgi-script in Java).
Consider different levels of abstraction:
Cooperation: goals, requirements, with negotiation and mediation
Coordination: make high-level, architectural design
Composition: make detailed design (interfaces).
Some relevant publications
Old work by Bisiani et al. at CMU on Agoras used in OS-related contexts:
R. Bisiani and A. Forin:
"Multilanguage Parallel Programming of Heterogeneous Machines",
IEEE TSE, Volume 37, Number 8, August, 1988, p. 930-945.
Paolo Ciancarini, R. Tolksdorf, F. Vitali, D. Rossi and A. Knoche:
"Coordinating Multiagent Applications on the WWW: A Reference
Architecture", IESE TSE, Vol. 24, Number 5, May 1998, p. 362-375.
(work done in an EU project)
Conf. Proceedings on COORDINATION’96, as LNCS 1061 (eds. Ciancarini
and Hankin).
Similar COORDINATION’97, as LNCS 1282 (eds. Garlan and LeMetayer).
Similar COORDINATION’99, as LNCS 1594 (eds Ciancarini and Wolf), and
the forthcoming one from Sept. 2000 (eds. Porto and Roman)
A link to Ciancarini's slides on coordination:
http://www.CS.UniBO.it/~cianca/wwwpages/easss.html
Paolo Ciancarini, Davide Rossi and Fabio Vitali:
"A case study in designing a document-centrics coordination application over the
Internet", 18 p.
As part of the COORDINA project.
Also a case study of railroad administration.
Paolo Ciancarini, Oscar Nierstrasz and R. Tolksdorf:
"A case study in Coordination: Conference Management on the
Internet", 6 p., 17 March 2000. Similar as above.
Marco Bernardo, Paolo Ciancarini, Lorenzo Donatello: "ÆMPA:
A process Algebraic Description language for the Performance
Analysis of Software Architectures". Accepted for FSE’2000,
Nov. 2000, San Diego, 11 p.
Se also: G. Parkal Zachary: "Showstopper -- The breakneck Race to
Create Windows NT and the Next Generation at MicroSoft", 1994.
(I guerrieri del Software -- Italian translation).
15.0 Visit at Maurizio Morisio, Politecnico di Torino
Maurizio Morisio, Dipt. di Automatica e Informatica, Politecnico de Milano
morisio@polito.it
This technical university has 20.000 students, with 2000 engineering candidates per year. About 15 teachers in software, as part of Dipt. di Automatica e Informatica having an mphasis on telecom and electronics.
Italy fits well the applications of Internet, with lots of small companies.
Had talks with Davide Brugali, brugali@polito.it (and Patricia Lago), working on:
Business framework, business objects
New XML passer by Elena Barallis in Torino
Software agents-cf. work by ?Zicara, CMU Robotics institute.
Morisio's current research interests:
- Taxonomy of reuse approaches: libraries, frameworks, product lnes etc.
COTS: 80% easy, but how to find out?
- Define reuse levels (%): # reused code/total code.
Measure unit: LOC, FP, etc.
Often including entire libraries, but needing only a subset.
Need to link with efforts and quality, so need 30(?) industrial studies.
- Psychological/social/organizational studies of software development:
identify context variables and e.g. success criteria for SPI.
Need contact with social scientists.
- Case studies of "extreme" programming? Rebuild everyday,
everybody can make changes, the responsible must correct own errors, etc.
(Microsoft is practicing this).
- Aggregate (qualitative) data from different projects/companies,
cf. work by Shari Pfleeger and Winnie Mendoza.
Cf. judges that summarize different evidence in legal court cases.
- Support for mobile work (PDAs), e.g. to identify the nearest gas station.
Need special tools, business models (processes), software patterns.
Possible IST project with IESE and Markku Oivo, VTT,
deadline Dec. 2000. Need industrial partners.
- Product lines and domain engineering.
Also see Int’l Conf. On Software Reuse (ICSR), June 2000, Vienna.
Keynote from Microsoft: emphasizes two weeks per release, daily builds, first design test
cases, then make the code.
Otherwise: EU Framework program has special calls on mobile clients, deadline 15 Dec.
Some recent publications:
Maurizio Morisio, Colin Tully, Michel Ezran; "Diversity in Reuse
Processes", IEEE Software, July/August 2000, 9 p. (forthcoming)
Reminder to Maurizio:
Send to me proc. ICSE’2000 Workshop (#15) on "Software
ProductLines: Economics, Architectures, and Implications"
Editiors: Peter Knauber and Giancarlo Succi, 132 p.
~/morisio/art/_bib/reusecots/plwshop-icse2000/
elkaim.pdf elkaim2.pdf
esi.pdf gomaa.pdf
kobra.pdf mannion.pdf
mcgregor.pdf paulish.pdf
raffo.pdf scoping-schmid.pdf
xml.pdf
16.0 FEAST’4 WORKSHOP AT IMPERIAL COLLEGE, LONDON, 10 – 12.7. 2000
Context: Imperial College has 10.000 students, 30% foreign.
FEAST = Feedback and evolution in the Software Process
A preprint of papers are available in print and on the net: www-dse.doc.ic.ac.uk/~mml/f2000.
The workshop was supported by the FEAST project, lead by prof. M M Lehman at Imperial College. There were about 40 participants from 10 countries.
16.1 Introductions, chair: Bob Bishop, Imperial College.
16.1.1 Colin Tully: "Control theory, SPI Foundation and Software process"
Negative feedback: regulating towards stability.
Positive feedback: exponential (but S-curve eventually).
Ex. Control theory.
Biological systems.
Management (human decisioning).
Direct or indirect loops.
Needs measurements as inputs to feedback loops.
Ex. SPC in CMM (level 5), and usage of PDCA in TQM.
Ex. DNA feedbacks, but individuals behave differently than the entire species.
DNA both for replication and development.
DNA: a process (not product), a "program"?
Ex. FEAST: Individual = release, species = all releases, species = all releases of a product. A scientific hypothesis.
Ex. CMM: individual = product/project, species = all releases/projects of an organization.
A Design hypothesis.
16.1.2 David M. Raffo, Portland State University: "What is evolution"
Ex. Genetic programming (self-modifying). Types of evolution: what elements, what fitness, …?
Genotype: set of building instructions (e.g. DNA).
Phenotype: set of an individual’s observable features.
No universal PML or "instruction set".
External environment: market, technology, competitors.
Internal environment: product requirements, staffing, management policies, processes, infrastructure.
Criteria: "quality", market success, developer satisfaction.
Special process features: product, process, staffing, conformance.
Different process "robustness" for different process – via process evolution.
What kinds of feedbacks are important for a certain product or process?
Evolution = ? (medium term, between projects or within projects)
Learning = ? (changed behavior, based on an available experience and better understanding of these).
Need to couple biological approaches to our concrete software problems, otherwise it becomes to general.
Ex. what makes some products or companies survive?
16.2 Paul Wernick, Imperial College, chair: "Dynamic of large Systems"
16.2.1 Kai-Yuan Cai, Beijing University of Aeronautics and Astronautics: "Software Testing Dynamics: A Control Engineering Perspective"
Purpose: Stabilize an unstable system, improve robustness.
Control theory: various state functions (linear etc.).
State vs. output feedback signals.
Dynamic feedback: variable control system.
Lots of sources of dynamics.
16.2.2 Anthony Powell, University of York: "Respondent to discussion"
Has previously worked in Rolls Royce. In the 90s in the company, there were several failed projects with pre-fixed constraints, but no internal learning about "project dynamics".
What characterizes a "large" system:-requirements, solution, problem domain, lifetime?
Lehman: "large", if more than two levels of management.
Large/small: same or different dynamics?
Size is not the only decisive factor: novelty, (domain), complexity, context, different viewpoints.
Not only technical, but socio-technical systems.
Complexity of developed system vs. complexity of the developing team.
16.3 David Freestone, BT, chair: "What do we know"?
16.3.1 Brian Chatters, ICL: "Intro 1"
Cf. EU’s Bangemann report from 1996 (?).
Cf. Schneider. "Trust in Cyberspace", 1998.
Much existing software technology; but poorly used. 250 different software processes (standards) around: which to use?
Companies with high CMM classification:
Level 4 Level 5 Total
US 28 17 45
Australia 1 0 1
Israel 1 0 1 (Motorola)
India 14 10 24
Time from level 1 to level 2: 25 months.
Time from level 2 to level 3: 23 months.
Time from level 3 to level 4: 36 months.
Present state:
Ex. UK Passport office fiasco (£ millions).
UK Driving theory test bug (£ 300?), 80 questions.
Ex. 5 public UK offices, 500 mill. £.
So: SPI is insufficient. Software continues to fail in meeting expectations.
Summary of needs:
16.3.2 Barry Boehm, USC: "Intro 2"
Three connected factors: Observability, Controllability, predictability.
Hybrid approaches:
Examples: Microsoft, Tinker AFB, DMR Benefits Realization, MBASE/RUP Anchor Points.
Traditional situation: Current trends:
Clear separation between Everything connected.
requirements and design.
Stable requirements. Rapid requirements change
(50% change per 3 year).
Technical solutions are separate. COTS influence requirements.
Mostly in-house and controllable parts. No control over COTS evolution.
>2 year projects. Ever-decreasing cycle times.
Repeatable and mature models. Adaptable process models.
Ex. James Highsmith: "Adaptive Software Development", Dorset House, 1999, p. 230.
Have "learners" looking for reusable patterns.
Ex. Microsoft: "synchronize and stabilize" regularly (Cusomano and Selby book).
Ex. Tinker AFB: selective use of statistical process control (won last IEEE SPI award):
Use SPC only on stable parts of process.
Look at USC’s Benefit realization feedback process.
Ex. MBASE/RUP Anchor Points: Look at certain criteria at acceptance points.
Cocomo-II empirical base: 161 companies doing SPI (CMM): 4-11% productivity improvement per CMM-level (aside from other effects).
First identify company goals and problems, then what kinds of software processes are critical? Use 5 – 6 core metrics to assess presents status and later progress.
Needs a good roadmap (CMM?) to sort out the critical factors and their dependencies.
But "bilateral" distribution in SPI: Large companies (like (Boeing and Hughes) have been concerned with (and successful in) SPI for 25 years, regardless of CMM.
And many small companies have no need or competencies to apply SPI.
16.4 Annie Anton, North Carolina State University, chair: "What don’t we know"
16.4.1 Giuliano Antoniol, University of Sannio, Portugal
How to manage multi-site projects?
How to manage third party software?
Much faster change rates in requirements, and thus in system architecture.
More interconnections.
Integrate COTS and legacy systems, via new interfaces. Open-source software.
16.4.4 Vic Stenning, Anshar Ltd.
Cannot apply SPC to (software) design, rather to (product) manufacture.
Rather apply QFD through development phases (needs -> product -> process -> process control), but his assumes unknown insights in the required product – process relationships.
16.4.5 Eve Mitleton-Kelly, London School of Economics
How to combine quantitative and qualitative methods?
Lots of co-evolution in an ecosystem of cooperating systems.
16.5 Resumès from group discussions
Need model for feedbacks, used for analysis.
How to manage uncertainty and risks?
Need mutual learning process.
How to describe context variables around a process?
Common vocabulary for requirements artifacts and domain concepts.
What vs. how: their engineering can no longer be separated.
Trace requirements: use QFD?
Communication between stakeholders wrt. requirements.
Process- vs. product-oriented requirement engineering.
From software to system engineering (hardware, software, humanware).
16.6 Keynote by Igor Aleksander, Imperial College "The role of emergence, evolution and depiction in computational intelligence"
Igor Aleksander: "How to build a mind", Weidenfeld and Nicholson, June 2000.
i.aleksander@ic.ac.uk
In the last 50 years:
computers have not shed (much) light on the human brain and mental processes. Not a simple i/o function?
Thinking: perception, recall of experience, construction and prediction that indirectly determines behavior.
Cf. Claude Shannon’s chess program from 1950 – the first AI program, using mini-max principles to search a decision tree representing the problem space.
Early AI work: often single task systems, not general problem-solving capability.
AI till now: Playing games, storing human expertise, limited problem solving, some language processing.
AI in the
future: Create "mind-like" objects, using modular neural network architectures.
Different computational "principles" in the brain, EED:
Ex. 1015 connections in the brain between 1011 neurons, arranged in about 100 "modules".
In lab: 5 x 105 neurons, 3 x 107 interconnectors – about half the size of an bee’s brain.
Ex. Vision function in the brain is poorly understood (feedbacks).
Example of pattern searching, and also to recognize "new" objects (e.g. blue bananas).
Also "programmed" functions did not so well as self-learned functions
Conclusions: If we can learn more about human perception, we may eventually help offset
senile brain processes, e.g. Alzheimer’s implied loss of visual capabilities.
What can software engineering learn or apply from EED – maybe more adaptivity in the future?
How to make several neural networks communicate? – robots do that, and become different personalities(!).
What is "consciousness" – unanswerable (a process – not a thing).
Neural feedbacks: diverse, but mainly by local "control" processing in a module.
16.7 Darren Dalcher, Imperial College, chair: "Relationship between Product and Process"
16.7.1 Dewayne Perry, now University of Texas at Austin: "Intro 1"
Process: a means, product: the end – both have constraints and are driven by economics.
Both evolve, exist in different states.
Process changes: many causes.
Evolution: set of changes to serve some purpose, often as "step" functions.
Need empirical studies, look for causal connections, later demonstrated in industrial context.
Ex. Code inspections essentials being studied: structure, techniques, inputs, context,
technology.
Interval (schedule) decided by structure and context.
Quality (number of defects spotted) decided by technology and inputs.
16.7.2 Vic Stenning, Anshar Ltd: "Intro 2"
How to tailor processes? Delayed binding and tailoring.
Metaprocess to evolve the underlying development process.
Blurred line between stakeholders, users and developers – implies that product and process are two sides of the same coin. Cf. 4GL/spreadsheet development by stakeholders.
Product: more short-term? Specially on Internet-time.
Process: more long-term?
16.8 "The Role of the Individual in the Large Systems Context", chair: Eve Mitleton-
Kelly, London School of Economics
16.8.1 Maria-Christina Papaefthimiou, London School of Economics: "Intro"
Legacy systems must be changed due to business/market/technology changes.
Individuals: must learn and interact.
Some existing guru with both domain and system knowledge.
16.8.2 Juan Ramil, Imperial College: "Intro"
Many roles for individuals: developer, team, project, company, business sector.
Individuals as sources, transmitters, receivers and controllers.
Challenges: informal interactions, non-linearities, complex goal functions, dysfunctional measurement.
16.8.3 Patrick Hall, Open University: "Intro"
Cf. tacit/explicit knowledge, and internalization/externalization.
Discussion: Control points are very different, but how to filter out the important information?
Explosion of information, who has authority and trust?
Different methods/viewpoints.
Short vs. long term evolution.
16.9 "Feedback and Requirements Engineering", chair: Mark Greenwood,
University of Manchester
16.9.1 Suzanne Robertson, The Atlantic System Guild Ltd.: "Intro"
"Volere" template to define and manage a Requirement Engineering Network (ER-diagram) for analysis.
This has 5 kinds of items: Project Drivers, Project Constraints, Functional Requirements, Non-Functional Requirements, Project issues (misc.).
A tailorable process for all this.
Ex. CoCoMo-2: project constraints (platform, budget, schedule etc.) may translate into product specifications.
Have a "waiting room" for possible new requirements and releases.
16.9.2 Bashar Nuseibeh, Imperial College: "Intro"
Requirements vs. designs influence each other mutually, so a spiral model. Also needs to look at underlying business processes. No clear distinction between development and maintenance. How to achieve architectural stability in spite of requirements volatility? Are "goals" more stable? Schedule is the important variable: features are a dependent variable that must be prioritized according to this.
Is stronger market competition shortening the life of requirements?
But: need requirement analysis as a separate activity, not just as a "post-documentation" of some design.
On the other hand: a growing mass market for software components that we are faced with marginal tailor ability.
But software product lines are not mature yet.
16.10 Status reports, chair: Michael Ashton, MoD-DERA
16.10.1 Nazim Madhavji, McGill University, Montreal: "Canada"
Industrial initiative: www.cser.ca (CSER).
OO maintainability: Lionel Briand
PSP, requirement evolution: Nazim Madhavji
16.10.2 Kai-Yuan Cai, Beijing Astronautical University.: "China"
Various works: formal models, environments.
16.10.3 Reidar Conradi, NTNU: "Europe"
PML work is not so fruitful.
16.10.4 Brian Chatters, ICL: "UK"
SPICE: > 1200 assessments.
DSDM: 244 members in Europe.
SPINs: hard to establish, 20 – 25 attendees.
Evolution drivers by new technologies.
Ca. 450 ESSI PIEs
16.10.5 Dewayne Perry, University of Texas at Austin: "USA"
How to merge software process, workflow and CSCW?
But heavy interest in software architecture and incremental development.
Cost/time more important than low defect rate.
Agenda:
16.11 Setting up a research agenda, chair: Colin Tully
Four panelists. Option of presenting an opening position (maximum 5 minutes).
Objectives:
- leading to –
Business vs. software process.
Evolution and feedback: what is learned?
Requirement engineer: a mix of God and Superman, now too technical. Find stakeholders.
Evolution: software engineering as "maintenance".
Interdisciplinary research methods!
Description vs. prescription: qualitative vs. quantitative?
Incremental vs. breakdown?
Technology transfer: how to promote?
What is "evolution" and related feedback?
Need a measurement instrument to assess evolution": why, what, by whom, for whom, when, what cost?
Then collect evolution data; later make models, perhaps involving feedback and control.
Value–driven evolution towards end-user quality (=market success), i.e. value-based feedbacks.
Need a theory for coupling evolution in both business and software processes.
Study successful management of software projects.
Study risk management.
Study both successful and failing projects.
Apply different SPI methods to different types of software processes – e.g. process refinement (large organizations) vs. product innovation (small).
How to sustain improvement efforts in a highly volatile technology and market place?
Use Quality Function Deployment (QFD) in software.
Need more flexible IT system.
16.12 Keynote by Barry Boehm, USC:"COCOMO – II for incremental /COTS development"
Shared keynote with ProSim and SOCE (see websites).
Cf. Ian Thorpe: "The IT paradox", about IT (non-)profitability.
Cf. "fields of dreams" movie: Building a (non-used) baseball field on a corn field.
Must include wasted code in estimates.
Implemented by MBASE, using a revised WinWin Spiral model for risk-, benefit- and plan-driven feedback control, with refinements on constraints identification and conflict resolution.
Using a Team WinWin groupware tool, to identify goals and plans.
Users-acquirers – developers – maintainers:
arbitrate between success model-clash for profiles.
MBASE hyperlink Integration Framework from SEI: arbitrate between process, success, product and property models.
Product line domain: should be neither two few sells (too special), nor too many sells (too general).
Life Cycle Anchor Points: first agree upon life cycle objectives ("getting engaged)", then life cycle architecture ("getting married"), lastly initial operational capability ("having the first child)".
Using systems dynamics simulation tool to identify critical paths.
Conclusion:
- IT processes should be treated as part of company work processes, to link to
business value.
- Value–based feedback loops can help to explain anomalies in Laws of
evolution, e.g. 2K, mergers, downsizing, …
Digression: ongoing IEEE SWEBOOK work: not good enough quality.
Workshop summary paper by Manny to a journal. Recommend 3–5 papers for journal publication, or try to get the whole proceedings printed as a Springer LNCS (the latter is preferred)?
Possible next workshop in New Zealand in 2002, hosted by Nazim Madhavji?