T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen...

45
T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and Engineering Institute (SoberIT)

Transcript of T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen...

Page 1: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

T-76.4115/5115 Software Development Project I/II

Course Overview 12.9.2006

Jari VanhanenOhjelmistoliiketoiminnan ja –tuotannon laboratorio

Software Business and Engineering Institute (SoberIT)

Page 2: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Personnel http://soberit.hut.fi/T-76.4115/

email: t764115###soberit.hut.fi

news://news.tky.hut.fi/opinnot.tik.ohjelmatyo

Page 3: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
Page 4: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Contents Introduction

motivation educational goals

Project topics Support to the projects

software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

Substituting T-76.115

Page 5: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Motivation - Software Development Scenario 1 Small software Developed alone As a passionate hobby For the own needs of the developer No major consequences of bugs No schedule pressure No limitations on effort usage Software will be maintained by nobody or the developer himself

Page 6: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Motivation - Software Development Scenario 2 Large software Developed by a team Developers’ daily work Used by many different users Software is done for a paying customer Every work hour costs money Management wants to follow the project Strict schedule and budget Bugs may cause serious consequences Maintained by others

What needs attention in this scenario?

Page 7: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Motivation - Software Development Scenario 2 Large software (complexity, architectural design) Developed by a team (communication, coordination, team spirit) Developers’ daily work (motivation) Used by many different users (understanding real needs) Software is done for a paying customer (accountability) Every work hour costs money (efficiency, prioritization) Management wants to follow the project (visibility, risks) Strict schedule and budget (predictability) Bugs may cause serious consequences (quality, proof of quality) Maintained by others (maintainability, documentation, training)

Page 8: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Course = Project Work Groups of 7-9 students Real customers with real topics Duration 5 months

27.9.2006 – 1.3.2007 Required effort ~150h/person (6p)

~10-15h/week

Page 9: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Roles in the Project Group SE experts (3/group)

T-76.4115/5115 students responsibility of some major SE area

Developers (4-6/group) T-76.4115 students programming and testing assistant to some SE expert

SE Expert roles Project manager

planning and coordinating the project monitoring the progress controlling the project

QA manager requirements engineering customer relationship planning and controlling QA

Architect architectural design supervising the developers active participation to development

An expert takes responsibility but others participate.Roles overlap!

Page 10: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Roles around the Project Group Project group

develops the software

Customer provides the topic and requirements for the system to be built participates throughout the whole project

Technical advisor helps with technical issues takes the responsibility of the system after the project

Mentor helps with the working methods course personnel

Page 11: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Prerequisites T-76.5115 (Project II)

T-76.4115 (mandatory) all SoberIT’s SE courses

T-76.4115 (Project I) T-76.601 Introduction to Software

Engineering (mandatory) T-76.611 Software Development Methods good programming skills

Try to get experience of all SE areas to your group!

Page 12: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Educational Goals (1/3) Getting hands-on experience of a real software project

requirements engineering, design, programming, QA project management, SCM

Learning to use good sw engineering practices and tools try something new and analyze experiences enlarge your toolkit and understand the limits of their applicability

Learning state-of-the-art technologies

The selected role affects what you learn.

Page 13: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Educational Goals (2/3) Learning

management skills social skills presentation skills writing skills networking internationalization business thinking general project work

The selected role affects what you learn.

Page 14: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Educational Goals (3/3) After this course you should

understand the challenges involved in commercial sw development be able to select good practices and tools for your future projects have learned many things applicable practically anywhere

Use this opportunity to learn something new!In “real” projects you are often too busy to do that …

Page 15: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Goals

Customer•getting software that solves their problems•getting experiences of technologies and working methods•learning the customer role in an IT-project

Mentor•ensuring the fullfillment of educational goals

•checking the compliance to the mandatory work practices•teaching the group

•ensuring that the project succeeds as well as possible

Project group•learning about software engineering•learning about X•fame from producing great software•passing the course

Project

Page 16: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Registration and Forming of the Groups Register to the course

DL 13.9. 13:00 (Tomorrow!) preferences about

SE expert roles/developer domain/technologies/topics

tell if you belong to a group

Teacher selects the SE experts immediately after the DL

SE experts form trios after 15.9 11:00, teacher forms the rest of the trios

SE expert trios recruite developers be quick! after 28.9. teacher assigns the remaining developers into groups

