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

Slides:



Advertisements
Similar presentations
Project Management.
Advertisements

A GUIDE TO CREATING QUALITY ONLINE LEARNING DOING DISTANCE EDUCATION WELL.
Agile Project Management with Scrum
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.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
1Lou Somers Software Engineering Projects 2IP35 Autumn 2014
IS 214 Needs Assessment and Evaluation of Information Systems Managing Usability © Copyright 2001 Kevin McBride.
Lecture 2b: Software Project Management CSCI102 - Introduction to Information Technology B ITCS905 - Fundamentals of Information Technology.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Development and Quality Plans
VENDORS, CONSULTANTS AND USERS
S/W Project Management
FINAL DEMO Apollo Crew, group 3 T SW Development Project.
T Software Development Project I Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
T /5115 Software Development Project I/II Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
T Project Review RoadRunners [PP] Iteration
Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio
Tablet PC Capstone CSE 481b Richard Anderson Craig Prince.
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.
Z26 Project Management Introduction lecture 1 13 th January 2005
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.
T Iteration Demo Team WiseGUI I2 Iteration
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
CS 110: Introduction to Computer Science Frequently asked questions about a CS major and CS career.
T Final Demo Tikkaajat I2 Iteration
Project monitoring and Control
T Final demo I2 Iteration Agenda  Product presentation (20 min) ‏  Project close-up (20 min) ‏ Evaluation of the results  Questions.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
Clinical Application. The Problem Clinical Systems are extremely complex IT configures and deploys best practices (best guesses) about what users want.
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.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
T Iteration demo T Iteration Demo Team Balboa I1 - Iteration
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
T Project Review (Template for PI and I1 phases) Group name [PI|I1] Phase
T Iteration Demo Team 13 I1 Iteration
T /5115 Software Development Project I/II Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business.
T Software Development Project I Customer Info Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
T Iteration Demo Team DTT Project planning (PP) Iteration
T & 5115 Software Development Project I & II Quality Award and Course Closing Ceremony
Managing Challenging Projects Presented to the class of: Dr. Jane Mackay M.J. Neely School of Business.
T Iteration Demo Group name [PP|I1|I2] Iteration
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
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
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 Iteration Demo Vitamin B PP Iteration
Project Management Process Groups
Tasks & Grades for MET2.
Tasks & Grades for MET3.
Software / Web Engineering Projects 2IPE0
Presentation transcript:

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

Personnel   t764115###soberit.hut.fi  news://news.tky.hut.fi/opinnot.tik.ohjelmatyo

Contents  Introduction  motivation  educational goals  Project topics  Support to the projects  software development process  mentoring  experience exchange sessions  hw/sw infrastructure  evaluation  Substituting T

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  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 (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 5 months  –  Required effort ~150h/person (6p)  ~10-15h/week

Roles in the Project Group  SE experts (3/group)  T /5115 students  responsibility of some major SE area  Developers (4-6/group)  T 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  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

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 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.

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.

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 …

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

Registration and Forming of the Groups  Register to the course  DL :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 :00, teacher forms the rest of the trios  SE expert trios recruite developers  be quick!  after teacher assigns the remaining developers into groups

Contents  Introduction  motivation  educational goals  Project topics  Support to the projects  software development process  mentoring  experience exchange sessions  hw/sw infrastructure  evaluation  Substituting T

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

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

Project Topics – Selection Process  Customers present themselves and the topics Tu :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

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

Project Topics – Proposals

Contents  Introduction  motivation  educational goals  Project topics  Support to the projects  software development process  mentoring  experience exchange sessions  hw/sw infrastructure  evaluation  Substituting T

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 – 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:

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 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 )  Scope flexible  adjusted depending on the groups’ skills and knowledge of the problem domain

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  evaluates 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 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 s  preparing for mentor meetings

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

Infrastructure  Hardware  several computer classes at HUT  Maarintalo has some group work rooms (  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, …

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

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

Evaluation – Iterations (Customer)  Results and working methods  Manage customer’s expectations in iteration planning

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

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

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.

More Materials  Instructions  (->Instructions)  Projects from the previous years ( ) 

Contents  Introduction  motivation  educational goals  Project topics  Support to the projects  software development process  mentoring  experience exchange sessions  hw/sw infrastructure  evaluation  Substituting T

Substituting T  Substituting T requires  T (6p) + T (2p)  T 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

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?

SEPA – Content 1. 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 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

SEPA – Example: Pair Programming Pair 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

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

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 :00  Introduce your group to a some customers and apply for their topic  Start the project!