17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS



Similar documents
15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

Formal Concept Analysis used for object-oriented software modelling Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg

Literaturliste Software Engineering (wird ergänzt)

Evaluation of Students' Modeling and Programming Skills

Customer Intimacy Analytics

Quality Assurance by Means of Feature Models

Software Construction

Organization. Introduction to Software Engineering

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering

Ontologies in the Software Engineering process

Project Management in Software: Origin of Agile

Conference Proceedings and Journal Publications

Developing Web-based Applications through e-prototyping

Demonstration of an Automated Integrated Test Environment for Web-based Applications

25.1 Translational Frameworks (MDA with transformations)

Development of Tool Extensions with MOFLON

Opportunities and Challenges in Software Engineering for the Next Generation Automotive

Component-Based Software Engineering (CBSE) Announcements

for High Performance Computing

System development lifecycle waterfall model

Status Quo Agile success and forms of usage hybrid and selective approaches

Introduction to Geventis. Registration for the MIN Graduate School (MINGS)

How to Write a Paper and Get It Published

Multi-Channel Distribution Strategies in the Financial Services Industry

Including the Microsoft Solution Framework as an Agile Method into the V-Modell XT

Agile Test-based Modeling

Scaling Down Large Projects to Meet the Agile Sweet Spot

Agile Software Development Methodologies & Correlation with Employability Skills

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Secure Embedded Systems eine Voraussetzung für Cyber Physical Systems und das Internet der Dinge

Software Development Going Incremental, Iterative and Agile:

Buyout and Distressed Private Equity: Performance and Value Creation

Research Associate at Universität Hamburg. Research Associate at University of Bath

Why process models? Topic 3 Software process models. 3. Process models. What is a process model?

Real Time Embedded Software Development Using Agile Technology An Experience Report

Hamid Faridani March 2011

Datawarehousing and Analytics. Data-Warehouse-, Data-Mining- und OLAP-Technologien. Advanced Information Management

Comparative Analysis of Different Agile Methodologies

1 Business Modeling. 1.1 Event-driven Process Chain (EPC) Seite 2

RISK MANAGEMENT IN COMPANIES A QUESTIONNAIRE AS AN INSTRUMENT FOR ANALYSING THE PRESENT SITUATION

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

Enterprise Architecture

Comparing Agile Software Processes Based on the Software Development Project Requirements

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Hochschule Esslingen University of Applied Sciences

Requirements Engineering on the Transition to Product and Innovation Management

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

E-Commerce Opportunities for a Commercial Vehicle Industry System Supplier. Bachelorarbeit

Managing the Agile Process of Human-Centred Design and Software Development. Peter Forbrig & Michael Herczeg. Universität Rostock & Universität Lübeck

CS4507 Advanced Software Engineering

Contributions To Ontology-Driven Requirements Engineering

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Seamless Method- and Model-based Software and Systems Engineering

Masters of Science in Software & Information Systems

Targeted Advertising and Consumer Privacy Concerns Experimental Studies in an Internet Context

Agile Software Development Methodologies and Its Quality Assurance

Traditional SDLC Vs Scrum Methodology A Comparative Study

How a German Technical University interacts with the (Railway) Industry

How To Develop A Business Model For Big Data Driven Innovation

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Lecture Softwareengineering-Vertiefung

Towards Collaborative Requirements Engineering Tool for ERP product customization

Boom and Bust Cycles in Scientific Literature A Toolbased Big-Data Analysis

Consistency of Business Process Models and Object Life Cycles

Understanding Software Static and Dynamic Aspects

Test-Driven Automation: Adopting Test-First Development to Improve Automation Systems Engineering Processes

Project Presentation: Usability Optimization based. Monitoring. IWIST-KISTI-Workshop Workshop

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Computer Support for Agile Human-to-Human Interactions with Social Protocols

Software Development Life Cycle (SDLC)

µfup: A Software Development Process for Embedded Systems

Challenges to an Integrated Cost Management during Early Phases of Product Development

Transcription:

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS 1 Prof. Dr. rer. nat. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät Informatik Technische Universität Dresden Version 12-1.1, 20.04.12 1 The EOS process model 2 Managing EOS projects courtesy Prof. Wolfgang Hesse, University of Marburg Softwaremanagement, Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik

Obligatory Literature 2 S. Sarferaz: "Methods and tool support for evolutionary, object oriented software development", Ph. D. thesis, Univ. of Marburg [Hesse 97a] W. Hesse: From WOON to EOS: New development methods require a new software process model; Bericht Nr. 12, Fachbereich Mathematik, Univ. Marburg; and: Proc. WOON 96, 1st Int. Conf. on OO technology, St. Petersburg 1997 [Hesse 97b] W. Hesse: Improving the software process guided by the EOS model. In: Proc. SPI '97 European Conference on Software Process Improvement. Barcelona 1997 [Hesse, Weltz 94] W. Hesse, F. Weltz: Projektmanagement für evolutionäre Software- Entwicklung; Information Management 3/94, pp. 20-33, (1994) [Sarferaz, Hesse 00] S. Sarferaz, W. Hesse: CEOS A Cost Estimation Method for Evolutionary, Object-Oriented Software Development. In.: R. Dumke, A. Abran (Eds.): New Approaches in Software Measurement. Proc. 10th Int. Workshop, IWSM 2000, Springer LNCS 2006, pp. 29-43

