Download Project - SoberIT

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Phase-gate process wikipedia , lookup

Construction management wikipedia , lookup

PRINCE2 wikipedia , lookup

Software development wikipedia , lookup

Transcript
T-76.4115/5115
Software Development Project I/II
Course Overview
8.9.2009
Jari Vanhanen
Ohjelmistoliiketoiminnan ja –tuotannon laboratorio
Software Business and Engineering Institute
Contents

Introduction



Project topics




motivation
educational goals
origin
legal issues
selection
Support to the projects





software development process
mentoring
experience exchange sessions
hw/sw infrastructure
evaluation
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
Motivation - Software Development Scenario 2

Large software system

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?
Motivation - Software Development Scenario 2

Large software system (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)
Course = Project Work

Groups of 7-9 students

Real customers with real topics

Duration about 5 months

Required effort 27h/study point


e.g. 6p = 162h
>10h/week
Course Versions

T-76.4115

size




role


8p , for substituting old T-76.115
6p, default
5p, enough for certain study modules
developer or SE expert
T-76.5115

size

6 or 8p, depending on study module

role

SE expert
T-76.4115 must have been already passed

Project Stakeholders

Project group


Customer





students, who develop the software
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
Goals of the Different Stakeholders
Project group
Customer
•learning about software engineering
and related topics
•good grade from the course
Project
•fame from producing great software
•getting software that solves their
problems
•getting experiences of technologies
and working methods
•learning the customer role in an ITproject
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
Roles in the Project Group

Software engineering (SE) 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
SE Expert Roles

Project manager




An expert takes responsibility, but
everyone may participate in all kind
of tasks.
“QA manager”





planning and coordinating the project
monitoring and controlling the project
motivating the team
requirements engineering
customer relationship
planning and controlling QA
active participation to performing QA
Architect



architectural design
supervising the developers
active participation to development
The group may tune the
responsibilities of each role, and
switch roles between members.
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!
Educational Goals (1/3)

Getting hands-on experience of a real, whole software project



Learning to apply good SE practices and tools




requirements engineering, design, programming, QA
project management
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
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.
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 …
Contents

Introduction



Project topics




motivation
educational goals
origin
legal issues
selection
Support to the projects





software development process
mentoring
experience exchange sessions
hw/sw infrastructure
evaluation
Project Topics

Proposals collected from TKK and industry

Lots of alternatives

Software development projects


secondary goals may include e.g. technology reviews
Project scope flexible
Project Topics – Legal Issues

Intellectual property rights (IPR)



open source, or
customer gets IPRs
Participation fee for industrial
customers



Non-disclosure agreement (NDA)


commitment
course costs
some companies require this
Public documentation


except code and technical specs
if NDA required, customer must
review materials before
publication

Contracts prepared by TKK
lawyers


TKK <-> companies
TKK <-> students
Registration and Forming of the Groups

Register to the course by We 9.9. 13:00 (Tomorrow!)

Teacher selects the SE experts on We 9.9. 13:00



SE experts form trios



2-3 more chosen than really needed
last ones without a trio are assigned to developers
register a trio by e-mail to the teacher immediately
after Fr 11.9. 13:00, teacher forms trios of the remaining SE experts
SE expert trios recruite developers


send e-mail to the teacher immediately when you recruite someone
after Fr 18.9. 13:00 teacher assigns the remaining developers into groups
Optimal group composition:
seniors and juniors, common work times possible, similar interests regarding topics and
technologies, broad coverage of SE courses passed
Project Topics – Selection Process

Customers present themselves and
the topics Tu 15.9. 17:00-19


Say “yes” quickly

no contacting before that



SE expert trios apply for topics



get confirmation from the customer
say no to other customers immediately
inform the teacher
contact 2-4 customers
“sell” your group to the customer
 short CV of the group
 having good developers may help

If all the customers say “no”

contact new customers
Ensure that the customer





