Presentation on theme: "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."— Presentation transcript:
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 firstname.lastname@example.org
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. 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
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 http://shrinkster.com/10ye Reviewing Canadian CS/SE Best Practices – http://shrinkster.com/10yf http://shrinkster.com/10yf Coding Horror Blog – Long, Dismal History of Software Failures – Jeff Atwood – http://shrinkster.com/10yc http://shrinkster.com/10yc IEEE Spectrum – Why Software Fails – Robert N. Charette – http://shrinkster.com/10yd http://shrinkster.com/10yd