Software Engineering (SU) group Reidar Conradi et al. IDI, NTNU, Nov. 16, 2006 (rev.
Download ReportTranscript Software Engineering (SU) group Reidar Conradi et al. IDI, NTNU, Nov. 16, 2006 (rev.
1 Software Engineering (SU) group Reidar Conradi et al. IDI, NTNU, Nov. 16, 2006 (rev. 20.11.06) http://www.idi.ntnu.no/grupper/su/su-pres-16nov06.ppt http://www.idi.ntnu.no/grupper/su/ [email protected] Reidar Conradi, 16 Nov. .06 2 NTNU in short • Established as NTH in 1905, now NTNU since 1996. • Seven faculties, 53 departments. • 20 000 students, 1700 scientific personnel. • IME: Faculty of IT, Mathematics and Electrical Engineering. • IME: five departments, incl. IDI: Dept. of Computer and Information Science. • IDI: 50 teachers, 75 PhD fellows,10-12 PhD candidates and 150 master candidates per year. Over 100 taught topics. • IDI: Ten research groups, incl. SU group. 3 SU: Who we are – what we do IDI’s software engineering group: • Five faculty members: Reidar Conradi, Tor Stålhane, Letizia Jaccheri, Monica Divitini, Alf Inge Wang. • Four postdocs: Jingyue Li, Ekaterina Prasolova-Førland, Sobah Abbas Petersen, Carl-Fredrik Sørensen. • 17 active PhD-students, common theme: empirical sw.eng. research • 30 MSc-cand. per year • Research-based education: students participate in projects, project results are used in courses • A dozen R&D projects, basic and industrial, in all our research fields – industry is our lab. • Half of our papers are based on empirical research, and 25% are written with international co-authors. 4 Teachers (1): prof. Reidar Conradi • • • • Born in Oslo, 1946 MSc (1970) and PhD (1976) from NTNU At SINTEF 1972-75, later at NTNU Interests: software quality and process improvement, CBSE/COTS/OSS, distributed systems, versioning. • Projects: mostly in SU group 5 Teachers (2): prof. Tor Stålhane • Born in Skien, 1944 • MSc (1970) and PhD (1988) from NTNU • At SINTEF 1970-2000, prof.II at UiS since 1997, at NTNU since 1 Oct. 2000 • Interests: software quality (especially safety and reliability), process improvement, industrial development, data analysis (statistics) and empirical methods • Projects: SPIKE/EVISOFT, WebSys, BUCS, ... 6 Teachers (3): prof. M. Letizia Jaccheri • • • • Born in Pisa, 1965 MSc (1988) in Pisa, PhD (1994) in Torino Politecnico di Torino 1991-97, NTNU since 1997 Interests: empirical software engineering, software architecture, OSS/COTS, software and art, software engineering education • Projects: E3, INCO (past), Simula Research Lab, software engineering education, CRIT 7 Teachers (4): prof. Monica Divitini • Born in Tirano, Italy, 1964 • MSc (1991) in Milano, PhD (1999) in Aalborg • University of Milano 1994-97, NTNU since 1997, first as a CAGIS postdoc 1997-99 • Interests: CSCW, community-ware, mobile technology for education. • Projects: CO2 Lab, MOTUS and MOTUS2 (NTNU LIKTprogram), projects with Telenor R&D, ASTRA (EU), FABULA (NFR’s VERDIKT-program). 8 Teachers (5): dr. Alf Inge Wang • Born in Levanger, 1970 • BSc (1993) HiST, MSc (1996) NTNU, researcher at NTNU in 1996, PhD March 2001 • Interests: Software architecture, agents/XML, configuration management, process modelling, XP, mobile technology for work support. Also music, football and family life. • Projects (past): ESERNET (EU), CAGIS, MOWAHS • Thesis: Agent-based process support 9 SU motivation • Software essential in many important societal activities. 50-60,000 system developers in Norway – many without formal SW education. Still many challenges wrt. software quality and delivery on time and budget; cf. [US Standish report, 1995], cited in [PITAC, 1999], on projects for tailored software: – 31% stopped before finish, 81 bill. $ loss/year (1% of GNP!) – 53% have serious overruns (189% average), 59 bill. $/year • Some challenges: – – – – – – – Web-systems: Manage time-to-market (TTM) vs. reliability? Component-based development (OSS, COTS): quality, risks Business critical systems How do software systems evolve over time, cf. Y2K? What is empirically known about software products and processes? How can small companies carry out systematic improvement? How to perform valid sw.eng. research in a university -- by student projects and having industry serving as a lab? 10 Public project success factors (1) However, the critical 12 factors are the ”softer” ones : • • • • • • • • • • • • Effective project planning Effective project cost estimating Effective project measurements Effective project milestone tracking Effective project quality control Effective project change management Effective development processes Effective communications Capable project managers Capable technical personnel Significant use of specialists Substantial volume of reusable materials See Capers Jones: ”Government Software Projects Rank High in Major Critical Success Factors”, Crosstalk, Jan. 2002, p. 19 (factors taken from own 1995 book), www.stsc.hill.af.mil/crosstalk/2002/01/jones.pdf. 11 General project failure factors (2) Why do projects fail so often? - the most common 12 factors : • • • • • • • • • • • • Unrealistic or unarticulated project goals Inaccurate estimates of needed resources Badly defined system requirements Poor reporting of the project's status Unmanaged risks Poor communication among customers, developers, and users Use of immature technology Inability to handle the project's complexity Sloppy development practices Poor project management Stakeholder politics Commercial pressures See Robert N. Charette: “Why software fails - continued” (part 2), IEEE Spectrum, 42(9):42-49, Sept. 2005, see http://www.spectrum.ieee.org/sep05/1685/2 with over 30 failed projects in “software hall of shame”. 12 Research fields of SU group (1) • • • Software Quality: reliability and safety, software process improvement, process modelling Software Architecture: CBSE with COTS/OSS, evolution Co-operative Work: learning, awareness, mobile technology, project work What is important for us: • Empirical methods and studies in industry and among students, experience bases. • Software engineering education: partly project-based. • Tight cooperation with Simula Research Laboratory/UiO and SINTEF, 15-20 active companies, Geomatikk, Telenor R&D, Abelia/IKT-Norge etc. 13 Research fields of the SU group Software quality CBSE: COTS/OSS, Evolution, SCM Software architecture Reliability, safety SPI, learning organisations Distributed Software Eng. Co-operative work Software Engineering Education Mobile technology 14 SU research projects, part 1 Supported by NFR: 1. CAGIS-2, 1999-2002: distributed learning environments, COO lab, Ekaterina Prasolova-Førland (Divitini). 2. MOWAHS, 2001-04: mobile technologies, Carl-Fredrik Sørensen (Conradi); coop. with DB group. 3. INCO, 2001-04: incr. and comp.-based development, Parastoo Mohagheghi at Ericsson (Conradi); with Simula/UiO. 4. WebSys, 2002-05: web-systems – reliability vs. time-to-market, Sven Ziemer and Jianyun Zhou (Stålhane). 5. BUCS, 2003-06: business critical software, Jon A. Børretzen, Per T. Myhrer and Torgrim Lauritsen (Stålhane and Conradi). 6. SEVO, 2004-2007: software evolution, Anita Gupta and Odd Petter N. Slyngstad (Conradi), with Statoil-IT. 7. SPIKE, 2003-05: industrial sw process improvement, Finn Olav Bjørnson (Conradi); with Simula/UiO, SINTEF, Abelia, and 10 companies - successor of SPIQ and PROFIT. 8. EVISOFT, 2006-10, empirically-driven process improvement, Geomatikk, 10 companies, Simula, SINTEF (two PhD students). 9. NorskCOSI, 2006-2008: OSS in European companies, IKT-Norge and three companies, C.-F. Sørensen, Øyvind Hauge (Conradi). 15 SU research projects, part 2 IDI/NTNU-supported: • Software safety, 2002-06: Siv Hilde Houmb (Stålhane). • Component-based development, 2002-06: OSS survey, Jingyue Li (Conradi). Now extended, coop. with prof. Liu at BJUT in 2005-2007. • CRIT: Creative methods in Education/software and art, 2003-4 (NTNU): novel educational practices, no PhD, Jaccheri at IDI w/ other dept. • MOTUS and MOTUS2, 2002-2006 (NTNU), pervasive and cooperative computing, Birgit R. Krogstie (Divitini), Telenor R&D. Supported from other sources: • ESE/Empirical software engineering, 2003-06 (SU funds): open source software, Thomas Østerlie (Jaccheri). • ESERNET, 2001-03 (EU): network on Experimental Software Engineering, no PhD, Fraunhofer IESE + 25 partners. • Net-based cooperation learning, 2002-05 (HiNT): learning and awareness, COO lab, Glenn Munkvold (Divitini). • ASTRA EU project on cooperation technology, 2006-2009: one PhD student and one postdoc, Monica Divitini. 16 Ex. New EVISOFT project: Evidencebased Software Improvement • NFR industrial R&D project, 2006-10. NTNU, SINTEF, UiO/Simula, Geomatikk. 3 PhD students (NTNU, UiO), 10 part-time researchers, 10 active companies. NFR funding: 8 mill. kr/year. • Project manager: Tor Ulsund, Geomatikk. • Builds on SPIQ (1996-99), PROFIT (2000-02), SPIKE (2003-2005) • Help (“facilitate”) IT companies to improve, by pilot projects in each company: e.g. on cost estimation and risk analysis, UMLdriven development, agile methods, component-based software engineering (CBSE) – coupled with quality/SPI efforts. • Couple academia and industry: win-win in profile and effect, by action research. • Empirical studies – in/across companies and with other projects • General results: Method book, reports and papers, experience clusters, shared meetings and seminars 17 Ex. Project model in EVISOFT Dissemination Common projects (generalization) Dissemination Company project (pilot project) Plan Do Check Development/implementation project Act Next company project 18 Ex. Possible CBSE work topics for a company in EVISOFT project • • • • • • • • • Get an overview of present products and processes? What are the new service-oriented architectures (SOA)? How to evolve old to new applications? What software components: internal, outsourced, OSS, COTS? Guidelines to help evaluate, select and integrate components? Arbitrate requirements vs. available components? Decide proper increments? Risk management in all this? What are the relevant data: size, defects, …? 19 Ex. Possible error analysis topics for a company in the EVISOFT project • Plan: E.g. analyze trouble reports to identify frequent trouble sources and possible causes and remedies. Are different systems having different trouble profiles, e.g. related to CBSE? • Do: Implement one or more remedies and follow up • Check: Did it help – less defects? • Act: Change process to include new remedies and disseminate results.