CS 577b: Software Engineering II

Slides:



Advertisements
Similar presentations
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Advertisements

University of Southern California Center for Systems and Software Engineering A Look at Software Engineering Risks in a Team Project Course Sue Koolmanojwong.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
Software Engineering.
IS 421 Information Systems Management James Nowotarski 16 September 2002.
2/13/07(c) USC-CSSE1 An Empirical Study on MBASE and LeanMBASE Supannika Koolmanojwong Center for Systems and Software Engineering CSSE- Annual Research.
April 13, 2004CS WPI1 CS 562 Advanced SW Engineering General Dynamics, Needham Tuesdays, 3 – 7 pm Instructor: Diane Kramer.
University of Southern California Center for Systems and Software Engineering CS 577b: Software Engineering II Class Introduction.
USC CSSE Top 10 Risk Items: People’s Choice Awards Barry Boehm, Jesal Bhuta USC Center for Systems & Software Engineering
University of Southern California Center for Systems and Software Engineering 1 WikiWinWin: Rapid Collaborative Requirements Negotiation Using Wiki and.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
2/5/20101 R-DCR ARB Preparation A Winsor Brown CS 577B Spring 2010.
University of Southern California Center for Systems and Software Engineering Incremental Commitment Spiral Model (ICSM) for CS 577 Barry Boehm, Supannika.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Software Engineering Management Lecture 1 The Software Process.
University of Southern California Center for Systems and Software Engineering 7/19/2013(c) USC-CSSE11 USC e-Services Software Engineering Projects.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
University of Southern California Center for Systems and Software Engineering Barry Boehm, USC CS 510 Software Planning Guidelines.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Pre-Project Components
University of Southern California Center for Systems and Software Engineering 7/13/2012(c) USC-CSSE11 USC e-Services Software Engineering Projects.
University of Southern California Center for Systems and Software Engineering 7/23/2010(c) USC-CSSE1 08/21/09 ©USC-CSSE1 USC e-Services Software.
University of Southern California Center for Systems and Software Engineering Core Capability Drive-Through Preparation Pongtip Aroonvatanaporn CSCI 577b.
University of Southern California Center for Systems and Software Engineering RDCR ARB CS 577b Software Engineering II Supannika Koolmanojwong.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Project Management Finals Lesson 1 - Principles - Techniques - Tools.
Day 1: Getting Organized Spring 2014
CS 577b: Software Engineering II
Computer Network Fundamentals CNT4007C
Pragmatics 4 Hours.
Methodologies and Algorithms
Software Engineering Management
Project Management Chapter 3.
Project Management Information and Tracking Advanced Concepts
CS 577b: Software Engineering II
Computer Networks CNT5106C
USC e-Services Software Engineering Projects
Client Introductions to CS577a
Software Planning Guidelines
I494: Designing and Developing an Information System
Intermediate Small Business Programs, Part B SBP 202 Lesson 1: Introduction February 2017 Lesson 1: Introduction.
Subcontracting SBP 210 Lesson 1: Introduction
USC e-Services Software Engineering Projects
CS 577b: Software Engineering II
Defining the Activities
Introduction to Software Engineering
Request for Proposal (RFP)
How to Successfully Implement an Agile Project
Computer Networks CNT5106C
USC e-Services Software Engineering Projects
CSCI 577a Software Engineering I Dr. Barry Boehm August 27, 2012
Chapter 2 Software Processes
Chapter 2 – Software Processes
CSCI 577b Tasks and Activities
USC e-Services Software Engineering Projects
Day 1: Getting Organized Fall 2013
USC e-Services Software Engineering Projects
ARB Schedule Locations
CS 577b Software Engineering II -- Introduction
Comparison between each special case
Risk Management ©USC-CSSE.
CS577a Software Engineering ARB #2 Workshop
Core Capability Drive-Through Workshop
Computer Networks CNT5106C
Rapid software development
Software Testing Lifecycle Practice
Executive Project Kickoff
Presentation transcript:

CS 577b: Software Engineering II CS 577b Software Engineering II -- Introduction 18 September 2018 CS 577b: Software Engineering II Class Introduction (C) 2006-2010 USC-CSSE 1 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Course Goals I teach you somethings you didn't know You learn 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 1/11/2010

Software Engineering Project Course (CS 577) What we told Clients last Fall: Software Engineering Project Course (CS 577) Fall: Develop Life Cycle Architecture Packages Ops. Concept, Requirements, Prototype, 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 (C) 2006-2010 USC-CSSE 1/11/2010 4

Stakeholder Win-Win Approach 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 1/11/2010 5

Timelines: Spring 2010 What we told Clients last Fall: 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 1/11/2010 6

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 Stages Requirements, Design, Implement, Architecture Code Maintain Issues Computer Science User Applications Economics People CS Focus Accommodate new tools and techniques Web services, GUI prototypers, WinWin, Spiral processes Integrate all these considerations - Via Incremental Commitment Model (C) 2006-2010 USC-CSSE 1/11/2010 7

