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

Slides:



Advertisements
Similar presentations
Project Management.
Advertisements

4th Module: Information Systems Development and Implementation:
A GUIDE TO CREATING QUALITY ONLINE LEARNING DOING DISTANCE EDUCATION WELL.
Designing Online Communities: If We Build it, Will They Come? Yvonne Clark Instructional Designer Penn State University.
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
1 CSSE 477: Swre Arch – This year’s course… Steve Chenoweth Tuesday, 11/8/11 Week 10, Day 2 Right – Sunset at the Louvre, in Paris From
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
1Lou Somers Software Engineering Projects 2IP35 Autumn 2014
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
1 SYS366 Week 1 - Lecture 2 How Businesses Work. 2 Today How Businesses Work What is a System Types of Systems The Role of the Systems Analyst The Programmer/Analyst.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
VENDORS, CONSULTANTS AND USERS
PC Support & Repair Chapter 10 Communication Skills.
S/W Project Management
CHAPTER 5 Infrastructure Components PART I. 2 ESGD5125 SEM II 2009/2010 Dr. Samy Abu Naser 2 Learning Objectives: To discuss: The need for SQA procedures.
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
10 Aug 2010 ECE/BENG-492 SENIOR ADVANCED DESIGN PROJECT Meeting #2.
T Software Development Project I Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
T /5115 Software Development Process Framework Jari Vanhanen.
T /5115 Software Development Project I/II Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
COMP 208/214/215/216 Lecture 2 Teams and Meetings.
GlobalProjectManagement.org 1 PROJECT Lessons learned.
Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio
T Software Development Project I Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
T /5115 Software Development Project I/II Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
1. 2 IMPORTANCE OF MANAGEMENT Some organizations have begun to ask their contractors to provide only project managers who have been certified as professionals.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
T Project Review Magnificent Seven Project planning iteration
EARTO – working group on quality issues – 2 nd session Anneli Karttunen, Quality Manager VTT Technical Research Centre of Finland This presentation.
T /5115 Customer Info Aalto University School of Science and Technology.
PBL in Team Applied to Software Engineering Education Liubo Ouyang Software School, Hunan University CEIS-SIOE, January 2006, Harbin.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Gathering Network Requirements Designing and Supporting Computer Networks – Chapter.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Engineering EKT 420 MOHAMED ELSHAIKH KKF 8A – room 4.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Assessment Callie Cothern and Heather Vaughn. A Change in the view of assistive technology assessment: From a one shot, separate event to an ongoing,
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
T Iteration Demo Group name [PP|I1|I2] Iteration
Rational Unified Process Fundamentals Module 5: Implementing RUP.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
T /5115 Course Overview Aalto University School of Science and Technology 9/7/2010.
T /5115 Software Development Project I/II Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
T /5115 Software Development Project I/II Software Development Process Framework Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio.
Systems Analysis and Design in a Changing World, Fourth Edition
T Iteration demo T Iteration Demo Team Balboa I1 - Iteration
T Project Review (Template for PI and I1 phases) Group name [PI|I1] Phase
T Iteration Demo Team 13 I1 Iteration
T Software Development Project I Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
CSPC 464 Fall 2014 Son Nguyen.  Attendance/Roster  Introduction ◦ Instructor ◦ Students  Syllabus  Q & A.
T Iteration Demo Team DTT Project planning (PP) Iteration
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
T & 5115 Software Development Project I & II Quality Award and Course Closing Ceremony
T Iteration Demo Group name [PP|I1|I2] Iteration
Conducting Business Meetings Satorre, Joshua Jerem T. ENSP2 Instructor: Mr. Xavier Aquino Velasco - Associate/Lecturer III, FEU Tech.
T /5115 Software Development Project I/II Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
T Iteration Demo Tikkaajat [PP] Iteration
SFTW241 Programming Languages Architecture 2002~2003 Semester II Duration: 2003/2/11~ 2003/4/11 University of Macau Faculty of Science and Technology Computer.
T Project Review Wellit I1 Iteration
T /5115 Software Development Project I/II Software Development Process Framework Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio.
TU-C2040 Strategy Fieldwork Marco Clemente Natalia Vuori.
Water and people in a changing world Yhd ; Spring
T Project Review Sotanorsu I2 Iteration
T Iteration Demo LicenseChecker I2 Iteration
T Project Review X-tremeIT PP Iteration
T Iteration Demo Vitamin B PP Iteration
Presentation transcript:

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

Contents  Introduction  motivation  educational goals  Project topics  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  size  8p, for substituting old T  6p, default  5p, enough for certain study modules  role  developer or SE expert  T  size  6 or 8p, depending on study module  role  SE expert  T must have been already passed

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

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

Roles in the Project Group  Software engineering (SE) experts  3 per group  T /4115 students  responsibility of a SE area  project manager  QA manager  architect  Developers  4-6 per group  T students  participate in  programming  low level design  testing and other QA tasks  assistant to some SE expert

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.

Prerequisites  T (Project II)  T (mandatory)  all SoberIT’s SE courses  T (Project I)  T Introduction to Software Engineering (mandatory)  T 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  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

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  motivation  educational goals  Project topics  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  Non-disclosure agreement (NDA)  some companies require this  Public documentation  except code and technical specs  if NDA required, customer must review materials before publication  Participation fee for industrial customers  commitment  course costs  Contracts prepared by TKK lawyers  TKK companies  TKK students

Registration and Forming of the Groups  Register to the course by We :00 (Tomorrow!)  Teacher selects the SE experts on We :00  2-3 more chosen than really needed  last ones without a trio are assigned to developers  SE experts form trios  register a trio by to the teacher immediately  after Fr :00, teacher forms trios of the remaining SE experts  SE expert trios recruite developers  send to the teacher immediately when you recruite someone  after Fr :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 :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 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  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.

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

Project Topics – Proposals

Contents  Introduction  motivation  educational goals  Project topics  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”  high quality recommended  some alleviations to carefully selected quality aspects are allowed if that is what the customer really wants (prototype projects)  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

Software Process – Details  Lecture on the software process framework on Tu  Every student in any role should read all process framework materials in the beginning of the project 

Mentoring (1/2)  Purpose  help the project succeed  ensure enough focus on the educational goals  Meetings with the mentor  in 3 iteration demos  in 3 mentor meetings  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  evaluating the group in the end of iterations  points and comments

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 s  preparing for mentor meeting  ~30h TOTAL

Experience Exchange Sessions (EES)  Discussion on problems and good practices related to a certain SE theme  project management, RE, QA, architecture&development  Participants  1-2 students per group, those who are responsible of the EES’s theme  teacher and some guest experts  Content  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  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)  plan and usage  Intelligent process customization  use of any other good work practices  continuous process improvement  Visibility to work practice  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

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 difficulty manage customer’s expectations in the beginning and during the project

Evaluation – Personal Contribution  Each group member may evaluate each other's contribution  raises and deductions of +/-1 grade, but 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.

Infrastructure  Hardware  several computer classes at TKK  Maarintalo has some group work rooms (  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  t764115#soberit.hut.fi

More Materials  Course homepage(s)    Course Instructions   Projects from the previous years (since 1995)   Newsgroup for students 

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  SE Experts  form a trio (here, today?)  recruit max. 3 developers  Developers  try to get recruited into a SE expert trio  Read the topic proposals  choose some favorites  Come to the topic presentation lecture next Tuesday 17:00  Introduce your group to some interesting customers (group’s CV)