T Software Project, 5cr Course Overview

Similar documents
Empirical Software Evolvability Code Smells and Human Evaluations

Visit us at:

IT4305: Rapid Software Development Part 2: Structured Question Paper

Software Development Plan

Including the Microsoft Solution Framework as an agile method into the V-Modell XT

Major Milestones, Team Activities, and Individual Deliverables

Process improvement, The Agile Way! By Ben Linders Published in Methods and Tools, winter

Generating Test Cases From Use Cases

Welcome event for exchange students. Spring 2017

A Pipelined Approach for Iterative Software Process Model

The open source development model has unique characteristics that make it in some

Team Dispersal. Some shaping ideas

Execution Plan for Software Engineering Education in Taiwan

The Seven Habits of Effective Iterative Development

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

CUSTOMER EXPERIENCE ASSESSMENT SALES (CEA-S) TEST GUIDE


Deploying Agile Practices in Organizations: A Case Study

Basic Skills Plus. Legislation and Guidelines. Hope Opportunity Jobs

Implementing a tool to Support KAOS-Beta Process Model Using EPF

ARKANSAS TECH UNIVERSITY

Expert Reference Series of White Papers. Mastering Problem Management

Abstract. Janaka Jayalath Director / Information Systems, Tertiary and Vocational Education Commission, Sri Lanka.

22/07/10. Last amended. Date: 22 July Preamble

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

From Self Hosted to SaaS Our Journey (LEC107648)

DegreeWorks Advisor Reference Guide

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

Occupational Therapist (Temporary Position)

SME Academia cooperation in research projects in Research for the Benefit of SMEs within FP7 Capacities programme

The Isett Seta Career Guide 2010

MGT/MGP/MGB 261: Investment Analysis

Measurement & Analysis in the Real World

University of Toronto

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Orange Elementary School FY15 Budget Overview. Tari N. Thomas Superintendent of Schools

Houghton Mifflin Online Assessment System Walkthrough Guide

Business. Pearson BTEC Level 1 Introductory in. Specification

Software Maintenance

Pair Programming. Spring 2015

Guidelines for Mobilitas Pluss postdoctoral grant applications

Queen's Clinical Investigator Program: In- Training Evaluation Form

DRAFT VERSION 2, 02/24/12

Physics/Astronomy/Physical Science. Program Review

Institutionen för datavetenskap. Hardware test equipment utilization measurement

Examining the Structure of a Multidisciplinary Engineering Capstone Design Program

Simulation in Maritime Education and Training

Orientation Sustainable Metals Processing Major. Master's Programme in Chemical, Biochemical and Materials Engineering

Scenario Design for Training Systems in Crisis Management: Training Resilience Capabilities

MANAGEMENT CHARTER OF THE FOUNDATION HET RIJNLANDS LYCEUM

FLN Learning Helping your Child succeed

Project Leadership in the Future

ICT A learning and teaching tool By Sushil Upreti SOS Hermann Gmeiner School Sanothimi Sanothimi, Bhaktapur, Nepal

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Peaceful School Bus Program

VOL VISION 2020 STRATEGIC PLAN IMPLEMENTATION

Envision Success FY2014-FY2017 Strategic Goal 1: Enhancing pathways that guide students to achieve their academic, career, and personal goals

Faculty Schedule Preference Survey Results

Session Six: Software Evaluation Rubric Collaborators: Susan Ferdon and Steve Poast

DECISION MAKING THE INTERNATIONAL NEGOTIATION AUTHORITY

1 Use complex features of a word processing application to a given brief. 2 Create a complex document. 3 Collaborate on a complex document.

Value of Athletics in Higher Education March Prepared by Edward J. Ray, President Oregon State University

Higher Education Six-Year Plans

CAUL Principles and Guidelines for Library Services to Onshore Students at Remote Campuses to Support Teaching and Learning

On the Combined Behavior of Autonomous Resource Management Agents

Intel-powered Classmate PC. SMART Response* Training Foils. Version 2.0

Entrepreneurial Discovery and the Demmert/Klein Experiment: Additional Evidence from Germany

Manual for the internship visa program of the Fulbright Center

Field Experience Management 2011 Training Guides

Guidelines for Mobilitas Pluss top researcher grant applications

The Future of Consortia among Indian Libraries - FORSA Consortium as Forerunner?

