420 likes | 572 Views
CS 577b: Software Engineering II. Class Introduction. 1. CS 577b Course Objective. Learn how to go From a successful RDCR package To a successfully "delivered" software system Main elements Coping with “devils in the details” Doing cost-effective quality management
E N D
CS 577b: Software Engineering II Class Introduction (C) 2006-2010 USC-CSSE 1
CS 577b Course Objective • Learn how to go • From a successful RDCR package • To a successfully "delivered" software system • Main elements • Coping with “devils in the details” • Doing cost-effective quality management • Understanding how stakeholders will operate & maintain system • Using IICM-Sw Architected-Agile project guidelines (C) 2006-2010 USC-CSSE 2
CS 577b Course Goals • I teach you somethings you didn't know • Don't be afraid to ask questions • Do actively participate • You learn • By listening in class, reading, … • By doing (and making mistakes) • You get satisficed • WE learn for future semesters' CS577 • WE have a satisficed client (C) 2006-2010 USC-CSSE
Software Engineering Project Course (CS 577) What we told Clients last Fall: (C) 2006-2010 USC-CSSE Fall: Develop Design Committment Review Packages • Ops. Concept, Requirements, Prototypes, Architecture, Plan • Feasibility Rationale, including business case • Results chain linking project results to desired outcomes • 20 projects; 100 students; about 20 clients Spring: Develop Initial Operational Capability • 6-10 projects; 30-50 students; 6-10 clients • Software, personnel, and facilities preparation • 2-week transition period • then the student teams disappear Tools and techniques: WikiWinWin; Benefit Chain; Rational Software Modeler; Subversion; USC COCOMO II; MS Project; USC Incremental Commitment model method Reworked annually based on student & client feedback
What we told Clients last Fall: Stakeholder Win-Win Approach Stakeholders Win Conditions • Full range of SW Engr. skills • Real-client project experience • Non-outsourceable skills • Advanced SW tech. experience • Students, Employers • Useful applications • Advanced SW tech. understanding • Moderate time requirements • Project clients • Educate future SW Engr. leaders • Better SW Engr. technology • Applied on real-client projects • Faculty, Profession (C) 2006-2010 USC-CSSE
What we told Clients last Fall: Timelines: Spring 2010 Jan. 11- Feb. 12: Work with teams: • Rebaseline prototype, prioritize requirements • Plan for CS 577b specifics, including transition strategy, key risk items • Participate in ARB review Feb 15 – May 7: Scheduled Weekly Meetings with Teams to: • Discuss status and plans • Provide access to key transition people for strategy and readiness discussions Mar 8 – 26: Core Capability Drivethrough Apr 15 - Apr 16: Project Transition Readiness ARB Reviews Apr 20: Installation and Transition • Install Product • Execute Transition Plan May 4-5: Operational Commitment Review for Initial Operational Capability May 7: Client Evaluations (C) 2006-2010 USC-CSSE
Stages Requirements, Design, Implement, Architecture Code Maintain Issues Computer Science User Applications Economics People CS Focus What we told YOU last Fall: “Software Engineering”: The disciplines which distinguish the coding of a computer program from the development of a software product • Accommodate new tools and techniques: Web services, GUI prototypers, WinWin, Risk Mgt. processes • Integrate all these considerations, - Via Incremental Commitment Model (C) 2006-2010 USC-CSSE
Instructional Incremental Commitment Model – Software Engineering What we told YOU last Fall: (C) 2006-2010 USC-CSSE
Course Etiquette • Observe normal rules of classroom etiquette • Be on time! • If you are late, don’t slam the door • (Tells your friends) • If you are late, CS577b students may be penalized • ONE conversation at a time • ONE topic at a time • Direct all comments to the instructor • Encourage (rather than criticize) other students • E-mail & browsing at breaks or after class only • Turn off/silent cell phones & pagers (C) 2006-2010 USC-CSSE 10
Course Etiquette (cont.) • Respect others & yourself • Be academically unethical • Cheat: Don’t! I am a stickler! • Unethical Prototyping • Unethical Installations • Unethical Transitions • Be ready to learn…. (C) 2006-2010 USC-CSSE 11
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 12
Challenge: IOC vs. RDCR Client Evaluations TBS (C) 2006-2010 USC-CSSE
Software Engineering Education Stakeholders & Win Conditions (C) 2006-2010 USC-CSSE 14
Software Engineering Education Stakeholders & Win Conditions (cont.) (C) 2006-2010 USC-CSSE 15
Software Engineering Education Stakeholders & Win Conditions (cont.) (C) 2006-2010 USC-CSSE 16
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 17
Lead instructor A Winsor Brown TA’s: Pongtip Aroonvatanaporn <Aroonvat@USC.edu> Qi Li <QiLi@USC.edu> Guest lectures Dr. Barry Boehm Jim Land Warren Reid Others? Staff (C) 2006-2010 USC-CSSE 18
Grading – “On Campus” • Individual Homework & Quizzes: ~10%? • Project: ~60% (functionality & documentation)? • Individual Critique: ~15%? • CSSE “Process Improvement” Presentation: ~5%? • Individual Contribution: ~5%? • Client Evaluation: ~5%? (C) 2006-2010 USC-CSSE 19
Grading –DEN About the same? Special considerations? (C) 2006-2010 USC-CSSE 20
Grading Philosophy • Hard • I like a large distribution • Better feedback for you • Adjusted when assigning final grades (C) 2006-2010 USC-CSSE 21
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 22
Course Schedule • See • http://greenbay.usc.edu/csci577/spring2010/site/schedule/index.html • Some Friday classes • Student Presentations • Staff will propose topics/guidelines • By late Feb • Students must select topic and get approval • By early March • Each student most cover a different aspect of a topic (C) 2006-2010 USC-CSSE 23
Project Schedule * “Mixer” at end of Wednesday’s class ** Subject to client & 577 staff availability (C) 2006-2010 USC-CSSE 24
Main Challenge for Clients • Products are delivered on or before April 19th • Finals: May 7-14 • Students disappeared by May 14, or earlier (C) 2006-2010 USC-CSSE 25
Selected Projects • 577a projects selected for continuation should be finalized Wednesday! • Students not on selected project need to join one! • “New” students and DR/Interns need to fill out a “Student General Information Questionnaire”, and all other forms at the “Forms” page: “New” means not having taken CS577a in Fall 2006! (C) 2006-2010 USC-CSSE 26
Office Hours • Winsor • 2:00 to 3:00 on MW • Or by appointment • Dr. Boehm • By appointment • Pongtip • M, W 5:00 - 6:00 PM • Or by appointment • Qi Li • TBD (C) 2006-2010 USC-CSSE 27
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 28
Top 10 Risk Items: 1989 & 1995 1989 1. Personnel shortfalls 2. Schedules & budgets 3. Wrong software functions 4. Wrong user interface 5. Gold plating 6. Requirements changes 7. Externally-furnished components 8. Externally-performed tasks 9. Real-time performance 10. Straining computer science 1995 1. Personnel shortfalls 2. Schedules, budgets, process 3. COTS, external components 4. Requirements mismatch 5. User interface mismatch 6. Architecture, performance, quality 7. Requirements changes 8. Legacy software 9. Externally-performed tasks 10. Straining computer science (C) 2006-2010 USC-CSSE 29
Top 10 System Risk Items: 1995 and 2007 1995 1. Personnel shortfalls 2. Schedules, budgets, process 3. COTS, external components 4. Requirements mismatch 5. User interface mismatch 6. Architecture, performance, quality 7. Requirements changes 8. Legacy software 9. Externally-performed tasks 10. Straining computer science 2007 1 Architecture complexity; quality tradeoffs 2 Requirements volatility; rapid change 3 Acquisition and contracting process mismatches 4 Customer-developer-user team cohesion 5 Budget and schedule constraints 6 Requirements mismatch 7 Personnel shortfalls 8 COTS and other independently evolving systems 9 Migration complexity 10 User interface mismatch (C) 2006-2010 USC-CSSE
Primary CS577b Risk Items • Personnel • Commitment • Compatibility • Ease of communication • Skills (management, web/java, Perl, CGI, data compression, …) • Schedule • Project scope • IOC content • Critical-path items (COTS, platforms, reviews, …) • COTS • See next chart • Multiple COTS (C) 2006-2010 USC-CSSE 31
Primary CS577b Risk Items (cont.) • Requirements & UI • Not matching client user needs • Performance • Memory, Disk Space usage (#Bits) • Bus, Network, CPU utilization & bandwidth (#Bits/sec) • Overhead sources • Reliability of deliver • Safe • Secure • External tasks • Client/operator preparation • Commitment for transition (C) 2006-2010 USC-CSSE 32
COTS & External Component Risks • COTS risks • Immaturity • Inexperience • Incompatibility with • Application • Platform • Other COTS • Controllability (C) 2006-2010 USC-CSSE 33
COTS & External Component Risks (cont.) • Non-commercial off-the shelf components • Sources • Reuse libraries • Government (GOTS) • Universities (ROTS) • Issues • Qualification testing • Benchmarking • Inspections • Reference checking • Compatibility analysis • Both • Safety • Dependability • Security (C) 2006-2010 USC-CSSE 34
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 35
Heads-Up: CS 577b PlanningCommon LCP Problems @ RDCR • RDCR operational prototype, business-case iterations: What have you done since last semester? • Too many internal-increment deliverables • Lack of core-capability specifics • End-to-end demonstrable capability • Lack of specific team member responsibilities • By artifact & increment; but flexible • Transition preparation • Transition-leader’s success plan (teammates, clients) (C) 2006-2010 USC-CSSE 36
Test Preparation • Test-leader’s success plan • Test data, drivers, tools, increments • Problem tracking & closeout • Bugzilla tool • Testing as requirements evaluation • e.g. testing full portability, 24x7, ease of use • OK to iterate requirements • Acceptance test cases developed “independently” • Verification cross-reference index • Which requirements verified by test, analysis, “inspection” (C) 2006-2010 USC-CSSE 37
Critical Success Factors for Adoption - I (C) 2006-2010 USC-CSSE 38
Critical Success Factors for Adoption - II (C) 2006-2010 USC-CSSE 39
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 40
CS577 Academic Integrity Guidelines • Individual Assignments • OK to discuss • Not OK to copy each others’ solution elements • Not OK to copy external sources without attribution • Within “Fair Use Guidelines” • Team Assignments • OK to use other teams’ patterns • e.g. MS Project tasks • Must give credit!!! • Not OK to copy other teams’ complete/partial solutions • e.g. MS course & project schedules (C) 2006-2010 USC-CSSE 41
Outline • Course Challenges • Staff & Grading • Course & Project Schedule • Project & Team Risk Management • Project Planning • Other Course Preparation • Academic Integrity Reminder • Forms & Logistics • Comment Learning (C) 2006-2010 USC-CSSE 42
Learning • We each have a role • Lou Holtz said • “Your talent determines what you can do. • "Your motivation determines how much you are willing to do. • "Your attitude determines how well you do it.” • Plutarch said • “A mind is not a vessel to fill; but a fire to light.” (C) 2006-2010 USC-CSSE 43