Software Engineering (SU) group Reidar Conradi et al. IDI, NTNU, Nov. 16, 2006 (rev.

Download Report

Transcript 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.