An Industrial Technologist s Core Knowledge: Web-based Strategy for Defining Our Discipline

SEBUTHARGA NO. : SH/27/2017 SCOPE OF WORKS, TECHNICAL SPECIFICATIONS & REQUIREMENTS

Qualification handbook

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

2007 No. xxxx EDUCATION, ENGLAND. The Further Education Teachers Qualifications (England) Regulations 2007

2013 Annual HEITS Survey (2011/2012 data)

LMIS430: Administration of the School Library Media Center

Hawai i Pacific University Sees Stellar Response Rates for Course Evaluations

A non-profit educational institution dedicated to making the world a better place to live

Organising ROSE (The Relevance of Science Education) survey in Finland

Task Types. Duration, Work and Units Prepared by

Strategy and Design of ICT Services

EXECUTIVE MASTER ONLINE MASTER S IN INNOVATION AND ENTREPRENEURSHIP

New Program Process, Guidelines and Template

Pragmatic Use Case Writing

FY16 UW-Parkside Institutional IT Plan Report

Information for Exchange Students Spring Semester School of Business, Economics and Law University of Gothenburg Sweden

GRADUATE PROGRAM Department of Materials Science and Engineering, Drexel University Graduate Advisor: Prof. Caroline Schauer, Ph.D.

A systems engineering laboratory in the context of the Bologna Process

Computer Organization I (Tietokoneen toiminta)

Personal Tutoring at Staffordshire University

P. Belsis, C. Sgouropoulou, K. Sfikas, G. Pantziou, C. Skourlas, J. Varnas

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Android App Development for Beginners

Success Factors for Creativity Workshops in RE

Banner Financial Aid Release Guide. Release and June 2017

Community Enrichment

The Agile Mindset. Linda Rising.

PROGRAMME SPECIFICATION

Transcription:

T-76.115 Software Project, 5cr 2003-2004 Course Overview Jari Vanhanen Ohjelmistoliiketoiminnan ja tuotannon laboratorio Software Business and Engineering Institute (SoberIT) Contents Motivation Educational goals Roles Topics Software development process Supervision Grading Other practicalities Read the details from the Course overview document: http://www.soberit.hut.fi/t-76.115/03-04/ohjeet/course_overview.html 1

Motivation: A software development scenario An experienced guru coder develops software alone as a passionated hobby for himself without external time pressure with unlimited effort to use without major consequences of bugs without delivering the sw to be developed further by others This is NOT the scenario on this course! Motivation: Another sw development scenario Average sw developers develop software as a team as their daily work for an external customer who pays for the results where the management wants follow and control the project within a strict schedule and budget where every hour costs money where bugs may cause major consequences where the maintenance of sw must be successfully transferred to the customer s organization What should we pay attention to when we develop sw in this scenario? 2

Motivation: Another sw development scenario Average sw developers develop software (skills) as a team (communication, coordination, team spirit) as their daily work (motivation) for an external customer (understanding (changing) needs) who pays for the results (economic importance of the project) where the management wants follow and control the project (visibility, risks ) within a strict schedule and budget (predictability) where every hour costs money (efficiency, prioritization) where bugs may cause major consequences (quality, proof of quality) where the maintenance of sw must be successfully transferred to the customer s organization (maintainability, tech. documents, training) Educational Goals Getting hands-on experience of all aspects of a real-life software project specification, design, programming, testing project management, configuration management Learning to work with a real customer understanding the real needs Learning teamwork a large team needs good management in order to work efficiently Learning to use good sw engineering (SE) practices, methods and tools projects may be too small for some practices to become beneficial cost of learning, unnecessary bureaucracy projects are large enough to get a real experience of applying most practices analyzing experiences building a toolkit of practices and understanding when they are applicable 3

Educational Goals After this course you should be able to use good work practices and tools in a sw project have a toolkit to create an efficient process for your next sw project understand the challenges involved in developing commercial sw Use this opportunity to learn something new! In your real world projects you probably may not have time for that too often Participation Full year team project work group of 7 persons no examination 8-15.9. personal sign up max. 26*7 persons this should be enough to accept everyone to participate criteria for filtering 1. course not compulsory 2. T-76.601 not passed and no graduation before 5/2004 16-22.9. group sign up full group formed topic negotiated with a customer 4