Page 17: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Contents Introduction

motivation educational goals

Project topics Support to the projects

software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

Substituting T-76.115

Page 18: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Topics From industry and HUT

Customers have prepared topics in advance

Software development projects secondary goals may include e.g.

technology reviews

Project scope flexible

Participation fee for companies commitment course costs

Page 19: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Topics – Legal Issues Intellectual property rights (IPR)

open source customer gets IPRs

Nondisclosure agreement (NDA) some companies require this

HUT prepares the contracts HUT <-> companies HUT <-> students

Public documentation except code and technical specs if you sign NDA

customer must review documents before publication

Participation fee for industrial customers

commitment course costs

Page 20: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Topics – Selection Process Customers present themselves and

the topics Tu 19.9. 17:00-19

Groups apply for topics pick 2-4 topics groups that have already 1-3

developers may have an advantage

Contact the customers you must “sell” your group, if there are

several applicants

Ensure the acceptability of the customer and the topic

understanding of the domain commitment to the project provided technical supervision and

infrastructure expected skills from the group

Say “yes” quickly get confirmation from the customer say no to other customers immediately inform the teacher

If all the customers say “no” contact new customers

Page 21: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Topics – Selection Recommendations Too easy a topic?

boring no ”bonus” points in the

evaluation some other group should get it

Too demanding a topic unsatisfied customer when having panic with

schedules the educational goals are typically forgotten first

What do you want to learn? domain technology getting to know a customer’s

organization

Page 22: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Project Topics – Proposals

Page 23: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Contents Introduction

motivation educational goals

Project topics Support to the projects

software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

Substituting T-76.115

Page 24: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Software Process – Challenges Project is done for an external customer

understanding the true (and changing) needs-> requirements engineering during the whole project-> managing customer’s expectations

Physical distribution all stakeholders and group members may work physically distributed-> special care for communication and increasing project visibility

Temporal distribution only one of several on-going ”projects” for all participants long duration, but only 1-2 days a week-> you can’t keep everything in your head-> documentation overhead

Lack of existing development culture within the team (process) … and all members are not familiar with each other-> process must be planned from scratch and communicated to everyone

Software will be maintained by other people after the delivery the group is not responsible for the system -> required knowledge must be transferred via training and documentation-> high quality

Page 25: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Software Process – Framework Process framework provided

iterative and incremental phasing and schedule fixed

enforces certain good work practices and crucial documents allows lots of freedom (and responsibility) for customization

Read the details from the Process Framework document:http://www.soberit.hut.fi/T-76.4115/06-07/instructions/process.html

Page 26: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Software Process - Iterations

Page 27: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Software Process – Project Control Variables Quality ”fixed”

high quality recommended some alleviations to carefully selected quality aspects are allowed if that is

beneficial for the customer

Calendar time fixed project schedule defined by the course major control points such as iteration demos

Effort fixed 150h/person (+2*20h if substituting T-76.115)

Scope flexible adjusted depending on the groups’ skills and knowledge of the problem domain

Page 28: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Mentoring (1/2) Purpose

help the project succeed ensuring enough focus on the educational goals

Mentor participates in 3 mentor meetings in 3 iteration demos in some work sessions (customer meetings, code review etc.)

these can be combined with mentor meetings/iteration demos

Mentor also continuously observes the project

status reports, meeting memos, irc, … answers project related questions by e-mail evaluates the group in the end of iterations

points and comments

Page 29: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Mentoring (2/2) Help the mentor help you!

keep him up-to-date prepare for the mentor meetings invite him to some work sessions

increases visibility to work practices

Every project will face problems identify and solve them quickly ask help when needed

Mentor’s effort allocation per group ~1h for each meeting (*~10) ~4h for reading, grading and feecback in the end of iterations (*3) ~4h/iteration (*3) for

observing the project answering e-mails preparing for mentor meetings

Page 30: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Experience Exchange Sessions Discussions about problems and good practices Arranged for each SE expert role separately

experts from SoberIT are present Some preparation required

preparing questions, short presentations on good solutions to problems, … First round in October

if you find these useful more can be arranged

Page 31: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Infrastructure Hardware

