from current_employer import saw_time
Saw Time: Explicit time given to a creative worker that is dedicated to sharpening the professional "saw" during core business hours.
“The only sustainable competitive advantage is an organization's ability to learn faster than the competition." -Â Peter M. Senge
My favorite sharpening the saw story:Â The Story of the Greatest Lumberjack in the Land
In other tech companies, it is referenced as "hack time" (Spotify/10%), "20-Time" (Google/20%), and "10-Time" (Explorys, an IBM Company). These organizational efforts typically focus on individual contributions toward product innovation.Â
It's not working on technical debt stories or spikes...
Saw Time is all about the individual's professional growth. Every sprint, employees are given time to pursue learning and other activities related to mastering his/her craft. Providing professional creative thinkers with opportunities to learn is akin to giving geniuses brain steroids.
We have top down management buy in. This is the linchpin that creates a fertile safe zone in which a learning culture can begin grow and prosper. The Saw Time charter has the chief product officer's name and every department manager's name on it stating they agree to it's intention.
Outside of actively resolving a Sev1 or Sev2 ticket, individuals will not to be pressured to work on his/her day-to-day tasks during Saw Time.
My current employer is a startup based in Cleveland. We are in the middle of a fundamental shift away from reckless speed, now steering towards craftsmanship and delivering value.
I imagine all companies go through ranges of similar growing pains. In the beginning, speed to market is the key. It keeps the company alive. Then, at some point in the future, outsiders to the engineering department, like marketing or upper management, begin to wonder, why do simple features take days/weeks instead of hours like they used to.
Failed products, unsuccessful application rewrites, surviving turnover, and launching semi-successful products well beyond target dates, become battle scars that tenured employees wear with pride. It's only been two years...
Then something magical happens. We realize the "legacy" application we play in needs to be handled differently. We learn to how to relentlessly write automated unit tests, refactor safely, and work (add features) within the codebase by keeping in mind concepts like the strangler pattern, feature toggles, and lean validated learning.
Imagine with me:
- That time you tried to describe how a field in the database could toggle code execution flow for enablement of features post application deployment? (Feature Toggles)
- The pain you feel every time a you write a comment that feels like a hack to describe a messy algorithm. (Clean Code - My Moment)
- When you tried to explain what legacy code means in a objective way? (Legacy CodeÂ =>Â Modern interpretations)
These are a few of my specific experiences. I know you have similar stories of your own.
After ten years of professional product development, my corpus of knowledge is continually trumped, or an elusive feeling/idea coined in phrase, by smart people like Martin Fowler, Uncle Bob, Michael Feathers, and many others!
We decided that 2.5% of each team members work time per two week iteration is to be explicitly reserved for personal growth and innovation. Individuals work 80 hours a iteration. As a result, we conduct sprint planning with this diminished capacity in mind.
Sprint close day.
For us, this is a common sweet spot for all teams. Closing one sprint then planning for the next tends to typically wreck sprint productivity that day already.
Anything and everything about learning and skill developmentÂ that can beÂ tied back to the individual's profession.
The individual is not required to official track this time.
We encourage radiation of activities to increase knowledge sharing and opportunities for group activities. Make it a topic of conversation around the office!
There is a Saw Wall. in which people can post sticky notes on what they intend to do, what they are doing, or what already has been done.
This is an experiment. We tried to imagine the shortest amount of time in which someone could truly do more than scratch the surface of any individual topic while not having a critical impact in sprint commitments.
We state we are professionals. We act in such a manner that is professional.
We learn because we love solving problems.
NOTE: All opinions expressed on this blog are solely those of Justin Beall and are in no way affiliated with any other organization or institution.
This series of posts document a high-level process to use when planning a modern web application, from project organization, collaboration considerations and tooling choices during development, all the way through deployment and performance strategies.