15
Gaudí Software Factory Ralph Back Ivan Porres

Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Gaudí Software Factory Ralph Back Ivan Porres

Page 2: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Gaudí Software Factory It is a place to build good software and to find the best

way to build good software Organized as a software production factory Financed by Akademi of Finland, TEKES, Åbo

Akademi, and TUCS Managed and run by the TUCS Software Construction

Lab

Page 3: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Objectives for Gaudí Develop new software processes

Flexible processes Efficient and easy to learn Produce reliable software Applicable in academy and in the industry

A framework for practical experiments in software engineering People as the key factor in

software development Controlled experiments Monitoring experiments Quantitative and qualitative

evaluation of results

Page 4: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

An Idea Incubator

ResearchLaboratories

GaudíSoftwareFactory

New ideas: methods, processes

Feedback on new ideas,Tools supporting the new ideas

Articles, research on methods, processes, …

Products, experience reports, case studies,tools,…

CREST

Page 5: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Focus on Product Development The main activity is product development A product should be constructed following some specific practices

Extreme Programming, SFI, UML, … Programmers are supervised by a coach

Programmers are undergraduate students Coach is a PhD. student

There is a customer that has the last word on the product In principle a researcher (who pays for the programming project) Can also be industrial projects Require active customer participation

Page 6: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

A software experiment A software product development is an experiment Product can be new, or it can be extension of an existing

product

D0.1 D0.2 D.0.2.1

C0.2

B0.1 B0.4 B0.6 B1.0

A0.1 A0.3A0.2

product

time

Page 7: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Stepwise Feature Introduction

Software is constructed in thin layers

Each layer adds a new feature is a working product can be thoroughly tested and

verified independently of the other layers

Objective: Maximize flexibility, reliability and maintainability

Page 8: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

An experiment Limited size of experiment:

4-6 programmers 3-6 months time full time or half time employment generally 1 manyear/experiment undergraduate students

Clearly defined goals for product no research, just build product no educational aspects for students no study credits for work done

Page 9: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Gaudi future plans

ExperimentalGaudi

AcademicGaudi

IndustrialGaudi

Page 10: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Experience

Math Editor (4 times) Shows a proof as an outline,

checks the correctness of derivations, suggests applicable rules

Software Construction Workbench (3 times) A tool to model and develop object-

oriented software using Stepwise Feature Introduction methodology

Software Modeling Workbench (3 times) A collection of tools to create and

transfo software models

Page 11: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Activities Summer 2001: Pilot test

3 months 4 ÅA students, 2 HUT students One product

Summer 2002 4 months 12 students (8 ÅA, 4 TY) Three products

Autumn 2002 3 monts 12 students Three products

Spring 2003 3 months 3 half-time projects 12 students (11 ÅA, 1 TY)

Summer 2003: 3 months 20 students 6 coaches 2 lab technicians five products

Summer 2003 products: 3D UML diagram animation MathEditor Financial planner Mobile ad-hoc network Digital TV middleware

Page 12: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Math Editor

Page 13: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software
Page 14: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Gaudí Facilities 280m2 in Datacity B

Rooms furnished for team work

Large common area Own Equipment

Computers, bookshelf Support personnel

Datacity B, 4th floor

Page 15: Gaudí Software Factory Ralph Back Ivan Porres. Gaudí Software Factory It is a place to build good software and to find the best way to build good software

Nokia-Gaudi co-operation

Nokia experimental product developments in Gaudi Gaudi process applied to Nokia product development Software processes: training, education, testing Software for some specific domain