300 likes | 548 Views
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 www.ifi.uio.no/isu Tel +47 22.852742, Fax +47 22.840072 www.idi.ntnu.no/grupper/su/inco.html Tel +47 73.593444, Fax +47 73.594466.
E N D
INCO: Incremental and Component Based Development Jan. 25, 2000 (rev. 26.1, and 5.2)Dag Sjøberg, Dept. Informatics, Univ. OsloReidar Conradi, IDI, NTNU www.ifi.uio.no/isu Tel +47 22.852742, Fax +47 22.840072www.idi.ntnu.no/grupper/su/inco.html Tel +47 73.593444, Fax +47 73.594466
INCO motivation (1) • Software essential in today’s products and activities. 50-60,000 system developers in Norway -- too few qualified? • US Standish report (1995), cited in PITAC report (Feb. 1999, www.itrd.gov) 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!
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.
INCO motivation (3) • Ex. Failed “long-duration” projects: • TRESS, Rikstrygdeverket,1989-1994, > 1,2 mrd. kr lost -- floating rqmts, but fixed budget and price. • Iridium satellite telecom system, 1977-1999: 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.
INCO motivation (4): Barry Boehm’s COCOMO-II • Incremental development using COTS. Initial, iterative steps e.g. to scale and refocus project.
INCO: Incremental and Component-Based Development (1) • Newly accepted NFR basic R&D project, 2001-04. • 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.
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.
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).
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).
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.
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? • ...
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! • ...
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.
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 1985-1993: 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, …
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!
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.
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.
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?
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!
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.
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.
SPIQ/PROFIT: better software quality for Norwegian IT industry • NFR industrial R&D project. Jointly with Univ. Oslo and SINTEF in 1997-99, 2000-02. 3 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)
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
NAWUS: teaching network in software engineering education • Done by Ifi/UiO and IDI/NTNU in 1998-99, 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
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. 2000 • Decentralized: Fornebu, Oslo, Trondheim • Budget of 10 mill. NOK per year (?). • 25 teachers, researchers & PhD students; 30-40 MSc students.
SFF and cooperating partners (2) Int’l contacts ISERN network Other projects SINTEF DnV, Telenor, ... …> 20 Norw. Compan., partly in PROFIT SFF SE (UiO/NTNU) NTNU T.heim
Six themes: SFF- Scientific Profile (3) Research method: Model construction and subsequent validation in industry, among students and through international cooperation.
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:
SFF: Published papers per June 2000, based on industrial cooperation (5)
SFF: International cooperating partners, with some candidates for guest researchers/adjunct teachers (6) 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.