Project management course: experience from the first year and second version Mirjana Ivanović, Zoran Putnik, University of Novi Sad DAAD Project “Joint Course on Software Engineering” Humboldt University Berlin, University of Novi Sad, University of Plovdiv, University of Skopje, University of Belgrade, University of Niš, University of Kragujevac Version: Oct. 23, 2003 (D Sep. 22, 2003) SPM – Modification and improvement 2 Weeks (January 2006, DAAD support) Prof. Klaus Bothe, Institut für Informatik, HumboldtUniversität zu Berlin Modification and improvements of existing material (presentations) Additional sources • Internet sources • Books - T. DeMarco, T. Lister, Waltzing with Bears, Managing Risk on Software Projects, Dorset House Publishing, 1998, (for additional, further topic) - P. Martin, K. Tate, Getting started in Project Management, John Wiley & Sons, • Prof. Dr. Holger Schlingloff slides (Humboldt University, mostly for HR topics) DAAD project „Joint Course on Software Engineering“ © 2 Course Organization IV year students of Business Informatics, 14 students + significant number of voluntaries – concluded that course could be useful for them based on experience of previous generation of students VIII semester, 2 hrs lecture, 1 hr exercises Exam and final mark: • • • • 1/5 of points obtained by regular class attendance Practical assignment in MS Project Continual assessment (3 times during semester) Questionnaire of 10-20 different kinds of questions (multiplechoice, short answers, …) • Final questionnaire (improve results obtained during semester, for those who missed some of questionnaires) DAAD project „Joint Course on Software Engineering“ © 3 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management (students’ opinion is that part is extremely interesting and useful) DAAD project „Joint Course on Software Engineering“ © 4 SPM - Introduction Essential project properties Classifications of projects What is software, management Tasks of management, Why projects fail Activities of project management Real world example Project Management Body Of Knowledge, general overview DAAD project „Joint Course on Software Engineering“ © 5 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 6 SPM – CMM and process improvement Software Process, Improvement, Process Improvement Frameworks Quagmire Maturity Models, Improvement levels, Level Requirements CMM Integration and benefits DAAD project „Joint Course on Software Engineering“ © 7 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 8 SPM – Cost estimation and COCOMO Software cost estimation, general information and some techniques, problems Quality and productivity COCOMO and COCOMO II model DAAD project „Joint Course on Software Engineering“ © 9 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 10 SPM – Software measurement and metrics Software Measurement, Classification Project Metrics, Typical Metrics Defects, Removal Efficiency Software Metrics Classification Personnel Metrics Hardware Metrics DAAD project „Joint Course on Software Engineering“ © 11 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 12 SPM – Planning Kinds of planning (Time, Capacity, Cost) Net-planning (rules, steps, activity lists, critical paths) Management of big software projects, PERT Technique, MPM: Metra-Potential-Method Gantt chart Tools and algorithms DAAD project „Joint Course on Software Engineering“ © 13 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 14 SPM – Ethical issues Ethics introduction Software Engineering Ethics and Professional Conduct Computer Ethics, Computer Crime, Privacy and Anonymity, Intellectual Property, Professional Responsibility Case Study: 10 Big Myths about copyright Case Study: E – Voting DAAD project „Joint Course on Software Engineering“ © 15 Content of Course Lectures Introduction + general overview of PMBOK (117 slides – now 116+74) IT management (59 +132) – avoided this year, a lot of overlapping subjects with other topics CMM and process improvement (51 – now 56) Cost estimation and COCOMO (71 – now 84) Software measurement and metrics (51 – now 55) Planning (77) Using tools - Microsoft project (65, Exercise) Ethical issues (87 – now 90, + Exercise) NEW - Human resources and management DAAD project „Joint Course on Software Engineering“ © 16 Human resources and management Managing conflicts (27) Communication techniques (27) Moderation (29) Attitude theories (50) DAAD project „Joint Course on Software Engineering“ © 17 Organization of Exercises Exercises are organized on-the-need bases. During the first few weeks, students were introduced to the body-of-knowledge for the subject, so there was nothing to practice on. On some of the following weeks, professor needed additional classes to manage all of the material. The first “real” exercises were held in connection with the “Planning” topic. DAAD project „Joint Course on Software Engineering“ © 18 Organization of Exercises After theoretical lesson about planning, exercises were held using MS Project software. • It was first presented theoretically at a 3-hour class • On another 3-hour class, it is presented “practically” (using representative examples) • After that, students had 4 hours of practical work, to gain experience with MS Project • Additionally, this year our e-Learning favourite Moodle was used to help with MS Project too. • Elements from MS Project help system were translated, adjusted, and situated as an e-Lesson in Moodle system. • Lucky us – those are the same students that have usernames, passwords, and knowledge of Moodle from the SE course. Finally, students were given a software project that they have to manage using MS Project, in a classroom, or at home This project served as a part of the exam DAAD project „Joint Course on Software Engineering“ © 19 Organization of Exercises Students had to manage a project: “Organization of a scientific conference” (new example, but similar to previous one) Students were given a written material, and one lecture about “how conferences are organized in a real life”. They were also given a use-case type of a document for all of the activities in connection with the conference organization. Assistant for this subject was a working member of 12 conferences so far. Real-life. DAAD project „Joint Course on Software Engineering“ © 20 Organization of Exercises This allowed us to present a lot of possibilities of MS Project. One additional possibility is to “torture” students until they create a satisfactory project. This possibility was not over-used, there was only one student that completely missed the point (or tried to manage this part of the exam as-easy-as-possible). He had to do it all over again, this time almost perfectly. DAAD project „Joint Course on Software Engineering“ © 21 Organization of Exercises “Practical” exercises were also held on a topic of ethical aspects! 10 situations from a programmers real or imaginary life were presented to the students. Stories were read and discussed during a class, each new one receiving bigger and better reception (maybe because a choice of order of stories?) This part of exercises had a very good reception last year, so we were looking forward to this years’ happening. DAAD project „Joint Course on Software Engineering“ © 22 Organization of Exercises Unfortunately for us, the exercises were held during the week while a lot of students went to a final-year 7-days excursion. This IS something NO exercise could compete with! All of the students who were present – yet, only about 1/3 of a group – actively participated in a discussion, all of them had an idea, an opinion, a thought, and were willing to share it with the others Actually, there WERE some of them not too willing to participate at first, but in such a small group, with others presenting their thoughts, with the assistant asking them for their opinions directly, they became involved in a short time! Another theme students were willing to participate in was a case study on “e-mail etiquette”. They were adding their suggestions to the presented material throughout the whole lesson! DAAD project „Joint Course on Software Engineering“ © 23 Final Exam Results Of 14 students, 12 successfully finished their practical assignment last year. This year – 11 (out of 14) students solved the practical assignment so far. (Additional 2 are currently in USA). Marks: • 7 – once, 8 – eight times, 9 – three times This year • 7 – once, 8 – twice, 9 – five times, 10 –three times DAAD project „Joint Course on Software Engineering“ © 24 Final Exam Results Of 12 students eligible for exam, 11 showed up, each one passing both tests, marks 6 – 10. (last year) After that, they accepted offered marks. This year – 9 out of 11 showed up, and accepted marks. (The last 2 finished their project during this summer. Through e-mail conversation they agreed to their marks and will approach the exam in September.) DAAD project „Joint Course on Software Engineering“ © 25 Students Opinion – Questionnaire Effort: Attendance Post-processing [lectures] Post-processing [assignments] 5 - 100% 1 - 20% Hours Hours Students attended 50% of the lectures on the average, and it took them 1.7 hour post-processing time for lectures and the assignments. (2005) ….. more than 80% …. 2.7 hours! (2006) DAAD project „Joint Course on Software Engineering“ © 26 Students Opinion – Questionnaire Contents: Amount of knowledge Contents Course well structured 5 - Too much 1- Too few 5 - Too easy 1 - Too difficult 5 - Very well 1 – Unstructured Students assessed that they received (2005) • “perfect amount” of knowledge, (3,00) • “almost perfect” content, (3,20) • but the structure of the course was just “average”. (2,86) Almost the same! (2006) The only difference was the improvement in the structure (it is 3,20). DAAD project „Joint Course on Software Engineering“ © 27 Students Opinion – Questionnaire Needed pre-knowledge?: SE + English (5x) Experience. Not too much - just basics of everything Needed pre-knowledge was assessed usually as: • “nothing”, “a little bit of everything”, “experience”, and • with 40% of students as “Software Engineering + English language” (2005). Almost the same! (2006) (percent a bit higher!) DAAD project „Joint Course on Software Engineering“ © 28 Students Opinion – Questionnaire Which topics in Serbian?: • Lectures in Serbian slides in English (1x) • All (11 x) • None (1x) Percent of students thinking that they need slides in Serbian was even higher. This wasn’t possible till now, because slides are still changing, yet we are seriously considering this option. DAAD project „Joint Course on Software Engineering“ © 29 Students Opinion – Questionnaire Style of the lectures: According to the questionnaire, we improved on almost every issue: Lecturer familiar Lectures well prepared Lecturer engaged Willingness to answer students' questions Presentation Presentation style encourage to follow the lecture Mark (last year) 4.10 (4.00) 4.10 (3.50) 4.10 (3.64) Wanted mark 5 5 5 4.50 (4.92) 4.50 (4.70) 5 3 3.00 (2.90) 5 Remarks: This year, we had one interesting idea: “… some of the lectures should be given to students – that would be more interesting and engaging …” DAAD project „Joint Course on Software Engineering“ © 30 Students Opinion – Questionnaire Using media • Amount of info on slides adequate • Slides well structured and clearly organized 5 - Very well 1 - Not so much 5 - Very well 1 - Not so much Average marks last year: • “amount of info adequate” • “slides well structured and clearly organized” 3.14 3.29 This year, after some improvements, marks were significantly higher: • “amount of info adequate” • “slides well structured and clearly organized” DAAD project „Joint Course on Software Engineering“ © 4.50 3.90 31 Students Opinion – Questionnaire Assignments: • Difficulty • Motivating 5 -Too high 1 -Too low 5 -Very much 1 -Not so much Similar with the assignments: • “difficulty to solve” • “motivating” 2.36 3.14 In 2006. season: • “difficulty to solve” • “motivating” DAAD project „Joint Course on Software Engineering“ © 3.14 3.29 32 Students Opinion – Questionnaire Benefit of the course: • New things learned • Contents useful • Overall rank of the course 5 – Much 1 -Not so much 5 –Completely 1 -Not so much 5 - Very well 1 - Bad Average marks for a course improved: • New things learned • Contents useful 3.25 (2005) 3.75 (2005) 4.00 3.70 • Overall rank 3.83 (2005) 4.10 This year, we asked students how important for them is that the course is internationally supported. On a scale of 5 (very) to 1 (not at all), the mark was 4!!! DAAD project „Joint Course on Software Engineering“ © 33 Students Opinion – Questionnaire Remarks: Overall comments of the course, for the last year (2005) were: • “Everything OK. Everything according to curriculum. Good and useful. Very useful” but also: • “Pure theory, not connected to real life. Lack of practical lessons evident. Not connected to students’ experiences (?)” This year (2006), comments were: • “Ethical issues and Human resources – interesting and very important” DAAD project „Joint Course on Software Engineering“ © 34 Lecturer’s Opinion Positive Good and representative material (topics) Prepared slides, acceptable quality, coverage to final version Acceptable level of familiarity, preparation of additional topics (Risk management, Agile project management, Methodologies of Software Project Management) Negative A lot of different sources – maybe further refinement is needed Static structure of slides, too much text, introduction of animation and graphics Further readings and deeper involvement in whole material, introduction of other software tools for project management DAAD project „Joint Course on Software Engineering“ © 35 Conclusion Additional support to upgrade the course on SPM Further improvement is (needed) expected Questionnaire results are satisfied (better then obtained last year) Better and more student-oriented organization of practical work and exercises (work in real environment) – permanent problem DAAD project „Joint Course on Software Engineering“ © 36 Additional support to upgrade the course on SPM 1 year project for modification of existing course DAAD project „Joint Course on Software Engineering“ © 37 Additional support to upgrade the course on SPM The course will cover the following topics (the order will be influenced by the order of practical assignments): Introduction to project management Communications management Software process models Deeper coverage of some software process models Quality of software development process and its standardization Project management processes according to PMBOK and life-cycle processes (primary, supporting, organizational) Assessment procedures: ISO, SPICE, PSP (Personal Software Process), TSP (Team Software Process), CMM (Capability Maturity Model), SPICE, … DAAD project „Joint Course on Software Engineering“ © 38 Additional support to upgrade the course on SPM The course will cover the following topics (the order will be influenced by the order of practical assignments): Project management • • • • Feasibility study, the role in requirements engineering, … Cost estimation and COCOMO model Risk analysis Tracking (tools, metrics, …) Methodologies of Software Project Management: RUP, Prince, ... Software process metrics Maintenance and maintenance metrics Advanced topics in Professional Responsibilities and Computer Ethics DAAD project „Joint Course on Software Engineering“ © 39 Additional support to upgrade the course on SPM Teaching Methodology Lectures will be supported by animated, multimedia ‚power-point' slides. Handouts for these slides will be delivered to students after the lecture. We also plan to write and publish a textbook for the course. During practical exercises students (divided into teams) will 'simulate' the real-world process of managing the software project. During the life of the project teams would exchange roles in order to better appreciate: a) the role of proper documentation throughout the life of project and b) the difference between managing and 'doing'. DAAD project „Joint Course on Software Engineering“ © 40 Additional support to upgrade the course on SPM Teaching Methodology Complete teaching material • copies of presented slides, • text of practical assignments, • documents produced by students groups will be available on the web-site (after the presentation of certain lectures). DAAD project „Joint Course on Software Engineering“ © 41 Additional support to upgrade the course on SPM Examining Methodology Constant review of practical work done during practical exercises (work on the project.) This will be conducted continuously during the semester. Short tests on theoretical aspects taught during the lectures. Discussion on documents and solutions produced during the work on the project. Oral exam covering topics taught during lectures, at the end of the semester - for the students unsatisfied with a grade acquired throughout the semester. DAAD project „Joint Course on Software Engineering“ © 42