Copyright © by Mark J. Sebern Software Engineering Process I Dr. Rob Hasker L-331, hasker (Adapted from notes by Dr. Sebern, used with permission.)
Copyright © by Mark J. Sebern Logistics Course web site, syllabus Book, schedule, policies, grading Prereq check: CS 2852, SE 2030 Roster
Copyright © by Mark J. Sebern Grading (1) Letter Numeric (academic catalog) % of passing grades * A /31 = 25.8% AB89-924/31 = 12.9% B85-884/31 = 12.9% BC84-814/31 = 12.9% C77-804/31 = 12.9% CD74-763/31 = 9.7% D70-734/31 = 12.9% * Assumes uniform, linear distribution
Copyright © by Mark J. Sebern Grading (2) Letter Definition (VP of Academics, sent each quarter) A Student has performed outstandingly in all regards and is clearly exceptional. AB Student has performed with excellence. B Student has shown very high command of course content. BC Student has done a commendable job dealing with course content. C Student has an adequate grasp of course content. CD Student has met fair expectations. D Student has attained minimal expectations in the course. F Student has not attained minimal expectations in the course.
Copyright © by Mark J. Sebern Grading (2) Letter Definition (VP of Academics, sent each quarter) A Student has performed outstandingly in all regards and is clearly exceptional. AB Student has performed with excellence. B Student has shown very high command of course content. BC Student has done a commendable job dealing with course content. C Student has an adequate grasp of course content. CD Student has met fair expectations. D Student has attained minimal expectations in the course. F Student has not attained minimal expectations in the course. So, what grade is appropriate for "no errors" work?
Copyright © by Mark J. Sebern Grading (3) What's a professor to do? Conflicting messages from MSOE Which is closer to employee evaluation? Is this the choice? Make students happier now Make graduates happier later Duty: preparation for lifelong career
Copyright © by Mark J. Sebern How to Get an "A" Be "outstanding" and "exceptional"? What does that mean? Go a little beyond the requirements Demonstrate learning and thinking Talk to the prof
Copyright © by Mark J. Sebern SE 2832 Verification Curriculum Context CS 2852 Data Structures SE 2030 Tools/Practices SE 2800 SE Process I SE 3800 SE Process II SE 3821 Requirements Software Development Lab
Copyright © by Mark J. Sebern Process? How should we plan and execute a project of moderate size (small team)? How would you do it? What was the process you used in SE 1011/SE 1021/CS 2852? What was good or bad about it? Pair exercise
Copyright © by Mark J. Sebern Practice vs Process Practice = “what we do” Analyze requirements, create architectural/detailed designs, implement, verify Process = “how & when we do it” Plan, organize, measure, make/meet commitments, ensure quality, control, improve, adapt
Copyright © by Mark J. Sebern Activities Planning & tracking Requirements analysis & specification Architecture & high-level design (HLD) HLD review Detailed design There are many different ways to break down software development activities; this is just one way of doing it. Detailed design review Implementation (coding) Code review/inspection Unit testing Integration testing System testing
Copyright © by Mark J. Sebern Traditional Model Requirements: talking to customer Design: How to impl. Reqs Implementation: coding Verfication: testing Maintenance Covers all necessary products Similar process to other engineering disciplines
Copyright © by Mark J. Sebern Traditional Model Requirements: talking to customer Design: How to impl. Reqs Implementation: coding Verfication: testing Maintenance Covers all necessary products Similar process to other engineering disciplines Known as waterfall model: Water gently flowing down hill towards a goal… But what happens if discover a problem? Is this really more like Niagara Falls?
Copyright © by Mark J. Sebern Process Models Process models provide frameworks for organizing software development activities One pass, sequential (“waterfall”) Iterative/incremental “Agile”: XP, Scrum SEI: PSP/TSP In SE-2800, we will use a process model based on Scrum
Copyright © by Mark J. Sebern Process Goals Overwhelmingly, software development managers and stakeholders ask us for two things:
Copyright © by Mark J. Sebern Comparing Iterative Models Waterfall model/ Predictive Process Scrum Planning model Heavy focus on process data, tracking Team experience, integrated customer Quality management Tests written by external agent Short cycles to provide monitoring Final product definition Schedule target, defined Flexible, adaptive
Copyright © by Mark J. Sebern Course Goal Experience with one approach to software process Why Scrum? Gaining acceptance in industry Easier introduction: fewer process artifacts, learn as you go
Copyright © by Mark J. Sebern Textbook Essential Scrum A Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin Good reference on process framework – not a real textbook Needs supplement on practices
Copyright © by Mark J. Sebern Tools Atlassian JIRA/Agile (plan/track) Confluence (wiki) Bitbucket Git repository JUnit Test automation Jenkins Continuous build
Copyright © by Mark J. Sebern Next Lecture Next session: cover chapter 2 Lab this week will also be used to cover textbook material Note will use lecture time at end of quarter for project work Quiz at start of session on Ch. 2!
Copyright © by Mark J. Sebern Review SE 2800: Software Process I Introduction to software process Practice vs. process Practices: what needs to be done Process: how & when Process models Sequential vs. iterative Predictive vs. agile Scrum: Read Ch. 2