is committed to the project
understands the domain
appreciates the educational context
provides needed infrastructure
doesn’t expect skills that the group
doesn’t have or cannot acquire quickly
If you are not sure, try
another customer.
Project Topics – Selection Recommendations

What do you want to learn?




Too easy a topic?



domain
technology
getting to know a certain customer’s organization
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
Project Topics – Proposals
Contents

Introduction



Project topics




motivation
educational goals
origin
legal issues
selection
Support to the projects





software development process
mentoring
experience exchange sessions
hw/sw infrastructure
evaluation
Software Process – Framework

Process framework provided



iterative and incremental
 phasing and schedule fixed
enforces certain good and educational work practices and documents
allows lots of freedom (and responsibility) for customization
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
if 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

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

… new technologies, inexperienced managers or
developers, multicultural teams, …
Software Process - Iterations
Software Process – Project Control Variables

Quality ”fixed”



Calendar time fixed



project schedule defined by the course
major control points such as iteration demos
Effort fixed


high quality recommended
some alleviations to carefully selected quality aspects are allowed if that is
what the customer really wants (prototype projects)
27h/credit/person
Scope flexible

adjusted depending on the groups’ skills and knowledge of the problem domain
Software Process – Details



Lecture on the software process framework on Tu 22.9. 16-19
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/09-10/instructions/process.html
Mentoring (1/2)

Purpose



Meetings with the mentor





help the project succeed
ensure enough focus on the educational goals
in
in
in
in
3 iteration demos
3 mentor meetings
1-2 process reviews
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
Mentoring (2/2)

Help the mentor help you!




Every project will face problems



keep him up-to-date
prepare for the mentor meetings
invite him to some work sessions
 increases visibility to work practices
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
Experience Exchange Sessions (EES)

Discussion on problems and good practices related to a certain SE theme


Participants




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 before discussion
Sending 2 proposals and participating to EES gives 0,5p to the group


1-2 students per group, those who are responsible of the EES’s theme
teacher and some guest experts
Content


project management, RE, QA, architecture&development
an essay is an alternative for English speaking students
8 sessions: 3 for PMs, 3 for QA managers, and 2 for architects
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
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
Evaluation – Iterations (Customer)

Focus on iteration’s results

but working methods are
considered, too
Manage customer’s expectations in
iteration planning
Evaluation – Iterations (Mentor)


Focus on work practices
Conformance to the mandatory
practices (educational goals)


Intelligent process customization



plan and usage
use of any other good work practices
continuous process improvement
Scale




Visibility to work practice


show them to the mentor
avoid unnecessary documentation e.g.
invite the mentor to some work sessions
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
Evaluation – Project’s Results

Customer

compares to the original/updated
project goals

Mentor


manage customer’s expectations in the
beginning and during the project
compares to typical course
projects
+/- a few points based on
project’s difficulty
Evaluation – Personal Contribution

Each group member may evaluate each other's contribution


Proposals can be sent privately to the mentor


raises and deductions of +/-1 grade, but the sum must be 0
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.
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
 accounts sent to all registered students
 info: 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
Personnel

Other parties




several teachers and researchers from
SoberIT
computer administrators from SoberIT
Accenture
Teachers email

t764115#soberit.hut.fi
More Materials

Course homepage(s)



Course Instructions


http://www.soberit.hut.fi/T-76.4115/
Projects from the previous years (since 1995)


https://noppa.tkk.fi/noppa/kurssi/t-76.4115/etusivu
http://soberit.hut.fi/T-76.4115/
http://www.soberit.hut.fi/T-76.4115/09-10/projects/index.html
Newsgroup for students

http://news.tky.fi/thread.php?group=opinnot.tik.ohjelmatyo
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
Next Seven Days

Register immediately to the course

Form a group



Read the topic proposals


SE Experts
 form a trio (here, today?)
 recruit max. 3 developers
Developers
 try to get recruited into a SE expert trio
choose some favorites
Come to the topic presentation lecture next Tuesday 17:00

Introduce your group to some interesting customers (group’s CV)