Prerequisites Prerequisites T-76.601 Introduction to Software Engineering (mandatory) but if you have already similar skills, you can take 76.601 this fall describe your SE background shortly in the registration form T-76.611 Software Design and Specification Methods T-76.612 Software Project Management T-76.613 Software Testing and Validation T-76.614 Software Product Management general programming experience The lectures on this course only briefly summarize some topics of prerequisite courses refreshing your memory try to get experience of all SE areas to your group! Roles Steering group Customer problem and requirements special infrastructure Technical advisor helps in technical issues customer may take this role too Mentor helps in project management and working methods related topics course personnel Students Project group/ vendor developing the sw Project manager (from project group) planning and controlling the project probably does not have much time to participate in system development Customer and technical advisor Mentor Project group including project manager 5

Project Goals from Different Perspectives Project group learning new things producing great software (fame, money) passing the course good grade PROJECT Customer/technical advisor getting good software getting experiences of technologies and working methods learning the role of the customer in an IT-project Mentor/course Providing educational frameworkfor learning: comprehensive view of a wholesw project applying learned theories in practice using good SE practices, methods and tools (toolkit for future projects) working with a real customer working efficientlyas a team Team Work Good team spirit is a key success factor learn to know each others Assign the roles and responsibilities project manager (mandatory role) customer responsible, GUI responsible, designer, tester persons responsible of certain subsystems recycling the roles more comprehensive learning experience Agree on efficient communication and team work practices Preparing for personnel risks someone may leave the project The whole group is responsible of the project 6

Topics - Requirements From T -department, other HUT, and companies Reasonably well defined in advance Developing software is the most important goal for the project contains all phases of a sw project secondary goals may include e.g. technology reviews Appropriate difficulty and scope flexibility Public documentation Software can be demonstrated at HUT No direct salary is paid equality between groups compensations of giving the customer more rights to the results may be negotiated Participation fee for external customers commitment course costs Own topics real customer? grading? Topics Selection Process Form a group (7 persons) lectures, opinnot.tik.ohjelmatyo Topics published on the web 10.9. don t contact customers yet, Free topics presented 16.9. but, ask your questions here Pick 2-3 suitable topics not only the most popular ones difficulty has minor effect in grading too easy vs. too difficult a setting What do you want to learn? Contact customers after 16.9. negotiate skills, rights, supervision, hw/sw, work space wait for customer s decision Select quickly if you get several positive answers inform all contacted customers immediately of your decision Contact more customers if you start getting negative answers see topic list of available topics Sign up for the course 7

Topics - Rights to the Results Recommendation copyright to the group customer has the right to use the system for defined purposes The group and the customer may agree on other conditions customer s right to develop the system further conditions for commercial use non disclosure agreement (NDA) The rights must be tentatively discussed before selecting the topic a written contract must be made early in the project Legal rights to projects - document http://www.soberit.hut.fi/t-76.115/03-04/ohjeet/oikeudet_eng.html Software Process P rocess framework provided iterative and incremental too general to be used as such certain mandatory work practices and documents lots of freedom (and responsibility) for customization amount of bureacracy decreased agile perspective emphazised too lecture 23.9. http://www.soberit.hut.fi/t-76.115/03-04/ohjeet/process.html Project control variables effort and calendar time fixed 190h/person = ~8h/week/person major control points such as project reviews quality fixed at least good enough scope flexible clear priorities to scale the scope up/down Project Planning Implementation 1 Implementation2 Implementation 3 Delivery Iterative development Iteration planning Project reviews Documentation Use cases Defect tracking Time reporting Version control Coding conventions Risk management Testing 8

Average Effort Distribution in 2002-03 30,0 25,0 20,0 % 15,0 10,0 5,0 0,0 coding design testing documentation project man. meetings studying lectures infra More statistics from 1995-2003 at http://www.soberit.hut.fi/t-76.115/03-04/raportointi/index.html Personal SE Assignment Encouraging everyone to learn about good SE practices Assignment steps 1. Select and learn a practice see Recommended practices 2. Plan and manage the adoption and use 3. Use and improve the practice 4. Report experiences Evaluated individually steps 1+2, 0-5 points (I1 iteration) steps 3+4, 0-5 points (DE iteration) Example: Pair programming (PP) read papers from http://www.pairprogramming.com plan the use training who/all on which modules/type of work/occasions forming/cycling the pairs list expected advantages/disadvantages measures, e.g. amount of use (% of programming time, LOC) comparison of PP and non-pp code use PP bugs design quality metrics productivity (LOC/hour) knowledge transfer in the group adjust the practice, if needed report experiences developer s subjective feelings measures 9

