In Daniel Coyle’s book The Talent Code, he explains how deep learning can occur through doing multiple short repetitions with immediate feedback to build myelin along the neural pathways as we learn and I realized that I have applied this approach in coaching sports as well as in business for years.
Applying this REPS approach in software development can also grow the talent in your business / engineering organization This is referred to in The Lean Startup as the Build/Measure/Learn feedback cycle – although the focus there is on learning, innovating and improving on customer needs, the same applies to the teams iterating through the process of finding the best way on executing delivery to that end:
R – Reaching/Repeating
Developing Minimal Viable Products that you deliver to customers gets fast feedback that you can learn from and improve upon in small increments and the heightened importance of delivering quality to a customer can also serve as a primal cue.
- Agile Sprints
Iterating in short development sprints further shortens the cycle.
- Discrete Tasks
Breaking sprint objectives into discrete tasks that are followed by tests runs can further tighten the feedback loop.
Deploying new functionality incrementally in the form of independent microservices also increases the ability for tighter, more focused loops that speed up learning and establishing processes that are continuously being improved and optimized.
Uber employs their Micro Deploy cycles to leverage microservices for Continuous Delivery.
E – Engagement
Don’t provide your engineers with the technical solution they implement, but rather with a clear statement of the problem. Allow them to arrive at the best solution. This is also an empowering Multiplier approach whereas providing the solution is a dis-empowering Diminisher approach.
- Challenge and Mastery
Engineers love to improve their craft. If you focus first on time to delivery, you’re sending a message that time trumps quality. If instead you lead with the objective of finding the most efficient, elegant and sound solution, you are feeding their drive based – complexity not time.
Dan Pink underscores that Autonomy, Challenge and Mastery motivates people much more that monetary gain.
P – Purposefulness
- Clear Problem Statements
Providing a clear understanding the value to the business and the customer will empower and motivate engineers to come up with the best solutions in striving to solve for an understood purpose.
Dan Pink refers this as the “Purpose Motive”
S – Strong, Direct, Immediate Feedback
- Feedback from MVPs to Customer
When you deliver MVPs and incremental improvements to your customers, you get the fastest real feedback on how well your solutions are received by your customers. Sometimes, this can result is very strong, clear feedback that allows us to learn and course correct before we invest further down an errant path and we learn more quickly.
- Sprint Retrospectives
One of the most valuable aspects of doing Agile Sprints is what a team can learn from a retrospective where the team decides what worked well – to keep, what – didn’t to stop, and what could be improved – change. When I ran Yahoo!Games, I brought the release cycle down from months to releasing at changes at the end of every sprint adding customer feedback to the retrospective feedback at the end of a sprint. We then continued to tight that loop to daily releases to production.
- Continuous Deployments at IMVU
When I joined IMVU, we were not only doing MVPs, but we were deploying code to production in incremental changes every 40 minutes. I helped bring that down toe 9 minute cycles. Those pushes were typically in the form of A/B experiments where we could quickly learn which were more effective at improving customer experience. We also had an Immune System which would automatically rollback changes that went out of bounds in terms of memory or disc usage, customer sessions times, etc.
- 5-Why’s in Blameless Post Mortems
Learning is also greatly enhanced when things go wrong and we as quickly as possible do a Post Mortem where we get to the root cause of what went wrong with the objective of learning (not blaming). This too facilitates learning through a feedback cycle that only serves to make individuals and the team stronger. The energy right after a major issue can also serve as a primal cue to help ignite deep learning.
- Running Tests After Each Completed Task
A fast way to get strong, clear and immediate feedback is to break work down into discrete tasks that include tests written to stress and break the code that was just written. This can enable a feedback, learning cycle that can occur on a daily basis. This is another reason to break down work and not leaving the testing and validation to the end of a lengthy product development cycle.
- Code Reviews on Each Submit
Another very fast turn-around can come in the form of code reviews any time an engineer submits a change.
- IMVU’s Methods of Rapid and Continuous Feedback
I should add that not everyone learning to ski would have followed me to the top of the mountain in the near gale force winds we had that day for their second time skiing ever. Most who have heard this story tell me they don’t want to learn to ski with me 😉 However, Joe trusted me and followed me up there, was willing to fall, get up, listen to what I had to say and go again knowing full well the most likely outcome would be another fall. Joe says that each time he got up from the fall, he didn’t think about the last or next fall even – he was thinking about getting feedback on what went wrong so he could do it better on the next stretch. Not everyone has the perseverance and courage to do that, and I give Joe a lot of credit for that. It does also help to have established a relationship of trust that I was solving for his learning and growth. That foundation of trust is vital if you hope to guide individuals into trying new things they may not be comfortable with.
Talent code – Building Myelin
- Book: Daniel Coyle: The Talent Code
- Summary: DanielCoyle.com/The-Talent-Code
- Summary: DanielCoyle.com/2011/05/31/A-Gauge-for-Measuring-Effective-Practice
- Book: Daniel Coyle The Culture CodeThe Secrets of Highly Successful Groups
Rapid Iteration in Software Development
- Blog: Jan Bosch – Why Fast Feedback Cycles Matter
- Book: Jan Bosch – Speed, Data, and Ecosystems: Excelling in a Software-Driven World (Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series)
- Book: Eric Ries – The Lean Startup – How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
- Pivotal Labs: Should that be a Microservice? Part 3: Independent Life Cycles
- Uber Blog Post: Uber Engineering’s Micro Deploy: Deploying Daily with Confidence
Drive – What Motivates us
- Book: Daniel Pink: Drive – The Surprising Truth About What Motivates Us
- Video Summary: Drive: The surprising truth about what motivates us
Multipliers – Leaders that empower others
- Book: Liz Wiseman – Multipliers, How the Best Leaders Make Everyone Smarter
- Video Summary: Liz Wiseman: Multipliers Highlight Reel
- Video Summary: Liz Wiseman: The Accidental Diminisher
Outliers and 10,000 Hours of Practice