t-76.4115/5115 software development project i/ii customer info 19.9.2006 jari vanhanen...
TRANSCRIPT
T-76.4115/5115 Software Development Project I/II
Customer Info
19.9.2006
Jari VanhanenOhjelmistoliiketoiminnan ja –tuotannon laboratorio
Software Business and Engineering Institute (SoberIT)
Roles in the Project Group
SE experts (3/group) T-76.4115/5115 students responsibility of some major SE area
Developers (4-5/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!
Roles around the Project Group
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
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/course
•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
Project Topics – Legal Issues
Intellectual property rights (IPR) open source customer gets IPRs
Nondisclosure agreement (NDA) signed, if required the customer must always clearly
identify and mark secret information
HUT prepares the contracts HUT <-> companies HUT <-> students
Public documentation and demos except code and technical specs
Participation fee for industrial customers
commitment course costs
Project Topics – Selection Process
SE expert groups formed last week they can recruite max. 3 developers teacher assigns last developers 28.9.
A group contacts 2-4 customers
Groups try to ensure the suitability of the customer and the topic
customer’s domain understanding customer’s commitment to the project provided technical supervision and
infrastructure expected skills from the group
Customer can choose any of the interested groups
if someone didn’t already take them be quick!
If you don’t get any contacts soon inform the teacher and he will highlight
your topic on the list
If you get a group inform the teacher and he will remove
the topic from the list
Support for the Projects from the Course
Some sw&hw infrastructure Process framework Lectures + experience exchange sessions Mentoring Grading and feedback Participation in iteration demos “Ask the teacher” - service “Ask Accenture” – service
Support from the Course - Infrastructure
Hardware several computer classes at HUT SoberIT’s PC room A218 (in T-building)
J2EE/J2SE SDK, Eclipse 3.1, MS Visual Studio 6, …
Software HUT provides lots of software in computer classes Microsoft MSDN AA 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, …
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
Software Process – Provided Framework
Iterative and incremental Enforces certain good work practices and crucial documents Allows lots of freedom (and responsibility) for customization
if the customer wants to make exceptions to the enforced topics talk to the mentor first
Read the details from the Process Framework document:http://www.soberit.hut.fi/T-76.4115/06-07/instructions/process.html
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 fixed
Effort fixed 150h/person (+2*20h if taking T-76.5158)
Scope flexible adjusted depending on the groups’ skills and knowledge of the problem domain
Software Process – Effort from 2004-05 Projects
0,00 %
5,00 %
10,00 %
15,00 %
20,00 %
25,00 %
30,00 %
35,00 %
Software Process - Iteration Planning
Group and customer plan each iteration’s goals and deliverables goals are higher level ideas of what is expected from the iteration deliverables include software units and documents to be created/updated
Group and customer should arrange a meeting customer selects and prioritizes what is implemented next based on
business importance group’s allocation of implementation effort for the iteration group’s rough effort estimates for implementing sw units group’s estimates about architectural impact
Group concretizes goals and deliverables into required tasks re-planning, if task effort estimates and allocated resources differ largely
Software Process – Iteration Demo
Arranged in the end of each iteration exact times (8:00-18:00) published in early October at SoberIT (Innopoli 2, 4th floor, Tekniikantie 14)
Participants all project stakeholders
Group presents project status (10-15 min) iteration’s results including sw demo (20-25 min)
Customer evaluates the work performed private discussion about the given points with the mentor after the review send (/tell) comments about your evaluation to the group
Tip! Arrange the next iteration planning meeting right after the iteration demo.
Software Process – Required Documentation
Required project documents project plan
including QA plan and description of work practices requirements document technical specification* user’s manual* QA reports progress reports (a slide set for the iteration demos) final report
Course provides some document templates their use is mandatory, but irrelevant topics can be omitted
Documentation is done incrementally and iteratively
*the course sets no requirements on the content or format of these documents
Software Process – Controlling the Projects
Customer/technical advisor regular meetings
especially early in the project
demand some reporting give regular feedback
Evaluation – General
Customer & technical advisor evaluate intermediate and final results, and working methods mentor ensures the objectivity of the evaluations
realistic expectations
Mentor evaluates working methods
Group members evaluate personal contribution of the other group members
Evaluation – Project’s Results
Compare to the original/updated project goals Have realistic expectations