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

43
T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and Engineering Institute

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

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

T-76.4115/5115 Software Development Project I/II

Course Overview 9.9.2008

Jari Vanhanen

Ohjelmistoliiketoiminnan ja –tuotannon laboratorio

Software Business and Engineering Institute

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

Contents

Introduction motivation educational goals

Project topics origin legal issues selection

Support to the projects personnel software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

Page 3: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
Page 4: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 5: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 6: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 7: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Course = Project Work

Groups of 7-9 students Real customers with real topics Duration about 5 months

23.9.2007 – 4.3.2008

Required effort 150h/person (6p) ~10-15h/week

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

Project Stakeholders

Project group students, who develop the software

Customer 1 or several persons from the customer organization provides the topic and requirements for the system to be built often can also help with technical issues takes the responsibility of the system after the project

Mentor course personnel observes and helps with the working methods ensures the fulfillment of the educational goals

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

Goals of the Different Stakeholders

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

•supporting the group

•ensuring that the project succeeds as well as possible

Project group

•learning about software engineering and related topics

•good grade from the course

•fame from producing great software

Project

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

Roles in the Project Group

Software engineering experts 3 per group T-76.5115/4115 students responsibility of a SE area

project manager QA manager architect

Developers 4-6 per group T-76.4115 students participate in

programming low level design testing and other QA tasks

assistant to some SE expert

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

SE Expert Roles

Project manager planning and coordinating the project monitoring and controlling the project motivating the team

“QA manager” requirements engineering customer relationship planning and controlling QA active participation to performing QA

Architect architectural design supervising the developers active participation to development

An expert takes responsibility, but everyone may participate in

all kind of tasks.

The group may tune the responsibilities of each role, and switch roles between members.

Page 12: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 13: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Educational Goals (1/3)

Getting hands-on experience of a real, whole software project requirements engineering, design, programming, QA project management

Learning to apply good SE practices and tools try something new and analyze experiences understand the limits of practices and tools enlarge your SE toolkit

Learning state-of-the-art technologies project topics often require using and studying the latest technologies

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

Educational Goals (2/3)

Learning various general academic skills management skills social skills presentation skills writing skills networking internationalization business thinking project work in general

The selected role affects what you learn.

Page 15: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 about software engineering!

In “real” projects you are often too busy to do that …

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

Contents

Introduction motivation educational goals

Project topics origin legal issues selection

Support to the projects personnel software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

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

Project Topics

Collected from TKK and industry

Lots of alternatives

Customers have prepared topics in advance

Software development projects secondary goals may include e.g. technology reviews

Project scope flexible

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

Project Topics – Legal Issues

Intellectual property rights (IPR) open source, or customer gets IPRs

Non-disclosure agreement (NDA) some companies require this

Contracts prepared by TKK lawyers

TKK <-> companies TKK <-> students

Public documentation except code and technical specs if the customer requires NDA she

must review documents before publication

Participation fee for industrial customers

commitment course costs

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

Registration and Forming of the Groups

Register to the course DL We 10.9. 13:00 (Tomorrow!)

Teacher selects the SE experts immediately after the DL

SE experts form trios register a trio by e-mail to the teacher immediately after Fr 12.9. 13:00, teacher forms trios of the remaining SE experts

SE expert trios recruite developers be quick! send e-mail to the teacher immediately when you recruite someone after Fr 19.9. 13:00 teacher assigns the remaining developers into groups

You can try to form a trio today here in T1

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

Project Topics – Selection Process

Customers present themselves and the topics Tu 16.9. 17:00-19

no contacting before that

SE expert trios apply for topics contact 2-4 customers “sell” your group to the customer

short CV of the group having good developers may help

Ensure the acceptability of the customer and the topic

her commitment to the project her understanding of the domain and

technologies her understanding of the course

context provided 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

If you are not sure, try another customer.

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

Project Topics – Selection Recommendations

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

Too easy a topic? boring no ”bonus” points in the evaluation

Too demanding a topic? unsatisfied customer fulfilling customer’s goals may take too much focus away from other

educational goals of the course

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

Project Topics – Proposals

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

Contents

Introduction motivation educational goals

Project topics origin legal issues selection

Support to the projects personnel software development process mentoring experience exchange sessions hw/sw infrastructure evaluation

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

Personnel

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

