Software Engineering Process I • Dr. Rob HaskerL-333, email: hasker • https://faculty-web.msoe.edu//hasker/ • (Adapted from notes by Dr. Sebern, used with permission.)
Logistics • Course web site, syllabus • Book, schedule, policies, grading • Prereq check: CS-2852, SE-2030 • Roster
Grading (1) * Assumes uniform, linear distribution
Grading (2) So, what grade is appropriate for "no errors" work?
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
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
Curriculum Context SE-2832 Verification CS-2852 Data Structures SE-3821 Requirements SE-2800 SE Process I SE-3800 SE Process II SE -2030 Tools/Practices Software Development Lab
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 SE1011/SE1021/CS2852? • What was good or bad about it? Pair exercise
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
Activities • Detailed design review • Implementation (coding) • Code review/inspection • Unit testing • Integration testing • System testing • 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.
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
Process Goals Overwhelmingly, software development managers and stakeholders ask us for two things:
Course Goal • Experience with one approach to software process • Why Scrum? • Gaining acceptance in industry • Easier introduction: fewer process artifacts, learn as you go
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
Tools • Atlassian • JIRA/Agile (plan/track) • Confluence (wiki) • Bitbucket • Git repository • JUnit • Test automation • Jenkins • Continuous build
Tool Setup • First lab session • You will receive an email with an invitation to Atlassian OnDemand • Set up your account before lab • You MUST use your MSOE email and username!
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