References 3 [Beyer, Hesse 2002] Use of UML for software process modelling. Internal report, Univ. Marburg 2002 [Bittner, Hesse, Schnath 95] U. Bittner, W. Hesse, J. Schnath: Praxis der Software- Entwicklung, Methoden, Werkzeuge, Projektmanagement - Eine Bestandsaufnahme, Oldenbourg 1995 [Frese, Hesse 93] M. Frese, W. Hesse: The work situation in software development - Results of an empirical study, ACM SIGSOFT Software Engineering Notes, Vol. 18, No. 3, pp. A-65 - A-72 (1993) [Floyd, Reisin, Schmidt 89] Ch. Floyd, F.-M. Reisin, G. schmidt: STEPS to software development with users; in: C. Ghezzi, J. McDermid (eds.): ESEC 89, 2nd European Software Engineering Conference; LNCS 387, pp. 48-64, Springer 1989 [Hesse, Merbeth, Frölich 92] W. Hesse, G. Merbeth, R. Frölich: Softwaretechnik - Vorgehensmodelle, Projektführung und Produktverwaltung, Handbuch der Informatik Bd. 5.2, Oldenbourg 1992 [Hesse 96] W. Hesse: Theory and practice of the software process - a field study and its implications for project management; in: C. Montangero (ed.): Software Process Tech-nology, 5th Europ. Workshop EWSPT 96; Springer LNCS 1149, pp. 241-256 (1996)

17.1 The EOS Process Model 4 Traditional models do not meet nowadays requirements (cf weaknesses.. ) Existing process models are often too bureaucratic and not (or hardly) scalable The aspect of software evolution is hardly reflected. Component-oriented, distributed and web-based SW development requires flexible and well-adaptable processes. Project management needs more support than a waterfall structure + milestones can offer.

Phase-oriented vs. component-oriented process Process in phases (Phasenmodell): Ph 1 Ph 2 Ph 3... 5 Process structured along product breakdown strukture (PBS, Produktstruktur): X 1 X 2 X 3 S C 21 C 22 Legend: Building block Phase or activity

Objects and features of the software process 6 The PBS (Produktstruktur) consists of following main categories of components: systems components / subsystems classes It is assumed that the PBS is organised in a hierarchy with three level system development structure: (S.) System level (X.) Component level (C.) Class level What are the features of those objects? Attributes: Size, Responsible_person, Start_date_of_work, Delivery_date,... Operations: Development activities: Analysis, Design, Implementation, Operational_Use

Development cycles Each development cycle has the same structure and consists of (.A) Analysis: Define requirements, build model, consult building block (BB) library (.D) Design: Specify and construct BB s (.I) Implementation: Transform designed BB s to code, test, integrate (.O) Operational use: installation, acceptance test, usage, revision 7 Evolutionary development is supported by: Integration of operational use (incl. maintenance and revision) into development cycles Further development and re-use of components Dynamic project planning and control based on cycles and activities

Phases of a Simple Object-Oriented Development Cycle 8 Analysis Use & Operations Use environment Development environment Design planning, analytic activities Implementation synthetic, verifying activities

Combining development cycles in a traditional way Development phases for the components overlap System Analysis SA SO System Op. Use 9 System Design SD SI System Implementation Component Analysis XA XO Subsystem Op. Use Component Design Class Analysis Class Design XD CA CD XI CO CI Subsystem Implementation Class Op. Use Class Implementation

Typical EOS-like Process Structure 10 EOS blends the phases Development cycles intertwined in time C02 X 1 S C01 X 4 C21 X 2 X 3 C31

EOS is Agile with Backlogs 11 As in SCRUM, there is a backlog of prioritized next activities. At the completion of an activity (small or large), EOS allows for replanning, and reprioritization of the activities to perform Also, costs can be estimated anew (agile cost estimation) Very flexible and agile

Metamodel for EOS process elements 12 from: [Beyer, Hesse 2002])

UML activity diagram for system analysis (SA) phase 13

17.2 Managing EOS Projects 14 Softwaremanagement, Prof. Uwe Aßmann, Technische Universität Dresden, Fakultät Informatik

Principles of Managing EOS Projects 15 Management structure follows system structure (PBS) Starting point: the EOS hierarchy levels S-cycle: Global planning (project-wide) X-cycles: Detailed steps (e.g. team work packages) C-Cycles: Activities of single developers Differenciated units of planning and control (on each level) 1st planning stage: development cycle as a whole 2nd planning stage: phases within cycle Dynamic, situative planning (agile) Rather informal planning, "stand by"-management Situation-driven adjustment of plans (backlogs) Frequent plan revisions

Management principles (cont'd) 16 Object oriented workpackages Developers are primarily responsible for objects - not for activities.. Planning refers to objects rather than to activities: Clearly defined responsibilities on S- and X-level: by development (&support) teams (with users participating whereever necessary) on C-level: by single developers or users Transparent planning, reliable plan control Continuous information of teams on the project status Plan revisions at defined points of time ( revision points) Dynamic and adaptable cost and effort estimation based on the EOS process structure, experience data and statistical regression methods [Sarferaz, Hesse 2000] EOS is not time-boxed, but clearly structured along the PBS If the PBS is stable, but it remains unclear, how long it takes to realize the activities, EOS is a very amenable process

Revision points.. replace milestones but are much more differentiated and flexible, because they lie between small or large activities Replanning possible C A H CD C-cycle H C A E CD E CI E X A J 17 X A G XD G X A D XD D XI D X- cycle X A B XD B XI B XO B X A A XDA XI A XO A S A SD SI t S- cycle R1

Summary and Outlook 18 EOS combines the ideas of evolutionary, agile, component-oriented, and object-oriented software development The development process is structured along the PBS by hierarchy levels (system, component/subsystem, class) by phases (analyse, design, implement, operate) and activities Cycles and phases are linked in a systematic and orthogonal manner Development cycles are planned and executed on demand and in a dynamic way Project managers can plan and survey the project on every level of detail by means of revision points