email: t764115###soberit.hut.fi

http://news.tky.fi/thread.php?group=opinnot.tik.ohjelmatyo

Other parties several teachers from SoberIT computer administrators from SoberIT Accenture

Page 25: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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

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

Software Process – Special Challenges (1/2)

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 often no common workplace and time for project stakeholders-> special care for communication and project visibility

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

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

Software Process – Special Challenges (2/2)

New team and organization no existing development culture (process) all members do not know each other-> process must be planned from scratch and communicated to everyone-> team spirit

Software will be maintained by other people after the delivery the group is not responsible for the system -> involving the customer’s technical people early-> knowledge transfer via training and documentation-> high code quality

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

Software Process - Iterations

Page 29: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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

what the customer really wants

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

Effort fixed 27h/credit/person

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

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

Software Process – Details

Lecture on the software process framework on 23.9. 16-19 minor changes to current materials may be done before that

Every student in any role should read all process framework materials in the beginning of the project

http://www.soberit.hut.fi/T-76.4115/08-09/instructions/process.html

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

Mentoring (1/2)

Purpose help the project succeed ensure enough focus on the educational goals

Meetings with the mentor in 3 mentor meetings in 3 iteration demos in 1-2 process reviews in some work sessions (customer meetings, code review etc.)

invitation from the group

Other forms of participation continuously observing the project

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

points and comments

Page 32: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 rough effort allocation per group ~1h for each meeting (*~9) ~4h for reading, grading and feedback in the end of each iteration (*3) ~3h/iteration (*3) for

observing the project answering e-mails preparing for mentor meeting

~30h TOTAL

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

Experience Exchange Sessions (EES)

Discussion on problems and good practices related to a certain SE theme project management, RE, QA, architecture

Participants 1-2 students per group, those who are responsible of the EES’s theme teacher and some guest experts

Students should propose topics 24h before each session practical problems and/or innovative solutions from your project

Teacher prepares an agenda each topic is introduced shortly by one proposer of the topic before discussion

Sending 2 proposals and participating to EES gives 0,5p to the group 8 sessions scheduled

3 for project managers, 3 for QA managers, and 2 for architects

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

Evaluation – General

Both the results and working methods are evaluated

Several evaluators customer

based on all available information mentor ensures the objectivity of customers’ evaluation

mentor based on all available information mentor adjust his scale in evaluation meetings with other mentors

group members may evaluate personal contribution of other group members

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

Evaluation – Course Grade

Points are given both during and after the project in the end of each iteration

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

Filling the course feedback form by the given DL is mandatory

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

Evaluation – Iterations (Customer)

Focus on iteration’s results but working methods are

considered, too

Manage customer’s expectations in iteration planning

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

Evaluation – Iterations (Mentor)

Focus on work practices Conformance to the mandatory

practices plan and usage

Use of other good work practices Continuous process 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 38: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.

Evaluation – Project’s Results

Customer compares to the original/updated

project goals

Mentor compares to typical course

projects +/- a few points based on

project’s difficultymanage customer’s expectations in the beginning and during the project

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

Evaluation – Personal Contribution

Each group member may evaluate each other's contribution raises and deductions of +/-1 grade

the sum must be 0

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

Mentor may change personal grades by +/-1 based on proposals

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

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

Infrastructure

Hardware several computer classes at TKK Maarintalo has some group work rooms (http://www.tkk.fi/atk/luokat/)

Software Microsoft MSDN AA

licenses for students own computers, contact: msdn (at) soberit.hut.fi Magic Draw Personal Edition UML tool

licenses for students own computers TKK wiki, CVS, subversion, …

Customer must provide other necessary hardware/software

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

More Materials

Course Instructions http://www.soberit.hut.fi/T-76.4115/

Projects from the previous years (1995-2007) http://www.soberit.hut.fi/T-76.4115/08-09/projects/index.html

Page 42: T-76.4115/5115 Software Development Project I/II Course Overview 9.9.2008 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 on-going

course

Give feedback in the project final report

Fill the course feedback form after the course

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

Next Seven Days

Register immediately to the course Form a group

SE Experts form a trio (here today?) recruit developers

Developers try to get recruited into a SE expert trio

Read the topic proposals choose some favorites

Come to the topic presentation lecture on Tu 16.9. 17:00 Introduce your group to some interesting customers