several computer classes at HUT Maarintalo has some group work rooms (http://www.hut.fi/atk/luokat/) SoberIT’s PC room A218 (in T-building)

8 Windows PCs (3.2 GHz) + some very old PCs J2EE/J2SE SDK, Eclipse 3.1, MS Visual Studio 6, …

Software Microsoft MSDN AA

licenses for students servers at SoberIT

Bugzilla – bug reporting TikiWiki – collaboration

Customer customer must provide other necessary hardware/software some customers may provide computers, servers, software, rooms, snacks, …

Page 32: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – General

Both the results and working methods are evaluated

Several evaluators customer & technical advisor

based on all available information ensure realistic expectations mentor ensures the objectivity of the evaluation

mentor based on everything they know from the project mentors adjust their scale in evaluation meetings with other mentors

group members personal contribution of other group members

Page 33: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Final Course Grade

Total points = PP + I1 + I2 + RESULTS

Scale from points to grades is published in the end of the course

Filling the course feedback form is a mandatory part of the course

Page 34: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Iterations (Customer)

Results and working methods

Manage customer’s expectations in iteration planning

Page 35: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Iterations (Mentor)

Focuses on work practices conformance to mandatory practices

plan usage

use of other good work practices continuous improvement visibility of use

show them to the mentor avoid unnecessary documentation

e.g. invite the mentor to some work sessions

Scale 8 fulfills some requirements

with distinction and at most a couple of minor complaints

7 meets requirements and at most some minor complaints

6 at most a couple of major or some minor complaints

4-5 some major or lots of minor complaints

2-3 several major complaints 0-1 virtually no results

Page 36: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Project’s Results

Customer compares to the original/updated project goals manage customer’s expectations in project planning and during the project

Mentor compares to typical projects on this course difficulty of the project +/- a few points

Page 37: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Personal Contribution

Each group member may evaluate each other's contribution raises and deductions of +/-5p at maximum

the sum must be 0p

Proposals are sent privately to mentor however, open discussion within the group is recommended

Mentor may change individual points based on these default is +-0p for everyone

If the group gets enough points for grade 5, no deductions are made.

Page 38: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

More Materials Instructions

http://www.soberit.hut.fi/T-76.4115/ (->Instructions)

Projects from the previous years (1995-2005) http://www.soberit.hut.fi/T-76.4115/06-07/palautukset/index.html

Page 39: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Contents Introduction

motivation educational goals

Project topics Support to the projects

software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

Substituting T-76.115

Page 40: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Substituting T-76.115 Substituting T-76.115 requires

T-76.4115 (6p) + T-76.5158 (2p)

T-76.5158 Special Assignment in SE: SEPA spending 20h of additional effort for the project making a SEPA (software engineering practice assignment)

requires ~20 hours of effort/person pair work

Page 41: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

SEPA - Scenario The product development manager of your company has heard a lot from

a new practice called X

He wants that you pilot the practice in your project provide him convincing evidence on the practice

What were the advantages and disadvantages of its use? What are its limitations, i.e. do you think it work in other slightly different

projects?

Page 42: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

SEPA – Content1. Select and learn a practice

as early as possible document the reason for your choice and discuss it with the mentor

2. Deploy the practice how, when, by whom give guidelines or training document the deployment plan and e-mail it to the mentor

3. Use and improve the practice disciplined usage continuous improvement document changes to the usage

4. Collect experiences document experiences in each iteration summarize in the end of the project

Pass/fail evaluation

Page 43: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

SEPA – Example: Pair ProgrammingPair programming (PP) read some papers about PP (use e.g. scholar.google.com) plan the use

list expected advantages/disadvantages in your project’s context who will use it, for what, how much, who work together? training

what is it?, how should we do it? define metrics (quantitative and qualitative)

effects of use compare PP and non-PP code, e.g., bugs, design quality metrics, productivity

(LOC/hour) measure the knowledge transfer within the group

amount of use % of coding time, % of LOC

use PP adjust the practice, if needed

collect data and report experiences

Page 44: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Your Feedback We continuously want to improve the course!

Inform us immediately, if you see ambiguities in our instructions you have any suggestions for improving the course

Give feedback in the project final report

Fill the course feedback form after the course

Page 45: T-76.4115/5115 Software Development Project I/II Course Overview 12.9.2006 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Next Steps Register to the course Form the groups

SE Experts form a trio recruit developers

Developers try to get recruited into a trio

Read the topic proposal Come to the topic presentation lecture on Tu 19.9. 17:00 Introduce your group to a some customers and apply for their topic Start the project!