COMP 474 Software Engineering Professor W. L. Honig The Process at a Glance (TSPi) Launch Strategy Plan Requirements Repeat A controlled, data driven, step-by-step process for software life cycle Design Postmortem Test Implementation TEAM REPORTS: Think about your team s work in the PLAN phase What are some things you or your team had the most difficulties doing? 1
This Phase. Produce the Software Requirements Specification Refine project needs statements Number requirements for traceability (put under configuration control) Produce the System Test Plan Plan for build, integration testing, system testing Estimate time for creating and conducting tests Inspect the SRS and STP First formal inspection Defect identification and resolution GOAL: Ready to begin development (at last!) System Test Plan Cycle 1 Scope the Testing Work What use cases to be tested? What functions to be tested? What error paths to be tested (if any)? What functions will not be tested (even if implemented)? Need not be extensive Brief document Number the test plans or test cases for traceability Must have a plan Development engineers must be aware of plan May drive schedule and integration plan This Phase. Produce the Software Design Specification All Assemblies and Parts Defined Interfaces (shared data) Defined Produce the Integration Test Plan How to check the interfaces between parts (Not TSPi) Build Plan to define order of integration Inspect the SDS and ITP Full or subteam inspections Identify defects for correction before exit this phase GOAL: A Complete Foundation for Implementation 2
Think About It: What is the difference between these two sets of words? My program: Gets the right answer Has no bugs Is complete DESIGN Was done on time Runs OK! My program: Is elegant Is extendable Can be understood Looks like I had a plan Is reusable by others! Design Phase Process Emphasis 1. Lead the Inspections of SDS and ITP 1. Follow Appendix C, Script INS 1. Plan the Inspection (Minimum of 2 Reviewers, plus author, plus Q/PM) 2. Hold the Briefing 3. (All Reviewers Do Their Personal Review) 4. Hold Inspection Meeting Quality / Process Manager 2. Complete Form INS 2. Lead the Team in confirming the Design Standards you are Using 3. Have you consistently and explicitly checked entry and exit criteria? 1. Always your job! 2. Raise Issue if any criteria not met! Use ITL The Largest Contributor to Easy Implementation is Good Design Inspection Defects The Programmer s Lifelong Friend Defect Any requirements, design, or implementation elements that, if not changed, could cause improper design, implementation test, use or maintenance of the product Types of defects Major any problem that, when fixed, would change the executable program. Record on INS and LOGD when confirmed in the inspection. Minor other defects (e.g. comments, formatting, style) May involve judgment Not considered in defect estimation or other metrics Recorded on INS form Defects metrics are key to process quality Only MAJOR DEFECTS go beyond INS form (to LOGD) 3
This Phase. Produce 4 documents and inspect them (4 x INS) SRS, STP, SDS, ITP Easy but complete record keeping of time and progress Record and report actual time spent (by all engineers) Report actual progress in terms of PERT chart and on TASK and SCHEDULE form GOAL: Plan for Smooth Development and Separate Work by Team Members All Phases. Update the Team Metric Chart (x-up Chart) Report all engineer and role activities (TASK, SCHEDULE) Hours spent; tasks completed SUMP, SUMQ (system level and possibly parts) Forms as and when necessary ITL update with issues and risks CCR and CSR whenever CCB actions requested / taken INS, LOGD for all inspections (forms for each thing inspected) LOGTEST, LOGD for all testing (forms for part and system tests) Any others you think might help! Configuration Management (Work Break Down Structure) 1. CRITICAL that all pieces of the product are defined: 1. Software (parts and assemblies) 2. Documents 1. Requirements (SRS) 2. Design (SDS) 3. Test Plans (STP, ITP) 3. Misc 1. Team Sign Graphics Support Manager 2. Attendance Lists 2. Initiate Full Configuration Control Process 1. Appendix B 1. Establish Configuration Control Board (CCB) 2. Form CCR for all Changes 3. Act as Team Reuse Advocate It will kill your team s efficiency later if you do not complete this now! 4
Configuration Management Key Parts 1. Configuration Identification for all pieces of the product: 1. Naming of files 2. Versions numbering as part of file name 1. AuthorV1 3. Directory structure 1. Online version of the WBS Support Manager 2. Configuration Control 1. Have a Official System at any point in time 2. Track changes; approve the proper ones; limit changes 3. Ensure only one latest version of each part Team Metric Chart x Up Updated Weekly 1. Mandatory Metrics : 1. Planned Value vs Earned Value (by week) 2. Planned Hours vs Actual Hours (by week) 3. Number of Inspections completed each week 4. Number of Defects found each week (found and fixed?) 2. Optional Metrics : 1. Lines of code planned vs. actual lines of code 1. Total and by key parts 2. Number of changes by week (CCRs) 1. Submitted, approved, rejected 3. Test cases planned, test cases completed by week 4. Anything Else You Think Might Be Interesting. 3. Your Team Must Have 5 or more Charts Why Metrics? 6 Characteristics of highly successful software projects and organizations 1. Formal Risk Management (ITL) 2. Empirical cost and schedule estimation (SCHEDULE, TASK) 3. Metric-Based Project Management (x-up Chart) 4. Earned Value Tracking (PV, EV) 5. People-Aware Program Management (Team Building, Feedback, ) 5
What I Want You To Do: REQ1 / DES1 Requirements Actions: Create SRS Create STP Inspect and update both documents (record defects, sizes) Submit to CEO / CSO Design Actions: Create SDS (ENSURE COMPLETE) Create ITP (Build Plan) Inspect and update SDS, ITP Submit to CEO / CSO General Activities: Complete Configuration System Up and Running Define Team x-up Chart Organize Team Metric Collection Process Requirements Presentation Cycle 1 Each team will present to the customer Functions / requirements planned for cycle one Brief overview of approach, architecture, etc. Questions or comments on requirements Logistics 15 minutes Two or more team members to present Plan, rehearse, organize, manage the event Use room computer, laptop, handouts, etc. Your opportunity to interact with the customer Make a good first impression of your team Scoring for Requirements Presentation to Customer 1.Success at presenting requirements (20 points) 2.Clarity of approach to implementation, architecture, tools, structure, etc. (10 points) 3.Overall organization, image, customer focus (10 points) 6
Team Roles at a Glance (Five Specialized Roles) Support Manager Quality/Process Manager Development Manager Planning Manager Team Leader 7