Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "T-76.4115/5115 Software Development Project I/II Course Overview 11.9.2007 Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business."— Presentation transcript:

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

2 Personnel  http://soberit.hut.fi/T-76.4115/  email: t764115###soberit.hut.fi  news://news.tky.hut.fi/opinnot.tik.ohjelmatyo

3

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

5 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

6 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?

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

8 Course = Project Work  Groups of 7-8 students  Real customers with real topics  Duration about 5 months  25.9.2007 – 5.3.2008  Required effort 150h/person (6p)  ~10-15h/week

9 Roles  Project group  students, who develop the software  Customer  provides the topic and requirements for the system to be built  helps with technical issues  this may be another person(s) from the customer organization  takes the responsibility of the system after the project  Mentor  helps with the working methods  ensures the fulfillment of the educational goals  course personnel

10 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 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 good grade from the course Project

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

12 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 others participate. Roles overlap!

13 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!

14 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

15 Educational Goals (2/3)  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.

16 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 …

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

18 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

19 Project Topics – Legal Issues  Intellectual property rights (IPR)  open source  customer gets IPRs  Nondisclosure agreement (NDA)  some companies require this  Contracts prepared by HUT lawyers  HUT companies  HUT students  Public documentation  except code and technical specs  if the customer requires NDA she must review documents before publication  Participation fee for industrial customers  commitment  course costs

20 Registration and Forming of the Groups  Register to the course  DL We 12.9. 13:00 (Tomorrow!)  Teacher selects the SE experts immediately after the DL  SE experts form trios  register a trio by sending e-mail to the teacher immediately  after Fr 14.9 13:00, teacher forms trios of the remaining SE experts  SE expert trios recruite developers  be quick!  send e-mail to the teacher immediately when you recruite someone  after Fr 21.9. 13:00 teacher assigns the remaining developers into groups

21 Project Topics – Selection Process  Customers present themselves and the topics Tu 18.9. 17:00-19  no contacting before that  SE expert trios apply for topics  contact 2-4 customers  “sell” your group to the customer  having good developers may help  short CV of the group  Ensure the acceptability of the customer and the topic  her understanding of the domain  her commitment to the project  provided technical supervision  provided 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 If you are not sure, try another customer.

22 Project Topics – Selection Recommendations  Too easy a topic?  boring  no ”bonus” points in the evaluation  some less competent group should get it  Too demanding a topic?  unsatisfied customer  when having a panic with fulfilling customer’s goals the educational goals are typically forgotten first  What do you want to learn?  domain  technology  getting to know a customer’s organization

23 Project Topics – Proposals

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

25 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  often all stakeholders and group members physically distributed -> 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

26 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

27 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

28 Software Process - Iterations

29 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 wants  Calendar time fixed  project schedule defined by the course  major control points such as iteration demos  Effort fixed  150h/person (+40h if substituting T-76.115 with T-76.4115 + T-76.5158)  Scope flexible  adjusted depending on the groups’ skills and knowledge of the problem domain

30 Software Process – Details  Lecture on the software process framework on 25.9. 16-19  http://www.soberit.hut.fi/T-76.4115/07-08/instructions/process.html http://www.soberit.hut.fi/T-76.4115/07-08/instructions/process.html

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

32 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 (*~10)  ~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

33 Experience Exchange Sessions  Arranged for each SE expert role separately  experts from SoberIT are present  Discussions about problems and good practices  Points in course evaluation for groups who prepare for the sessions  send at least two topic proposals about  practical problems from your project  innovative solutions to typical problems  prepare to present the topic shortly during the session  1-2 sessions per role scheduled  if you find these useful more can be arranged later

34 Infrastructure  Hardware  several computer classes at HUT  Maarintalo has some group work rooms (http://www.hut.fi/atk/luokat/)  SoberIT’s PC room A218 (in T-building)  8 Windows PCs (3.2 GHz)  Software  Microsoft MSDN AA  licenses for students own computers, msdn (at) soberit.hut.fi  Magic Draw Personal Edition 12.5 UML tool  licenses for students own computers  servers maintained by SoberIT  Bugzilla – bug reporting  MediaWiki – collaboration  Customer  customer must provide other necessary hardware/software

35 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 he knows from the project  mentor adjust his scale in evaluation meetings with other mentors  group members  personal contribution of other group members

36 Evaluation – Final Course Grade  Total points = PP + I1 + I2 + EES + 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

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

38 Evaluation – Iterations (Mentor)  Focuses on work practices  conformance to the mandatory practices  plan  usage  use of other good work practices  continuous process 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

39 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

40 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 can be sent privately to the 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, deductions are discarded.

41 More Materials  Instructions  http://www.soberit.hut.fi/T-76.4115/ (->Instructions) http://www.soberit.hut.fi/T-76.4115/  Projects from the previous years (1995-2007)  http://www.soberit.hut.fi/T-76.4115/07-08/projects/index.html http://www.soberit.hut.fi/T-76.4115/07-08/projects/index.html

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

43 Substituting T-76.115  Substituting T-76.115 requires  T-76.4115 (6p) + T-76.5158 (2p)  T-76.5158 Special Assignment in SE: SEPA (2p, ~40h)  make a SEPA (software engineering practice assignment)  requires ~15 hours of effort/person  pair work  and spend 25h of additional effort for the project

44 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 works in other slightly different projects?  What is your evaluation based on?  amount of usage  data collection methods

45 SEPA – Content 1. Select and study a practice  formulate a relevant SE problem and choose a practice that may be a solution  as early as possible  discuss the choice with the mentor 2. Deploy the practice  how, when, by whom  give guidelines or training  document the deployment plan and e-mail it to the mentor 3. Use and improve the practice  disciplined usage  continuous improvement  document changes to the usage 4. Collect data  hard metrics and subjective experiences  both about effects and usage information  summarize findings in each iteration  draw conclusions in the end of the project Pass/fail evaluation

46 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

47 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

48 Next 7 Days  Register immediately to the course  Form the groups  SE Experts  form a trio  recruit developers  Developers  try to get recruited into a SE expert trio  Read the topic proposals  choose some favorites  Come to the topic presentation lecture on Tu 18.9. 17:00  Introduce your group to some interesting customers


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

Similar presentations


Ads by Google