Overview of Graduate Program at CS SFSU Fall 2007 Prof. D. Petkovic.
Copyright D. Petkovic1 Software Engineering CSc640/848 Fall 2009 Class 2 - Final Project Prof. D....
-
Upload
alicia-rice -
Category
Documents
-
view
216 -
download
4
Transcript of Copyright D. Petkovic1 Software Engineering CSc640/848 Fall 2009 Class 2 - Final Project Prof. D....
Copyright D. Petkovic 1
Software EngineeringCSc640/848
Fall 2009Class 2 - Final Project
Prof. D. Petkovic
Lecturer: Gary Thomson
Prof. R. Todtenhoefer (Fulda University, Germany)
Prof. S. Huang (Florida Atlantic University, Boca Raton, Florida, USA)
08/04/09
Copyright D. Petkovic 1
Final Project• About Final project• High level vision of what needs to be built• Organization• Milestones and deliverables• Grading• Global groups and global SE• Tools for communication between group
members• Infrastructure for product development
Copyright D. Petkovic 1
About Final Project• General Objective: By developing a SW application in a
team setting, students will truly learn, experience and exercise all key steps in SW Engineering methodology of choice.
• Final project is the cornerstone of the class – learn SE methods and teamwork by doing it
• Teaching synchronized with Final Project• We will simulate real world small SW company – we
believe this is the only way to learn real SW Engineering• Adherence to the process as well as final product quality
are both part of grading
Copyright D. Petkovic 1
About Final ProjectTeaching Method:• Student groups (4-6) will simulate real world small SW
company to deliver a real SW product in five milestones• Performing in as real conditions as possible (e.g. SW
company), with lectures covering basic concepts in parallel with milestone deliverables
• Local and global groups• Coaches play the role of CEO, CTO, VPs of Engineering,
Sales and Marketing and Customer• Interaction and student participation is the key and is
required• Class teaching (e.g. “theory”) synchronized with Final
Project Milestones
Copyright D. Petkovic 1
Benefits of final project• Skills to be developed during final project:
– Practical application of class material on SE methods
– Teamwork
– Experience with full SW development lifecycle
– Experience with modern tools and platforms
– As close as possible to real life as possible
– Global SE skills for volunteer groups
• Great experience for getting and retaining good jobs in global economy
• Portfolio will be developed which is very useful in job search, especially for students with no industry experience
Copyright D. Petkovic 1
NEW since Fall 2008• Individual Milestone 0 forcing early learning and
installation of main tools and learning about the SW to be used as a basis for final project – mandatory, carries 5%
• New partners (since Fall 2008) in Florida Atlantic University, Boca Raton, Florida – Prof. Shihong Huang
• Continuing with our original partners at Fulda University, Germany
• Final project application this year: WWW-based restaurant reservation and rating
Copyright D. Petkovic 1
Final Project – Restaurant reservation and rating
• Create a WWW application that allows guests to check the restaurant, learn more about it, reserve the time and table, and rate it
• High level “vision” is posted• Consult many similar applications existing today (your
choice)
Copyright D. Petkovic 1
Working models and roles for student groups and instructors
• Local groups: emulate a single SW company hired by a a customer to develop a RestaurantRez project. All team members are in the same school
• Global groups: teams never meet each other, work remotely. SFSU partners are students of Prof. R. Todtenhoefer, Fulda, Germany and Prof. S. Huang, Florida Atlantic, Boca raton, Florida.
• Two kinds of global groups:– SFSU – Fulda (+ 9 hours time difference from SFSU)
– SFSU – FAU (+ 3 hours time difference from SFSU)
– Optional: team comprised of SFSU, Fulda, FAU students
• Instructors have multiple roles:– Coaches, helpers
– VPs of Engineering and Marketing in student SW companies
– Customer representatives
– Conflict resolution
Copyright D. Petkovic 1
Group scenarios• SFSU and FAU start at about the same time (late August),
Fulda starts mid October• Local groups (5-6 students each): small SW startups, in
charge of the whole project, from requirement solicitation to delivery
• Global groups:– SFSU-FAU (3+3): starting at the same time; both groups part of
the same company with distributed teams– SFSU-FULDA (4+2): SFSU prime contractor, hires Fulda group
for implementation in October
• Each group has a team lead• FAU: + 3 Hours time diff.; FULDA + 9 Hours time diff.
Copyright D. Petkovic 1
Classroom teaching and Final Project
• Class teaching will be synchronised and driven by Final project needs
• Class material needed for milestones will be presented before milestones are due – “just in time”
• Last hour or so every class student groups will sit together in the classroom, work on their own and also meet with instructors.
• Instructors will apply Scrum and Agile SE methods
Copyright D. Petkovic 1
Some Resources – tentative DDD
• Final Project High Level Visionhttps://restaurantrez.dev.java.net/servlets/ProjectDocumentList
• Environment set up instructions:https://restaurantrez.dev.java.net/docs/MileStone0.html
• Some WWW sites with similar applications– http://www.opentable.com/start.aspx?m=4
Copyright D. Petkovic 1
Roles - SFSU• Instructors will play the role of:
– CEO, VP of Engineering (schedules, critical decisions, marketing, legal)
• Dr. Petkovic– CTO (Architecture, Developmental tools, etc)
• Gary Thompson – Company VP of Marketing, Sales (usability, features, feedback)
• All Instructors– Customer representative (usability, requirements, features,
schedules)• All instructors
– Coach (help resolve and explain issues, teach…)• All Instructors
– Tools (SW development and communication)• Gary Thompson
– Early Fulda technical involvement (before their class starts): • TA from Fulda
Copyright D. Petkovic 1
Milestone 0 - individual
• Covers:– Learning and installing collaborative tools
– Learning and installing SEW development tools
– Learning about the class and etachign methods
• Mandatory, 5% of the grade, critical for student success
• https://restaurantrez.dev.java.net/docs/MileStone0.html
• Due in 2 weeks
Copyright D. Petkovic 1
Group Milestones 1-5• Milestone 1: High Level Specs, UI specs and Use cases –
Late September• Milestone 2: More detailed specs – Mid October• Milestone 2a (SFSU-Fulda): Hire Fulda team, bring them
up to speed, develop plans and interfaces – Late October• Milestone 3: First prototype and feedback (meeting with
instructors) – mid to late November• Milestone 4: Beta delivery, QA plans and usability
feedback – late November to early December • Milestone 5: Final Project demo and delivery – early or
late December (shortly after exam week) NOTE: TBD based on class schedules from FAU and FULDA
Copyright D. Petkovic 1
M1highlevel specs
M2 detailedspecs
M3 prototypeand arch.Week of
M4 betaand usability
M5 final deliveryand demo
3) Req. and specs
2) Final project
4) Architecture,tools
5) GUI
6) UML, SW processes
7) Proj. mng.; teamwork
8) Des. Patterns, Coding style, Src. Cntrl, 9) QA, usability
Time
Milestone deliveries
Class topics
Teaching synchronized and driven by milestones(M0 – individual; M1-M5 – group)
M2AM0Tools
10) SW Metrics
Copyright D. Petkovic 1
Group Milestones (NOT Milestone 0)• For the first four milestones M1-M4:
• Each announced in the class with detailed instructions posted (deliverables, schedule, format)
• Groups develop milestone documents and submit to the instructors for review as per schedule by team lead
• Instructors give official feedback on document hard copy• Students discuss in the group and with instructors and
incorporate e-mail in the document, freeze it for final delivery. Keep the copy with instructors comments.
• Use the previous milestone to develop the next milestone – have to be consistent
• Fifth milestone M5: final project demo and submission of all milestone documents, surveys, logs etc.
• Class material will be synchronized with milestones
Copyright D. Petkovic 1
Group Milestone interaction
• Students must submit each milestone document in TWO hard copies (to CS office), in requested format, on time, otherwise documents will be returned and considered not delivered on time
• No on-line submissions. Hard copy will be used to write instructors comments on it and be returned to the group
• Any delay in submission has to be approved by the instructor – team lead sends e-mail with the request for postponement before the milestone deadline
• The more interaction, the better
Copyright D. Petkovic 1
Final Project Organization• Students will work in groups of 5-6 • Groups will be selected by instructor in order to balance
skill levels. • Group Leaders will be selected by instructors, with student
feedback• Instructor and Lecturer will not get involved nor help in
details of coding and implementation; this will be the responsibility of the group.
• Global groups: Volunteer groups will engage, when possible, in doing the final project with students from our partner universities in Fulda, Germany (+ 9 hours time difference) and FAU (+ 3 hours time difference) in order to experience and train in global SW engineering.
Copyright D. Petkovic 1
Group Leads• Instructors will select a group leader (with group input
considered) • Role of group leads
– Organize and schedule meetings– Single point of contact with instructors (I.e. sends and receives all
e-mail an submissions between the group and instructor))– Help resolve issues– Can request meeting/input from instructors– Participation in creating deliverables as other team members
• May get up to 3% extra points for job well gone• Great experience for those interested in SW lead or
management• Will get coaching and help from instructors
Copyright D. Petkovic 1
Teamwork• All group members must contribute to the best of their
abilities
• Participation in teamwork and group work, attending meetings and be courteous and responsible is a must
• All group members get the same grade UNLESS the instructors are told or discover that somebody is not contributing fully. Those persons, if violations are verified, may receive reduced grade
• Team lead or anybody: please report to instructor if group member is definitively not cooperating. Action will follow, mediation will be attempted first ….
Copyright D. Petkovic 1
What is teamwork
• Knowledge and proper application of SE processes
• Knowledge of team organization and dynamics in SW development
• Proper personal team behaviour: ethics, courtesy, attendance, being reachable and responsive
• Knowledge and proper application of SW development tools
• Knowledge and application of team collaborative tools
MUST DO for students in this class
Copyright D. Petkovic 1
Teamwork
• Success of SW projects is more correlated with team cohesion than sum of the quality of people
• Being a star in a team that does not have good teamwork does not bring success
Copyright D. Petkovic 1
Interaction with Instructor and GTA• Interaction and teamwork (inter-team, with instructors) is
the key and required . Poor or no interaction reduces the grade
• Content of the interaction of any class feedback (verbal, surveys, time cards) will NOT be graded and it is encouraged please ask what you don’t understand and consult the instructors, there are no “bad” questions.
• Initiate interaction with instructors when you feel it is needed (verify specs etc.) via e-mail, schedule meetings
• Grading is based not only on results but also on participation and interaction (subjectively determined by instructors)
Copyright D. Petkovic 1
Global Software Engineering Issues
• One objective of the class is to train students and to understand issues of Global SW Engineering (SE)
• 3-5 volunteer groups will participate in Global SE version of Final project by forming Global groups with either (but not both) Fulda University in Germany or FAU in Boca Raton, and one maybe comprising of all three schools
• We will also teach some key issues regarding managing of global groups – need to be implemented
• This is hard and we know it – grading will be adjusted. The key is to try it and learn!
Copyright D. Petkovic 1
Assessment of progress
• It will be critical to monitor (surveys, logs, weekly status reports) SW engineering and teamwork issues arising in Global groups, and compare them with Local groups. This will be done by variety of ways: measurements, logs, self evaluation, questionnaires, surveys via time cards etc.
• Content of time cards and surveys is NOT used for grading
• Both local and global groups have to do this – it is mandatory to fill in time cards.
• Failure to submit time cards may result in up to 5% penalty in the grade
Copyright D. Petkovic 1
Assessment of progress (2)
• We will monitor the following issues related to Global SE and compare it with “classic” i.e. Local– Quality of delivered product– Resources, costs and efforts required to reach the deliverables
(NOT used for grading)– Teamwork, group dynamics and user satisfaction or frustration
with the process (NOT used for grading)– Factors that influence productivity of local vs. global groups:
distance, time zone, lack of personal contact (NOT used for grading)
• Time cards will be required weekly• Templates will be provided
Copyright D. Petkovic 1
SE Engineering methods recommended
• High level: Agile, Scrum, Iterative
• For user intensive subsystems: User Centred Design
(Know what methods you use and why)
Copyright D. Petkovic 1
SW environment to be used
• Follow Milestone 0
Copyright D. Petkovic 1
Final Project Grading –50%• Adherence to SW Engineering process (20/50)
– Quality and completeness of milestone documents– Delivery on time, in proper format– Time cards submission done (yes/no)– Ability to deal with feedback and iterate– Ability to effectively apply SW Engineering methods– Group engagement and participation
• Quality of final delivered product (20/50)– Functionality– Ease of use– Architecture– Final (not intermediary) submitted documents (milestone docs
etc.)– Adherence to requirements
• Demo (10/50)– Presentation delivery, slide content and layout, adherence to
allotted time
Copyright D. Petkovic 1
Summary• Final project is the cornerstone of the class – learn by
doing it. All classes synchronized with Final project milestones
• We will simulate real world small SW company – this is the only way to learn SW Engineering
• Adherence to the process as well as final product are equally important and equally graded
• “Journey is the reward”• Global SW Engineering will also be explored• This year application: restaurant reservation and ratingThis is unique and critical training to prepare you for the
real world as SW developer, tech lead, managerProvides effective portfolio to help you in job search