Scrum As An Interface Instead Of An Abstract Class

March 15, 2018 — Posted by Al Shalloway

Someone on a discussion group commented: Scrum is like an abstract class. The team must "subtype" the class appropriately for the particular situation to actually deliver high quality working software sustainably. The Scrum Guide does not tell you how to do that because the appropriate things to add vary from situation to situation - no single process is appropriate for all situations.

My response was: This is a perfect metaphor and illustrates the challenges that Scrum has & and to some extent why. Modern design techniques (design patterns thinking) now eschew the use of abstract classes and consider the use of interfaces to be better. Why? Because an abstract class forces its behavior on all of its sub-classes. Different implementations may need different behaviors. While it’s possible to override the base class behavior once there become many situations, doing this results in complex hierarchies.

I think a better metaphor would be to think of Scrum as an interface. It describes the behavior you want, but allows you to implement it in any way you want to.

This is what Scrum as Example is https://lnkd.in/gaZGCKH Love this metaphor and it also illustrates how synthesizing competing ideas can lead to a better one. Thanks.

 

If you're looking for help for your Scrum teams please drop me a line.

Al Shalloway

See our new breakthrough training for Scrum teams and Scrum Masters.

Subscribe to our blog Net Objectives Thoughts Blog

Share this:

About the author | Al Shalloway

Al Shalloway is the founder and CEO of Net Objectives. With 45 years of experience, Al is an industry thought leader in Lean, Kanban, product portfolio management, Scrum and agile design. He helps companies transition to Lean and Agile methods enterprise-wide as well teaches courses in these areas.



        

Blog Authors

Al Shalloway
Business, Operations, Process, Sales, Agile Design and Patterns, Personal Development, Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Cory Foy
Change Management, Innovation Games, Team Agility, Transitioning to Agile
Guy Beaver
Business and Strategy Development, Executive Management, Management, Operations, DevOps, Planning/Estimation, Change Management, Lean Implementation, Transitioning to Agile, Lean-Agile, Lean, SAFe, Kanban, Scrum
Israel Gat
Business and Strategy Development, DevOps, Lean Implementation, Agile, Lean, Kanban, Scrum
Jim Trott
Business and Strategy Development, Analysis and Design Methods, Change Management, Knowledge Management, Lean Implementation, Team Agility, Transitioning to Agile, Workflow, Technical Writing, Certifications, Coaching, Mentoring, Online Training, Professional Development, Agile, Lean-Agile, SAFe, Kanban
Ken Pugh
Agile Design and Patterns, Software Design, Design Patterns, C++, C#, Java, Technical Writing, TDD, ATDD, Certifications, Coaching, Mentoring, Professional Development, Agile, Lean-Agile, Lean, SAFe, Kanban, Kanban Method, Scrum, Scrumban, XP
Marc Danziger
Business and Strategy Development, Change Management, Team Agility, Online Communities, Promotional Initiatives, Sales and Marketing Collateral
Max Guernsey
Analysis and Design Methods, Planning/Estimation, Database Agility, Design Patterns, TDD, TDD Databases, ATDD, Lean-Agile, Scrum
Scott Bain
Analysis and Design Methods, Agile Design and Patterns, Software Design, Design Patterns, Technical Writing, TDD, Coaching, Mentoring, Online Training, Professional Development, Agile
Steve Thomas
Business and Strategy Development, Change Management, Lean Implementation, Team Agility, Transitioning to Agile
Tom Grant
Business and Strategy Development, Executive Management, Management, DevOps, Analyst, Analysis and Design Methods, Planning/Estimation, Innovation Games, Lean Implementation, Agile, Lean-Agile, Lean, Kanban