Supervision and control of the Projects Project manager daily management Customer/technical advisor regular meetings and other communication more important early in the project content of the project technical issues grading Mentor see the next slide Supervision and control of the Projects: Mentor The purpose of mentoring help the project succeed guide the use of good SE practices discuss the details about the course and exceptions to course requirements Mentor participates in 5 mentor meetings in 5 project review meetings by giving points and feedback in the end of iterations by continuously observing the project status reports, time reporting by answering team s e-mails Allocated effort for mentor ~1h/meeting (*10) ~4h for reading material and grading in the end of each iteration (*5) ~2h/iteration for (*5) observing the project answering e-mails preparing for mentor meetings Help the mentor help you! keep him up-to-date prepare for mentor meetings every project will face problems and do mistakes, but learn from them 10

Evaluation Iterations customer/tech. advisor focuses mainly on delivered sw and tech. documents mentor focuses on used work practices selection, use, learning mandatory course requirements Personal SE assignment mentor evaluates Project s end results customer compares to his project goals mentor compares to average projects on this course Customer Mentor TOTAL Iteration: Project planning 6 4 10 Iteration: Implementation 1 6 4 10 Iteration: Implementation 2 6 4 10 Iteration: Implementation 3 6 4 10 Iteration: Delivery 6 4 10 Personal SE assignment 0 10 10 Project's end results 20 20 40 TOTAL 50 50 100 11

Evaluation - End results Customer (end results) Mentor (end results) 17-20 Exceeds expectations expressed by customer. 17-20 Exemplary Exemplary! 13-16 Fulfills goals of customer, or goals pared down to in 13-16 Up to par accord with customer over course of project 9-12 Fulfills only the most important goals of customer 9-12 Project a slight failure. 5-8 Severe shortcomings 5-8 Severe shortcomings 0-4 Unsatisfactory 0-4 Unsatisfactory Evaluation - General Unified grading between groups the customer must give a reasoning behind his points to the mentor mentors have a grading meeting Scale published in the end of course ~50 points required to pass the course 12

Hardware and Software All computer classes at HUT A218 Maarintalo has some group work rooms (http://www.hut.fi/atk/luokat/) 14 Windows 2000 computers Office 2000, MS Visual Studio 6, J2SDK, Rational Rose Enterprise, Rational Test Studio,... Customer customer must provide other necessary software some customers may provide additional computers, rooms, etc. negotiate when selecting the topic Course time reporting (Trapoli) bug reporting (Bugzilla) document delivery (webcopy) Schedule See the web page http://www.soberit.hut.fi/t-76.115/03-04/schedule.html Next steps 10.9. Topics published on the web please, do not contact customers yet 15.9. 15:00 personal sign up 16.9. 17:00-19:00 Customers present topics 22.9. 15:00 group sign up e-mail to t76115@soberit.hut.fi before the dl, if you need more time 13

Personnel Responsible professor Casper Lassenius Responsible teacher Jari Vanhanen Mentors (researchers/senior students ) Kristian Rautiainen Mika Mäntylä Jari Vanhanen Cemo Timucin Tapani Aaltio Joonas Iivonen Seppo Sahi Johanna Tikkala Pietu Pohjalainen Kennet Westerdahl Lauri Auronen Markus Rautopuro Course homepage http://soberit.hut.fi/t-76.115/ Teacher s e -mail t76115@soberit.hut.fi Course information news://news.tky.hut.fi/opinnot.tik.ohjelmatyo course home page (News) More Information Instructions http://www.soberit.hut.fi/t-76.115/ (->Instructions) Projects from previous years (1995-2003) http://www.soberit.hut.fi/t-76.115/03-04/palautukset/index.html 14

Your Feedback We continuously want to improve this course! Inform us immediately, if you see ambiguities in our instructions some instructions are missing you have any suggestions on improving the course t76115@soberit.hut.fi listens to you! There will be a mandatory course questionnaire on the web after the course 15