What Would You Want Someone to Know Before You Let Them Run Your Project? (informal)

February 12, 2009 — Posted by Al Shalloway

A few years ago a few of us asked ourselves the question - "what would we need a person to know before we trusted them to touch code?"  We put together a set of competencies that we felt were the minimum that was required.  The rationale was that if they didn't know these, then faced with a situation that called for one of them, the person would likely write code that was of insufficient quality.  We put this list together in a roadmap form.  That is, start at one end of the list and keep going until you've learned all of what it details.  We call this the "Roadmap to Lean-Agile Programming Competencies." Although you'll have to register at our site to look at it, it's likely worth your while if you are a developer.

Anyway, I recently got the same idea with process.  What would someone have to know in order for me to let them run a project of mine?  Interestingly enough, the list is not contingent on the type of projects they'd be working on.  Much of the knowledge centers on Lean and Agile.  For example, there are many Lean principles they'd have to be familiar with:

Poppendieck's 7 principles of Lean Software Development

  • optimize the whole
  • deliver fast
  • eliminate waste
  • build quality in
  • respect people
  • defer commitment
  • create knowledge

Basic Lean Concepts of Flow, and Just In Time (JIT), and Utilization Theory

  • Manage with pull
  • Strive for minimizing your cycle time, not the utilization of your resources
  • Minimize Work in Process (WIP)
  • remove delays to reduce costs and improve time
  • work on smaller batches, strive for one piece flow
  • Limit work to capacity
  • avoid thrashing

There are others, of course.  There are many Agile practices people should know as well.  People should know how to do:

  • Lean-Agile Release Planning 
  • Team estimation
  • The need for and how to do Sprint 0
  • Writing user stories based on tests
  • ...

And, of course, there are certain Agile practice they should understand:

  • why time-boxing works
  • how to plan an iteration
  • how and why to move testing up to the front of the development cycle

I can see a new project coming up to explicitly detail all of this. 

What strikes me, however, is how little of this is in Scrum.  And, with the exception of those Scrum trainers who also endorse Lean (Jean Tabaka, Hubert Smits, Jim York, for example) I've never seen these concepts talked about in a ScrumMaster training endorsed by the Scrum Alliance.

In fact, when I think about it, most of the Scrum Master training I have seen focuses on practices and coaching ability.  But where are the concepts that one must have to be successful? 

Do people think we don't need these for process?  We certainly have a lot of them on the technical side. It's true process may be more difficult to define, but I think the principles on which it is based are getting more and more understood.

I've posted these items at the Lean-Agile Yahoo User Group Wiki.  I'll update that as time permits. I invite suggestions from people for what they would include.

 

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 over 40 years of experience, Alan is an industry thought leader in Lean, Kanban, product portfolio management, SAFe, Scrum and agile design.



        

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