270 likes | 396 Views
Who’s Teaching Best Practices?. A review of Canadian CS/SE curriculums and how to improve integration of agile/best practices. Your Host: Chris R. Chapman chris@chapmanconsulting.ca. Agenda. Introduction Review of Problem Domain Summary of Findings Ontario Canada
E N D
Who’s Teaching Best Practices? A review of Canadian CS/SE curriculums and how to improve integration of agile/best practices Your Host: Chris R. Chapman chris@chapmanconsulting.ca
Agenda • Introduction • Review of Problem Domain • Summary of Findings • Ontario • Canada • Conclusions and Strategies • Break-Out Session: What would you do?
Take-Aways • High-level insight into Canadian CS/SE curriculums • What schools are leading, following and failing • Why we need to support change in the curriculums • What your colleagues are thinking
Introduction • Chris Chapman • Involved with IT solutions for nearly 20 years • Consultant, Microsoft Consulting Services, Canada • Scrum Master Certification (2006) • MCAD (2006) • .NET/SharePoint Junkie • Agile/lean/iterative evangelist and practitioner – 8+ years (Scrum, XP – mostly dev) Standard Disclaimer: The opinions expressed in the following presentation are my own and do not reflect those of my employer, their partners or affiliates. Parental discretion is advised.
Where this all began... http://shrinkster.com/10ye http://shrinkster.com/10yf
The Problem Domain • Industry characterized with low ROI • BDUF/waterfall domination • Largest retirement/attrition wave coming evar... • Declining enrolment • Unprepared graduates • Miserable jobs leading to further attrition • CS/SE pursefighting
Exhibit B – Declining Enrolment Source Data: http://shrinkster.com/10yh
Exhibit C – Serendipity October 21, 2007 Source Bil Simser: http://shrinkster.com/10yj
Exhibit D – Miserable Job Awaits • Anonymity Irrelevance Immeasurement
Methodology* • Play role of prospective “pro-agile” student • Shop for courses by reviewing online calendars for offerings* • Measure against set of criteria, score results
The Ontario Review • Researched 16 online calendars for the 2007/08 academic year Source Data: http://shrinkster.com/10va
Ontario Highlights • McMaster • SFWR ENG 3S03, COMP SCI 4AR3 • Queen’s • CISC 322, 327, 422 • Ryerson • CPS 311, CPS 845 Intro to XP! • U of Toronto • CSC 207H1, 301H1 Intro to Agile Development! • York • CSE 3311, 4313 Software Engineering Testing
The Canadian Review • Researched 25 online calendars for 2007/08 academic year Source Data: http://shrinkster.com/10yg
Canadian Highlights • U of Alberta • CMPUT 301, CMPUT 201 • U of Calgary • Software Engineering 501 • U of Manitoba • COMP 3350 • McGill • COMP 303, 304B, 335
Review Conclusions • BDUF/Waterfall, Big-Bang Integration/Test still dominates CS/SE curricula • Required degree courses vary wildly • OOD + Design Patterns most offered BP • Some exemplary leaders in the field • Much more work to be done to advance agile/lean/iterative + BP
Moving Forward • EM Rogers, Diffusion of Innovation • Innovators, Early Adopters, Early Majority, Late Majority, Laggards • David Hutton, The Change Agent’s Handbook • “You do not have to spend a lot of time and effort on those who strongly resist change. You only have to help protect those who want to change.”
Strategies • Similar to approaching agile in organizations • Change Evangelists • Small Sessions • Find and Support Champions • Stone Soup • Curriculum by Committee NO • Theme and Project Based Programs
Ideal Curriculum? • Year 1 • Intro to Agile Software Development using Scrum • Lean Software Development Concepts • Intro to OOD • Intro to Test Driven Development • Basic Project: Build and deliver a simple game app across 4 iterations • Year 2 • Intro to Software Development using XP • Intro to Continuous Integration • Design Patterns in Software Development • Basic Project: Build and deliver a simple instant messaging app using XP • Year 3 • Scaling Agile to Multiple Teams • Performance Testing Applications for Production Environments • Refactoring: Improving the Design of Existing Code • Intermediate Project: The Consulting Experience – Repairing and Improving an Existing Application • Year 4 • Advanced Agile/Lean/Iterative Project Management • Advanced Project: Build and deliver a WCM for Online Course Calendars – May involve multiple teams (Scrum of Scrums)
References • Reviewing Ontario CS/SE Best Practices • http://shrinkster.com/10ye • Reviewing Canadian CS/SE Best Practices • http://shrinkster.com/10yf • Coding Horror Blog – Long, Dismal History of Software Failures – Jeff Atwood • http://shrinkster.com/10yc • IEEE Spectrum – Why Software Fails – Robert N. Charette • http://shrinkster.com/10yd