Slide 1 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Incremental and Component Based Development Jan. 25, 2000 (rev. 26.1, and 5.2) Dag Sjøberg, Dept. Informatics, Univ. Oslo Reidar Conradi, IDI, NTNU Tel , Fax Tel , Fax
Slide 2 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO motivation (1) Software essential in today’s products and activities ,000 system developers in Norway -- too few qualified? US Standish report (1995), cited in PITAC report (Feb. 1999, ) on projects for tailored software: –31% dead-before-delivery, 81 bill.$ loss/year,1% of GNP! –53% have serious overruns (189% average), 59 bill.$/year ComputerWorld, IT-magasinet, 12 Jan. 2001: –”Dødsstøtet for skandaleprosjekter” –”Metoden som revolusjonerer programutvikling” –I.e. use Rational Unified Process for UML, an incremental method General: –Web-systems: How to manage time-to-market vs. reliability? –What is empirically known about software products and processes? –Need empirical studies among students, and in industry!
Slide 3 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO motivation (2) Need revolution in development paradigms: waterfall is dead, “internet” time, COTS, reduce risks. Incremental development: gradual delivery and clarification, using e.g. RUP and DSDM. Rqmts architectural design: constant negotiation! Component-based development, using OO / Components-Off-The-Shelf (COTS) -- but how to manage the risks? Industry hungers for better methods, specially in new net-applications.
Slide 4 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO motivation (3) Ex. Failed “long-duration” projects: –TRESS, Rikstrygdeverket, , > 1,2 mrd. kr lost -- floating rqmts, but fixed budget and price. –Iridium satellite telecom system, : 10(?) bill. $ lost. Ex. Ericsson priorities: –Faster, better, cheaper -- in that order. Ex. Some “dot.com” projects: – 2-4 weeks, e.g. in TV2, Infostream, and ICON Medialab.
Slide 5 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO motivation (4): Barry Boehm’s COCOMO-II Incremental development using COTS. Initial, iterative steps e.g. to scale and refocus project.
Slide 6 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Incremental and Component-Based Development (1) Newly accepted NFR basic R&D project, Participants: –Dag Sjøberg et al., UiO (coord.) –Reidar Conradi et al., NTNU –3 PhD-students: Helge Koren, Parastoo Mohagheghi, NN –One postdoc: Marco Torchiano. Budget: 7 mill. kr totally. Link to Simula-center/IT-Fornebu and PROFIT project. Strong industrial and international cooperation.
Slide 7 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO goals (2) G1) Advancing the state-of-the-art on incremental/component-based software development. G2) Advancing the state-of-the-practice in software-intensive industry and for own students on INCO themes. G3) Building up a national competence base around these themes. G4) Disseminating and exchanging the knowledge gained.
Slide 8 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO approach, iterative (3) 1)Propose, refine and validate enhanced technologies for INCO themes, with UML and RUP, and using COTS (R1 later). 2)Derive a menu of PhD study topics with industry, our “software laboratory” (R2). 3)Conduct two phases of technology development and empirical studies, at univ. and in industry (R3). 4)Assemble and disseminate the results (R4).
Slide 9 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO results (4) R1) A set of improved technologies for INCO themes (G1). R2) Guidelines for training software developers and for achieving organisational learning in INCO themes (G2). R3) A body of experiences from empirical studies of such technologies (G3). R4) General presentation material, new/revised courses, new national seminar on INCO themes (G4).
Slide 10 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: What is incremental development (1)? Main issue: reduce the risks with long development times -- get early prototypes/deliveries. Time-boxing. Ex. Annotate and try out RUP. E.g. in new Genova method by Genera, w/ UiO and PROFIT support. (Genera is Rational’s first European cooperation partner). Ex. Improve and try out DSDM (Dynamic System Development Method), e.g. Computas. Also HP Fusion, Catalysis, Spiral -- all old, and Extreme Programming by Microsoft.
Slide 11 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: What is incremental development (2)? Some characteristics of incr. dev.: –What method (RUP etc.) used -- followed “as is”? –Length of increment, can it be dynamic? –Persons per increment, varying during increment? –Number of increments per project? –Timeframe of entire project? –Number of phases (analysis, design, …) per incr.? –Data collection to improve development process? –...
Slide 12 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Incremental development, issues (3)? Some open issues: –Length of increment, # phases involved? –How to manage time-to-market vs. traditional qualities? How to manage the risks in general? –Estimation models for this, based on Use Cases? –Coupling to COTS? –What projects are most well-suited for this? –What training is required from developers and managers? –What of this works in practice? -- need studies! –...
Slide 13 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Component-based development (1)? Component: any software artifact, most often design and code. Both at the source level (cf. CORBA) and for enveloped object code (cf. DCOM). So must relate to new middleware. Need guidelines to make and evolve components. Need traceability across phases to (re)negotiate requirements. Need software repositories, e.g. on the web. Need revised development models/methods, cf. incremental approaches.
Slide 14 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Component-based development (2)? Ex. OO frameworks (“coupled” libraries), e.g. BRIX framework from Veritas Software or Parlay for telecom. Ex. Domain-specific patterns, as abstract modules. Ex. Software architectures, as product lines. Ex. NASA from 25% to 80% reuse in : 2X productivity, defect rates to 1/4. Biggest single gain of any new technology. Ex. REBOOT project: 30-50% extra cost in first project, 20-30% gain in later projects + savings in maintenance. => Break-even after two reuses (3 applic.). Ex. Similar experiences from Ericsson Radar, Hewlett-Packard, Bull, Philips, Nokia, …
Slide 15 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Component-based development (3)? Large potential to save costs and time, increase traditional quality, standardize architectures,... But no easy task, i.e. no silver bullet: –Component repositories “either empty or filled with rubbish” (Poulin, 1995). –“Reusable components are discovered, not planned” (Ralph Johnson, 1995). –Difficult architectural issues: design for future reuse/COTS, otherwise “plug and pray”. –Difficult coordination across product lines and projects. –Investing now for an uncertain future -- like for SPI, QA, and metrics programs. So cannot “afford it”, but sw = capital!
Slide 16 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Component-based development (4)? Until recently, reuse was internal, now increasingly based on external COTS. Ex. Checklist for COTS risks: –Missing functionality to be delivered? –Promised functionality delivered late? –Delivered with inadequate documentation? –Extra training needed? –What, if any, control of future evolution? => Make revised estimation models for INCO topics wrt. risks/costs.
Slide 17 INCO: INcremental and COmponent-Based Development, new NFR R&D project INCO: Empirical methods Need to apply valid empirical studies, on students and in industry, e.g. as: –Theoretical studies (of literature) –Data mining (of past projects) –Field studies (how a company works in general) –Case studies (of concrete industrial projects) –Controlled experiments (mostly for students) Will refine a method base for INCO, based on earlier work e.g. in PROFIT. Shared experience bases for results. At new Simula-center/IT-Fornebu: an experimental lab for observational studies of sw dev. is planned.
Slide 18 INCO: INcremental and COmponent-Based Development, new NFR R&D project Some own empirical studies Ex. Reuse studies at Genera, Mogul, Veritas. Ex. Incr. dev. at Genera, Ericsson, Infostream. Ex. Estimation models, at Telenor 4tel,... Ex. SW maintenance studies at Telenor 4tel. Ex. Experience bases at ISI, Computas, Mogul. Ex. Repeating the above on own students. New studies on C-B dev. at NERA?, Ericsson?
Slide 19 INCO: INcremental and COmponent-Based Development, new NFR R&D project Work mode with industry Perform “live” empirical studies, as part of joint research projects (PROFIT, INCO, …). Use industrial cases/examples in regular education, e.g. Ericsson SPI/QA work. Project/diploma/PhD theses: many possibilities to mobilize own resources. Build long-term alliances: => Seek relevance and benefit for both parties!
Slide 20 INCO: INcremental and COmponent-Based Development, new NFR R&D project Ex. Possible joint activities with industry MUNIN: –Offer add-on method support for developing multimedia/mobile applications in a rapid way. –Guidance in developing/using COTS/frameworks. –Perform empirical studies. PATT/Parlay: similar, both for applications and platforms. HiA’s “The mobile student”: similar + applying such technologies/applications on own students. MOWAHS: use INCO methods in MOWAHS.
Slide 21 INCO: INcremental and COmponent-Based Development, new NFR R&D project Work mode with int’l colleagues Exchange theories, models, experiments, experiences, … Some joint seminars/workshops and papers. Mutual projects. Exchange of researchers and students. Candidates: USC (Boehm) and U. Maryland (Basili) in CeBASE (new NSF/ITR project), IESE/Univ. Kaiserslautern, Univ. Lund, … ISERN researcher network, new ESERNET Network of Excellence in EU.
Slide 22 INCO: INcremental and COmponent-Based Development, new NFR R&D project SPIQ/PROFIT: better software quality for Norwegian IT industry NFR industrial R&D project. Jointly with Univ. Oslo and SINTEF in , PhD students, 4-6 researchers. 10 active companies. Lead by Bravida Geomatikk (Telenor), attn/Tor Ulsund. How to help smaller companies to improve? Need insight from organizational sciences! Pilot projects in companies, over 20 such. Empirical studies, experience bases Method book (in Norwegian)
Slide 23 INCO: INcremental and COmponent-Based Development, new NFR R&D project SPIQ/PROFIT (2): PhD students etc. Torgeir Dingsøyr, NTNU: experience bases, doing field studies in pilot project at Computas, at Univ. Kaiserslautern in Spring 2001 Tore Dybå, NTNU: success factor for successful software process improvement, large gallup toward Norwegian IT industry, consulting in many pilot projects towards industry Erik Arisholm, UiO: incremental sw develpoment Coworkers: Nils Brede Mo, Tor Stålhane and Tore Dybå, SINTEF; Dag Sjøberg, UiO; and others
Slide 24 INCO: INcremental and COmponent-Based Development, new NFR R&D project NAWUS: teaching network in software engineering education Done by Ifi/UiO and IDI/NTNU in , coordinator Magne Jørgensen, Ifi. Web portal with shared educational material: lecture notes, exercises, project descriptions, repeatable experiments. Bias towards Ian Sommerville’s book? A dozen cooperating colleagues in universities and colleges
Slide 25 INCO: INcremental and COmponent-Based Development, new NFR R&D project SFF-Fornebu: Simula Center of Excellence in Software Engineeering ( Senter for Fremragende Forskning ) Proposed by Ifi/UiO (Dag Sjøberg) and IDI/NTNU (Reidar Conradi), July 1999 Accepted part of SFF-Fornebu, Nov Decentralized: Fornebu, Oslo, Trondheim Budget of 10 mill. NOK per year (?). 25 teachers, researchers & PhD students; MSc students.
Slide 26 INCO: INcremental and COmponent-Based Development, new NFR R&D project SFF and cooperating partners (2) SFF SE (UiO/NTNU) SINTEF DnV, Telenor,... …> 20 Norw. Compan., partly in PROFIT NTNU T.heim Int’l contacts ISERN netw o rk Other projects
Slide 27 INCO: INcremental and COmponent-Based Development, new NFR R&D project SFF- Scientific Profile (3) Six themes : Research method: Model construction and subsequent validation in industry, among students and through international cooperation.
Slide 28 INCO: INcremental and COmponent-Based Development, new NFR R&D project SFF: Industry is our lab! (4) Both IDI, NTNU and Ifi, UiO has had an industrial focus over some time. We expect that SFF-Fornebu will offer even better possibilities for industrial cooperation. Since 1993 we have published the following published papers, 1/3 based on industrial cooperation:
Slide 29 INCO: INcremental and COmponent-Based Development, new NFR R&D project SFF: Published papers per June 2000, based on industrial cooperation (5)
Slide 30 INCO: INcremental and COmponent-Based Development, new NFR R&D project 1. Professor Chunnian Liu, dr.ing. (NTH 1983). Beijing Polytechnic University, PBR China, Area: software engineering, process support, distributed systems. 2.Professor Alfonso Fuggetta, Politecnico di Milano, Italy, Area: software engineering, software architecture, feature engineering, middleware. 3.Professor dr. Claes Wohlin, Telecom, Lund Techn. Univ., Sweden, Area: software engineering, testing, requirement analysis, software process improvement (SPI), metrics. 4.Professor dr. Hans-Dieter Rombach, Univ. Kaiserslautern and Fraunhofer Inst. for Experimental Software Engineering (IESE), dir. at IESE. IESE areas: SPI and software quality, reuse, component-based sw.eng., metrics, empirical studies, experience bases. 5.Prof.s dr.s Victor R. Basili and Marvin Zelkowitz, Univ. of Maryland, with a sister institute of IESE in software engineering (FC-MD). Area: SPI and software quality, inspection techniques, COTS, experience bases, metrics, empirical studies. 6.Associate Professor Lionel C. Briand, Ph.D. (Paris, France), Carleton Univ. (Ottawa), Area: Inspections and testing in OO software. Software quality assurance and control. Project planning and risk analysis. Technology evaluation, Experimental SW engineering. 7.Professor Ray Welland, Head of Computing Science Department, University of Glasgow, Area: software engineering, Web application development, software tools, design methods. 8.Professor Malcolm Atkinson, University of Glasgow, Area: Persistent programming, language design, (distributed) information systems, software engineering. SFF: International cooperating partners, with some candidates for guest researchers/adjunct teachers (6)