160 likes | 266 Views
The Project. Agenda. Why are we doing this What are we building What should you learn? Other benefits Details . Why Do This. Today programming projects are more than 3 or 4 people People issues are often more important than technical issues
E N D
Agenda • Why are we doing this • What are we building • What should you learn? • Other benefits • Details
Why Do This • Today programming projects are more than 3 or 4 people • People issues are often more important than technical issues • Computer science grad school needs to prepare students for that
What Are We Building? • A task manager • Actually an activity manager for any activities • Can be used by one person or an organization • It’s flexible, involves a number of good data modeling issues
Learning Goals • In real projects, people issues are often more important than technical issues • If you know the right answer but can’t persuade the group to adopt it you might as well not have than answer • If you can’t work well with others much of your time will be wasted in controversy • Most learning will be about people and organizing
More Learning Goals • Translucency is valuable and we will use it for all our security controls • There will be some learning about the discipline needed for shared development
Key Success Ingredient • We must have frequent releases • Weekly releases on the production system that really work • They we add capability to a working, integrated system • At the end we are not all crazily trying to integrate for the first time
Grades • You will be graded along the way • You will have a personal assignment that you report on • Your team will have responsibilities • Missing deadlines is very serious for your grade
Guidelines • Use the class email list for communication about the project • Put “xx Team” and subject in subject line • Meet deadlines • Never criticize another project participant—criticize an idea but not a person
Next Week • System Engineering Team will lead development of Version 1 of the data model • Class will organize now into these teams: • 1. System Engineering (done) • 2. Data Model (includes translucency • and views) • 3. Processing • 4. User Interface
Teams • Teams must be of mixed ethnicity and mixed experience level • Teams will develop goals for each release, working with system engineering team • Data model releases will be limited in number, as will view releases.
Releases • Teams install new release on test server • Teams demonstrate new release to system engineers, who test • System engineers port to production configuration • Professor makes final test • This must happen often • System engineers develop this CM plan
Success Criteria • The application is to meet basic professional standards of software • ease of use • speed • freedom from errors • security • If the whole thing doesn’t work, no one can get grade above C for the project
Next Week • System Engineers and Data Model Team prepare data model • Class reviews it, final version is developed • Data Model team takes over Version 1 of the data model
Following Week • Each team develops and delivers Version 1 of their code • Each team develops their Use Cases • Class will be used to review all of them