IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Software Engineering Beyond the Project Yvonne Dittrich IT-University in Copenhagen.

Slides:



Advertisements
Similar presentations
4th VRE Programme meeting July 2006, Manchester User engagement: five key challenges and strategies for addressing them Chris Ramsden and Kerstin.
Advertisements

The e-Framework Bill Olivier Director Development, Systems and Technology JISC.
Chapter 4 Design Approaches and Methods
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
Systems Engineering in a System of Systems Context
The Software Quality Star: A conceptual model for the software quality curriculum Ronan Fitzpatrick School of Computing, Dublin Institute of Technology,
4.1 Blended approaches: Information Engineering IMS Information Systems Development Practices.
© Dittrich, Eriksén Situated Innovation Yvonne Dittrich Department of Software Engineering and Computer Science Sara Eriksén Department of Human.
Object-Oriented Analysis and Design
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
Thee-Framework for Education & Research The e-Framework for Education & Research an Overview TEN Competence, Jan 2007 Bill Olivier,
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
6.1 Intelligent User Interfaces: achievements and challenges ISE554 The WWW for eLearning.
Provisional draft 1 ICT Work Programme Challenge 2 Cognition, Interaction, Robotics NCP meeting 19 October 2006, Brussels Colette Maloney, PhD.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.
LEFIS W2 Posgraduate Workshop 1 LEFIS, WG 2 Postgraduate studies Meeting, Rotterdam.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
SOA in Higher Education Workshop Service-Oriented Architecture with Thomas Erl, SOA Systems Inc. University of British Columbia Vancouver BC Canada |
UNIT – II ARCHITECTING WEB SERVICES. WHAT ARE WEB SERVICES ? Web Services are loosely coupled, contracted components that communicate via XML-based interfaces.
1M.Sc.(I.T.), VNSGU, Surat. Structured Analysis Focuses on what system or application is required to do. It does not state how the system should be implement.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
© Dittrich designing for changing work and business practices Yvonne Dittrich, Olle Lindeberg Blekinge Institute of Technology Department for Software.
© Dittrich October 15 1 Empirical Software Engineering – What can Ethnography Contribute Yvonne Dittrich IT-University of Copenhagen Software Development.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
CMAA 2010 Owners Forum Joe P. Gionfriddo May 3, 2010 Corporate Engineering Global Construction Manager The Procter & Gamble Company.
ETICS2 All Hands Meeting VEGA GmbH INFSOM-RI Uwe Mueller-Wilm Palermo, Oct ETICS Service Management Framework Business Objectives and “Best.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Man-Sze Li IC Focus Enterprise Interoperability Research Roadmap SME aspects.
Systems Development AIMS 2710 R. Nakatsu. Overview Why do IT projects succeed and fail? Two philosophies of systems development –Systems Development Life.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
IS Methodologies. Systems Development Life Cycle - SDLC Planning Planning define the system to be developed define the system to be developed Set the.
Introduction to Systems Analysis and Design
1 Introduction to Software Engineering Lecture 1.
The Systems Development Life Cycle
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
Introduction Infrastructure for pervasive computing has many challenges: 1)pervasive computing is a large aspect which includes hardware side (mobile phones,portable.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Produced in cooperation with: HP Technology Forum & Expo 2009 © 2009 Hewlett-Packard Development Company, L.P. The information contained herein is subject.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Software Engineering Introduction.
Ethnography on and in Software Engineering
CERN IT Department CH-1211 Genève 23 Switzerland t Migration from ELFMs to Agile Infrastructure CERN, IT Department.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
1 Requirements Engineering for Agile Methods Lecture # 41.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
Advanced Software Engineering Dr. Cheng
CompSci 280 S Introduction to Software Development
Chapter 1- Introduction
The Development Process of Web Applications
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 18 Maintaining Information Systems
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Chapter 9 – Software Evolution and Maintenance
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Chapter 27 Software Change.
Presentation transcript:

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Software Engineering Beyond the Project Yvonne Dittrich IT-University in Copenhagen Software Development Group

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Roadmap  What is a project in software engineering?  Examples of software development practice  Inhouse software development at a telecommunications provider  Product development I: a booking system for municipalities  Product developement II: communication between municipalities and citizens  Product development III: GUI framework for high-end mobile phone  What are the challenges for software engineering?  And back to the ESP network.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S ‘A project is a managed set of interrelated resources that delivers one or more products to a customer or end user. It has a beginning and an end and typically operates according to a plan. A project can be composed of projects.’ Definition from the ©CMMI What is a ‘Project’?

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S A ‘Project’...  is regarded as opposite of routine work.  has the goal to develop a product.  requires different expertises.  requires coordination of sub tasks.  has to cope with limited expertise, budget and time.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S What is problematic with the SE perspective on software projects?  Projects are regarded as closed units that should only have controlled interfaces to the rest of the world.  The influences from the environment is regarded as disturbance.  They are organised disregarding history and future.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Inhouse software development at a telecommunications provider  Participants: a telecommunication provider, a small software developer and the university  Case: a business application to administrate contracts and compute payments based on the contracts and triggered by certain events  Context: rapidly changing business practices require a flexible adaptable system

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S ‘Beyond the project’  Developers and users cooperate in the projects, in some cases since several years.  The history of the systems relevant for the state of affairs and future development.  Developers are responsible for maintenance as well.  The individual programs are part of a complex infrastructure. The development has to be coordinated across the infrastructure.  The discussed system is already the 2nd version, the need to develop a new version is already on the horizon.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Product development I: booking systems for municipalities  Participatory Design in the wild: the one-stop shop designs the IT infrastructure  ’The Designers? That’s us!’  Who is designing what, when for whom?  shifting foci of design  no clearly cut projects, but a diversity of interlaced practices of design and use  flexibilisation of software processes

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Looking at ’the best’ software provider  a 5 person company selling an off-the-shelf booking system:  using the support line to collect feed back and improvement proposals  user meetings for the same purpose and to develop a community of mutually supportive users  recruiting pilot users for major changes  ca 20 releases/year for error fixes and small improvements.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Beyond the Project  Where is the project gone?  Continuous development in tight reaction to the issues raised via the support line.  Developments in the use context can be accommodated rapidly by the development.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Product development II: citizen participation via internet  Again a small software provider who develops mainly for municipalities  Because of recurring requirements the software was split into a number of configurable modules that can easily be plugged together.  And again: an agile development practice.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Beyond the Project  Implementing agile development principles, the projects are closely coordinated with the developing requirements of the customer.  The product is based on configurable modules. Conversely, the projects motivate the further development of new modules.  Domain specific expertise developed of years and projects is the the base for each specific project.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Product development III: UI-framework for high end mobile phones  The development of the framework takes place parallel and through application development for owners and customers.  Through these projects, expertise regarding technical areas and also interaction design is developed and maintained through the different projects.  E.g. the interaction design group built up and maintains contact to a network of pilot users that is used to recruit participants for usability tests, focus groups and field studies.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Beyond the Project  Expertise is not developed for a specific project or product but related to a technical or design domain.  The product is split in a general framework part and a application specific part.  In and though each project both levels are developed.  Expertise regarding domain and methods as well as the necessary infrastructure is developed to support a serious of development projects.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Summing up  ‘The project’ is a social construct to isolate part of an ongoing interlace of different development activities in order to better control that part.  Projects therefore should be explicitly coordinated with parallel developments and take the history and the future development into account.  Software products are developed and in layers - this layered development has to be supported by the technical design.  The development on the different layers has to be coordinated.

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Related Work  Software Evolution (Lehmann)  framework based development, domain analysis, generative programming, programming language technology  product line architecture, variability management  End-User Development, End-User tailoring  agile software development  software development as co-operative work, knowledge management But…

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S Back to the ESP-Network  What kinds of techniques are applicable for what kinds of software products?  How to coordinate development on different levels and in different contexts methodologically and technically?  How to communicate design rationale across several cycles of evolution.  What are the implications for software development processes and methods?

IT-Universitetet i København Rued Langgaardsvej 7 DK-2300 København S The presentation is based on: Y. Dittrich, O. Lindeberg Designing for Changing Work and Business Practices. In: N. Patel (ed.) Evolutionary and Adaptive Information Systems, Idea: Y. Dittrich, O. Lindeberg How use-oriented development can take place. Organising Software Development to allow for User-Developer Co-operation. Information and Software Technology 46 (2004), No. 9, pp Y. Dittrich, S. Eriksén, C. Hansson PD in the Wild: Evolving Practices of Design in Use. PDC 2002, Malmö, Sweden. C. Hansson, Y. Dittrich, D. Randall How to Include Users in the Development of Off-the- Shelf Software: A Case for Comple-menting Participatory Design with Agile Development. HICCS, January 4-7th C. Hansson, Y. Dittrich, B. Gustafsson, S.Zarnak How Agile are Industrial Software Development Practices? Accepted by the Journal of Systems and Software. K. Rönkkö, B. Kilander, M. Hellman, Y. Dittrich Personas is not Applicable: Local Remedies Interpreted in a Wider Context. PDC 2004, Toronto, July , Y. Dittrich Doing Empirical Research in Software Engineering – finding a path between understanding, intervention and method development. In: Y. Dittrich, Chr. Floyd, R. Klischewski (eds.) Social thinking – Software practice. MIT Press: 2002.