Instructional Incremental Commitment Model – Software Engineering What we told YOU last Fall: Instructional Incremental Commitment Model – Software Engineering (C) 2006-2010 USC-CSSE 1/11/2010 8

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

Course Etiquette (cont.) CS 577b Software Engineering II -- Introduction 18 September 2018 Course Etiquette (cont.) Respect others & yourself Cheat Don’t! I am a stickler! Be ready to learn…. (C) 2006-2010 USC-CSSE 11 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

Challenge: IOC vs. RDCR Client Evaluations TBS (C) 2006-2010 USC-CSSE 1/11/2010

Software Engineering Education Stakeholders & Win Conditions CS 577b Software Engineering II -- Introduction 18 September 2018 Software Engineering Education Stakeholders & Win Conditions Stakeholder Student Industry Win Conditions Life-long value Knowledge Skills Incl. learning & evaluation Marketable near-term skills Technical Tools, languages, techniques Managerial skills People, economics Experience using Fair workload Fair (Good) Grade Rewarding experience Intellectual Social Lots of graduates with Including full-spectrum coverage of life-cycle Domain Relevant near-term skills Distance learning opportunities (C) 2006-2010 USC-CSSE 14 1/11/2010 © 2002-6 USC Center for Software Engineering

Software Engineering Education Stakeholders & Win Conditions (cont.) CS 577b Software Engineering II -- Introduction 18 September 2018 Software Engineering Education Stakeholders & Win Conditions (cont.) Stakeholder Class-project Clients Software Engineering Community Win Conditions Well-engineered products Easy to transition & use Efficient use of client time Minimum operational disruption Client knowledge & skills developed in information technology Experience-based improvements in software engineering Technical Tools, languages, techniques Management People, economics (C) 2006-2010 USC-CSSE 15 1/11/2010 © 2002-6 USC Center for Software Engineering

Software Engineering Education Stakeholders & Win Conditions (cont.) CS 577b Software Engineering II -- Introduction 18 September 2018 Software Engineering Education Stakeholders & Win Conditions (cont.) Stakeholder Instructors Teaching Assistants Win Conditions Create & sustain stakeholder win-win enterprise Confront & resolve win-lose risks Contribute to software & system engineering & education State-of-art State-of-practice Manageable workload Rewarding experience Intellectual Incl. see students understand concepts Social See Students Experience teaching Ph.D. (often) (C) 2006-2010 USC-CSSE 16 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Staff 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? (C) 2006-2010 USC-CSSE 18 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Grading – “On Campus” Individual Homework & Quizzes: ~15%? Project: ~50% (functionality & documentation)? Individual Critique: ~20%? CSSE “Process Improvement” Presentation: ~5%? Individual Contribution: ~5%? Client Evaluation: ~5%? (C) 2006-2010 USC-CSSE 19 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Grading –DEN About the same? Special considerations? (C) 2006-2010 USC-CSSE 20 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Grading Philosophy Hard I like a large distribution Better feedback for you Adjusted when assigning final grades (C) 2006-2010 USC-CSSE 21 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Project Schedule Milestone Date Re-form teams* Jan 22 - Jan 29 Draft Re-baselined LCA on Web Feb 12 ARB for Re-baselined LCA Feb 15-16 Core-Capability Drive-Through Mar 8-26** Draft Transition Package on Web Apr 13 Transition-Readiness Reviews Apr 14-15 Product Deliveries April 19 Individual Critiques, Client Evaluations May 7 * “Mixer” at end of Wednesday’s class ** Subject to client & 577 staff availability (C) 2006-2010 USC-CSSE 24 1/11/2010 © 2002-6 USC Center for Software Engineering

Main Challenge for Clients CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 Qi Li TBD (C) 2006-2010 USC-CSSE 27 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

Top 10 System Risk Items: 1995 and 2007 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 1/11/2010

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

Primary CS577b Risk Items (cont.) CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

COTS & External Component Risks CS 577b Software Engineering II -- Introduction 18 September 2018 COTS & External Component Risks COTS risks Immaturity Inexperience Incompatibility with Application Platform Other COTS Controllability (C) 2006-2010 USC-CSSE 33 1/11/2010 © 2002-6 USC Center for Software Engineering

COTS & External Component Risks (cont.) CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

Heads-Up: CS 577b Planning Common LCP Problems @ RDCR CS 577b Software Engineering II -- Introduction 18 September 2018 Heads-Up: CS 577b Planning Common 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 Critical Success Factors for Adoption - I (C) 2006-2010 USC-CSSE 38 1/11/2010 © 2002-6 USC Center for Software Engineering

Critical Success Factors for Adoption - II CS 577b Software Engineering II -- Introduction 18 September 2018 Critical Success Factors for Adoption - II (C) 2006-2010 USC-CSSE 39 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS577 Academic Integrity Guidelines CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering

CS 577b Software Engineering II -- Introduction 18 September 2018 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 1/11/2010 © 2002-6 USC Center for Software Engineering