SlideShare a Scribd company logo
1/9
August 13, 2021
“Don’t Repeat Yourself”: 4 Process Street Features to
Keep Work DRY
process.st/dont-repeat-yourself-dry
Leks Drakos
August 13, 2021
Unless you work with small children or large animals, the expectation of staying dry at work
is pretty high. I know my workstation is very not water-resistant.
So when Blake Thorne (our product marketing manager) pitched me an article about DRY, I
had no idea what he was talking about. According to our three wise men in engineering,
that’s to be expected. The DRY principle is almost exclusively used in software development;
those of us outside don’t have much cause to consider it.
Or do we?
And this is what Blake wanted to get at. “It’s the principle of ‘don’t repeat yourself,’” he
explained. “Cut out all the unnecessary, repetitious code.”
“But one of our values is to overcommunicate,” I countered. “Everything. Twice, even. Don’t
those two concepts cancel each other out?”
2/9
“Maybe,” he conceded. “But what if they actually don’t?”
I am a sucker for a good what-if.
Here I’ll go over the principle of DRY – plus WET and AHA (oh, those rascally devs) – and
how here at Process Street we manage to overcommunicate without repeating ourselves.
Because I’m such a nice guy, I’ll also point out the 4 best features to get you on the same path.
Let’s get to it!
The 3 principles of programming (when you’re not a programmer)
Why, oh why, Leks, do we care about programming principles if we’re not programmers?
That’s a good question. The answer is pretty simple. Whatever our knowledge niches and
specialized lingo, we’re all trying to do the same thing: work smarter.
Take me and my pal, Herbie, for example. He turns gobbledygook code into very cool things
like the Slack app or our global search feature. I turn boring, technical concepts into
scintillating and informative blog posts. The processes we each use, fundamentally, aren’t
that different. (And no, not just because we both spend endless hours staring at a screen.)
Building an app or writing an article are both about taking an intangible, abstract concept
and creating something concrete for people to hold in their hands.
Maybe that’s too esoteric.
Software development is about solving problems. You encounter a roadblock; you create a
way around it.
Now think about your position. What do you spend most of your workday doing? At any
given time, I’m willing to put good money on that fact that you’re either:
Trying to solve a problem;
Figuring out how you can solve future problems faster.
And that is why we’re talking about these three programming principles. Each one – in its
own way – is about finding better solutions and methods to work smarter.
Who doesn’t want that?
Let’s take a closer look at these three principles:
3/9
Don’t repeat yourself (DRY)
Andy Hunt and Dave Thomas are credited with coining the specific acronym for DRY,
though, like most things, the idea was around long before someone put a name to it. This is
how they define the idea:
“Every piece of knowledge must have a single, unambiguous, authoritative representation
within a system.” – Andy Hunt & Dave Thomas, The Pragmatic Programmer
Cool, right? Yeah, it took me a minute to get it, too, and I have a whole degree in words. Let
me give you a practical example.
Look at the subheader for this section. In it is a piece of knowledge (don’t repeat yourself)
and a representation (DRY). Every time I write DRY throughout this post, you’re going to
know I mean “don’t repeat yourself.”
Later, I decide I want DRY to mean something else. Don’t ride yaks, for example. I don’t have
to go through the entire post and change all 25 times I use DRY, though; I only have to
change it once, in this subheader. Anyone who reads it after will associate DRY with “don’t
ride yaks.” They may think that doesn’t make a lot of sense, but DRY will still be about riding
yaks for those readers.
Write everything twice (WET)
4/9
As you might imagine, the WET principle is meant to be the exact opposite of DRY. WET was
suggested by software engineer Conlin Durbin as a response to those who took the DRY
principle to the extreme and viewed it as an irrefutable law of programming.
Durbin defined his new rule is:
“You can ask yourself “Haven’t I written this before?” two times, but never three.”
Basically, if you repeated something twice – no biggie. If you repeated it a third time, it’s time
to look at what you’re doing and see if there’s a better way.
The benefit of WET over DRY is that it prevents what Durbin calls “premature optimization.”
I’ll delve into the idea of over-optimizing when I talk about conditional logic a little later, but
suffice it to say, there is such a thing as too much optimization.
Avoid hasty abstractions (AHA)
First things first, for the other non-devs in the room:
“[A]n abstraction will simplify a process […] by providing what you really need, and hiding the
useless details you don’t care [about].” – Matthieu Cneude, “What Are Abstractions in
Software Engineering with Examples”
AHA exists because, surprise surprise, some took the WET principle to the extreme and
viewed it as an irrefutable law of programming.
Haven’t we been here before? 🤔
According to Kent C. Dodds (who first wrote about it) this principle is based on two main
ideas:
Duplication is better (and cheaper) than the wrong abstraction.
Optimize for change first.
The first point is a continuation of Durbin’s concept of “premature optimization.” So if you
jump the gun and try to fix a repetition without first understanding the context, you either
have to undo your original fix or you end up with something that doesn’t work properly.
Either way, it costs more than leaving the duplication alone in the first place.
The second point says that it’s better to create something flexible because we can’t accurately
predict what future needs will be. A product that sits on top of the world today can easily
become obsolete tomorrow if it isn’t able to meet changing demand.
Dodds hopes for AHA to remain undogmatic, despite its predecessors’ trajectory, and
emphasizes that, rather than strictly adhering to hard and fast rules, it’s more efficient and
more effective to make the best decision for each circumstance.
5/9
Process Street’s DRY-est features
Sure it has its pros and cons, but at heart, the DRY principle is about removing unnecessary
repetition. Process Street is all about automating repetitive tasks.
I mean, it seems like there’s something there, right?
As it turns out, Process Street’s workflows follow the DRY ethos in many ways. I’ve picked
out the 4 workflow features that really demonstrate the idea of reducing redundancies and
simplifying processes.
They also happen to be 4 of my favorite features, but that’s totally a coincidence.
Let me set up the scenario:
A new campaign has landed your company a number of new clients that all need to be
onboarded ASAP. Anyone else might panic, but you use Process Street workflows for all your
onboarding needs, so you’ve got everything under control.
Check out how Payroll Processors uses Process Street for their client onboarding in the video
below:
Conditional logic
Not all of your new clients have the same needs or wants. Some of your competitors offer
standard packages of different features, but these clients came to because of your bespoke
offerings.
Creating and running a different onboarding workflow for each specific case would be both
time-consuming and impractical. Fortunately, you can use the same workflow for every
client with conditional logic.
With conditional logic, you’re able to create branching pathways that can cover a variety of
situations. Your representative can select which services the client wants, which triggers the
relevant tasks to appear as part of the workflow. Any task that isn’t needed, stays hidden.
That almost sounds like an abstraction. Hm.
Check out this short video for a quick overview of what conditional logic can do with
branching pathways:
Conditional logic is without a doubt my favorite feature. That said, it’s very easy to fall into
the rabbit hole of All Possible Scenarios. This is that over-optimization thing I mentioned
earlier.
6/9
I’ve found myself buried in potential pathways more than once because I was trying to
account for every exception that might happen. Yes, you can pretty much do exactly that with
conditional logic, but trust me, you’ll make yourself loopy in the process.
This works best if you list out the most common occurrences and focus on those. Sure, that
one in a million thing might happen one day, but your time is better spent on the five things
that happen most days.
Plus, updating your workflow is really simple if you need to add or change one of your
branches.
Workflow updates
Halfway through onboarding all of these new clients, one of your reps points out that the
workflow is still using old documentation for a recently updated service. You currently have
hundreds of workflow runs in progress, which makes changing each one individually – well,
not impossible, but definitely not preferable.
That’s not a problem, though. You go into your Process Street library, add the new
documentation to your workflow template, and save the changes. Immediately, an option
pops up to update all live instances of that workflow as well.
One click and every client currently being onboarded has their workflow run updated with
the most current information.
Variables
7/9
It literally took me until this very moment to realize that variables are the epitome of DRY.
That really does prove that sometimes what you’ve been looking for is right in front of you
the whole time.
Cliff is one of your new clients. Because of reasons, his email is needed at various points
during the onboarding process for setting up credentials, sending confirmations, etc.
You could have a form field to input his email address every single time you need it.
Or you could use variables.
So if Cliff’s email is a piece of knowledge, a variable is the representation. Don’t ride
yaks, remember?
In your workflow, you have one field labeled, “Client Contact Email.” That label becomes
what we call a variable, which can be used in later tasks to automatically fill in Cliff’s email.
Not only do you only have to input Cliff’s email address once during the onboarding process,
but if Cliff comes back a few weeks later with a different address he wants to use, you only
have to change it once, too.
Approvals
Throughout the onboarding process, various departments are involved in getting everything
set up for each client. Sales is processing payments and handing off documents to the CS
team. Tech support is making sure the client has all the right equipment and software. Legal
is going over contracts.
8/9
It’s a lot of moving parts, and several different departments have to give their stamp of
approval before all is said and done. Our approvals feature takes what could be a clunky,
drawn-out process and streamlines it.
First, documents don’t have to be passed around to be approved. All the tasks and data that
need approval are collected in the approvals task where the decision-maker can easily review
them and either approve or reject on the same screen.
If multiple people need to authorize a task, they don’t have to wait for someone to give
approval and pass it on to the next person. Each one can access the same task and give their
approval at the same time, regardless of where they are.
At the risk of repeating myself…
So what happened with me, Blake, and overcommunication? Well, as it turns out, staying
DRY is a principle that’s built into every aspect of our workflows here at Process Street. As
one of our core values, overcommunication is embedded into every one of our interactions.
Despite seeming to contradict each other, the two ideas are actually quite symbiotic.
DRY is about repetition: repeating the exact same thing more than is necessary. Sure, in
some cases, repetition can be a good thing. If you’re learning a new skill, watching your
favorite movie, or eating your favorite meal, that’s some pretty good repetition.
If you’re constantly repeating yourself during a process, though, it’s probably time to
introduce some Automations into your workflow. That’s all that DRY is meant to say: Do you
really need to do Thing A again?
Overcommunication isn’t about repetition at all; it’s about conveying useful, relevant
information so the recipient can do the thing they need to do in the best way possible. In fact,
when you get right down to it, the purpose of overcommunication is to prevent repetition and
redundancies. By overcommunicating with my colleagues – that is, giving them every single
piece of information they need to perform a particular task – they can simply complete the
task.
Since we document all of these information exchanges in workflows, which also record who is
responsible for what and when it should be finished, we all stay on the same page with how a
project is progressing. There’s no hunting around for scattered documents, trawling through
email chains, or Person A forgetting to update Person B that something’s changed.
It’s all right there, in one place, for everyone to access.
In a sense, each Process Street workflow is a single, unambiguous, authoritative
representation of a piece of knowledge within a system. Imagine that.
(Don’t tell Blake he was right all along. I’ll never hear the end of it. 🤫)
9/9
Are you DRY, WET, or AHA? Let us know how you use these principles in your day-to-day!

More Related Content

What's hot

Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Alberto Brandolini
 
Smart Housekeeping Apps
Smart Housekeeping AppsSmart Housekeeping Apps
Smart Housekeeping Apps
Kinshuk Adhikary
 
ITB2016 best practices are best except when they are not
ITB2016 best practices are best except when they are notITB2016 best practices are best except when they are not
ITB2016 best practices are best except when they are not
Ortus Solutions, Corp
 
Plugin style EA
Plugin style EAPlugin style EA
Plugin style EA
Kinshuk Adhikary
 
Practical intro to kanban- Joakim Sunden
Practical intro to kanban- Joakim SundenPractical intro to kanban- Joakim Sunden
Practical intro to kanban- Joakim SundenAGILEMinds
 
Keeping Your Product Owner Productive
Keeping Your Product Owner ProductiveKeeping Your Product Owner Productive
Keeping Your Product Owner Productive
Clinton Wolfe
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
Alberto Brandolini
 
L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
Alberto Brandolini
 
Bite-sized Learning is the New Black
Bite-sized Learning is the New BlackBite-sized Learning is the New Black
Bite-sized Learning is the New Black
Lisa Whalen
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
Gabriel Paunescu 🤖
 
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
uxpin
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
Alberto Brandolini
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
Laurent Cerveau
 
Rails Operations - Lessons Learned
Rails Operations -  Lessons LearnedRails Operations -  Lessons Learned
Rails Operations - Lessons LearnedJosh Nichols
 
Democratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
Democratizing Online Controlled Experiments at Booking.com - Lukas VermeerDemocratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
Democratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
Savage Marketing
 
Ood and solid principles
Ood and solid principlesOod and solid principles
Ood and solid principles
Avinash Kadam
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
Laurent Cerveau
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
Enplore AB
 
Open is as Open does
Open is as Open doesOpen is as Open does
Open is as Open does
Andrew Shafer
 

What's hot (20)

Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
Loosely Coupled Complexity - Unleash the power of your Domain Model with Comm...
 
Smart Housekeeping Apps
Smart Housekeeping AppsSmart Housekeeping Apps
Smart Housekeeping Apps
 
ITB2016 best practices are best except when they are not
ITB2016 best practices are best except when they are notITB2016 best practices are best except when they are not
ITB2016 best practices are best except when they are not
 
Plugin style EA
Plugin style EAPlugin style EA
Plugin style EA
 
Practical intro to kanban- Joakim Sunden
Practical intro to kanban- Joakim SundenPractical intro to kanban- Joakim Sunden
Practical intro to kanban- Joakim Sunden
 
Keeping Your Product Owner Productive
Keeping Your Product Owner ProductiveKeeping Your Product Owner Productive
Keeping Your Product Owner Productive
 
A plumber's guide to SaaS
A plumber's guide to SaaSA plumber's guide to SaaS
A plumber's guide to SaaS
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
Bite-sized Learning is the New Black
Bite-sized Learning is the New BlackBite-sized Learning is the New Black
Bite-sized Learning is the New Black
 
30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
Surviving the Hype: An Experimental Framework for Scaling Enterprise Design T...
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
Rails Operations - Lessons Learned
Rails Operations -  Lessons LearnedRails Operations -  Lessons Learned
Rails Operations - Lessons Learned
 
Democratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
Democratizing Online Controlled Experiments at Booking.com - Lukas VermeerDemocratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
Democratizing Online Controlled Experiments at Booking.com - Lukas Vermeer
 
Ood and solid principles
Ood and solid principlesOod and solid principles
Ood and solid principles
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
Open is as Open does
Open is as Open doesOpen is as Open does
Open is as Open does
 

Similar to “Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY

Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
rosemariebrayshaw
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile developmentRajat Samal
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
mtoppa
 
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
NETWAYS
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
Kevlin Henney
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
Steven Smith
 
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman PicklWait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
PROIDEA
 
C programming guide new
C programming guide newC programming guide new
C programming guide new
Kuntal Bhowmick
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Abdelkrim Boujraf
 
Frame or not to Frame
Frame or not to FrameFrame or not to Frame
Frame or not to Frame
Avinash Ketkar
 
Naming Things
Naming ThingsNaming Things
Naming Things
Pete Nicholls
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsSteve Pember
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
Christian Heilmann
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclass
MagenTys
 
SAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and DesignSAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and Design
Michael Heron
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practices
uxpin
 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of Code
Arun Saha
 
Untangling spring week8
Untangling spring week8Untangling spring week8
Untangling spring week8
Derek Jacoby
 
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
QuekelsBaro
 
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Citrix
 

Similar to “Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY (20)

Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
 
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
stackconf 2023 | Better Living by Changing Less – IncrativeOps by Michael Cot...
 
Put to the Test
Put to the TestPut to the Test
Put to the Test
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman PicklWait A Moment? How High Workload Kills Efficiency! - Roman Pickl
Wait A Moment? How High Workload Kills Efficiency! - Roman Pickl
 
C programming guide new
C programming guide newC programming guide new
C programming guide new
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
 
Frame or not to Frame
Frame or not to FrameFrame or not to Frame
Frame or not to Frame
 
Naming Things
Naming ThingsNaming Things
Naming Things
 
Reactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and GrailsReactive Microservice Architecture with Groovy and Grails
Reactive Microservice Architecture with Groovy and Grails
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Bdd masterclass
Bdd masterclassBdd masterclass
Bdd masterclass
 
SAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and DesignSAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and Design
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practices
 
On Readability of Code
On Readability of CodeOn Readability of Code
On Readability of Code
 
Untangling spring week8
Untangling spring week8Untangling spring week8
Untangling spring week8
 
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
How to Ship in 8 Weeks or Less (via Cross-Functional Teams)
 
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
Synergy 2015 Session Slides: SYN408 XenDesktop 7.6 Architecture - Dealing Wit...
 

More from LizzyManz

How The Onboarding Revolution Can Prevent The Great Resignation Regret
How The Onboarding Revolution Can Prevent The Great Resignation RegretHow The Onboarding Revolution Can Prevent The Great Resignation Regret
How The Onboarding Revolution Can Prevent The Great Resignation Regret
LizzyManz
 
Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
Key Elements of Successful New Executive Onboarding (Tips & Best Practices) Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
LizzyManz
 
Survey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
Survey Results Are In: Here Are Your Biggest Employee Onboarding ChallengesSurvey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
Survey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
LizzyManz
 
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
LizzyManz
 
5 Factors That Will Help Your Company Win the War for Talent
5 Factors That Will Help Your Company Win the War for Talent5 Factors That Will Help Your Company Win the War for Talent
5 Factors That Will Help Your Company Win the War for Talent
LizzyManz
 
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
LizzyManz
 
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
LizzyManz
 
Level up Your Teamwork: Introducing Process Street for Microsoft Teams
Level up Your Teamwork: Introducing Process Street for Microsoft Teams Level up Your Teamwork: Introducing Process Street for Microsoft Teams
Level up Your Teamwork: Introducing Process Street for Microsoft Teams
LizzyManz
 
Everything You Need to Know About Onboarding Remote Employees
Everything You Need to Know About Onboarding Remote EmployeesEverything You Need to Know About Onboarding Remote Employees
Everything You Need to Know About Onboarding Remote Employees
LizzyManz
 
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
LizzyManz
 
4 Ways to Optimize Your Internal Mobility Program for Employee Retention
4 Ways to Optimize Your Internal Mobility Program for Employee Retention4 Ways to Optimize Your Internal Mobility Program for Employee Retention
4 Ways to Optimize Your Internal Mobility Program for Employee Retention
LizzyManz
 
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!) 6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
LizzyManz
 
5 Essentials for Successfully Reboarding Employees
5 Essentials for Successfully Reboarding Employees 5 Essentials for Successfully Reboarding Employees
5 Essentials for Successfully Reboarding Employees
LizzyManz
 
Process Design Masterclass: Top Tips from a Process Design Expert
Process Design Masterclass: Top Tips from a Process Design Expert Process Design Masterclass: Top Tips from a Process Design Expert
Process Design Masterclass: Top Tips from a Process Design Expert
LizzyManz
 
Employee Metrics: 9 Essential Data Points to Track in 2022
Employee Metrics: 9 Essential Data Points to Track in 2022 Employee Metrics: 9 Essential Data Points to Track in 2022
Employee Metrics: 9 Essential Data Points to Track in 2022
LizzyManz
 
How to Implement Workplace Monitoring & Preserve Employee Autonomy
How to Implement Workplace Monitoring & Preserve Employee AutonomyHow to Implement Workplace Monitoring & Preserve Employee Autonomy
How to Implement Workplace Monitoring & Preserve Employee Autonomy
LizzyManz
 
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
LizzyManz
 
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis CummingsMasters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
LizzyManz
 
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
LizzyManz
 
How to Create a Runbook: A Guide for Sysadmins & MSPs
How to Create a Runbook: A Guide for Sysadmins & MSPsHow to Create a Runbook: A Guide for Sysadmins & MSPs
How to Create a Runbook: A Guide for Sysadmins & MSPs
LizzyManz
 

More from LizzyManz (20)

How The Onboarding Revolution Can Prevent The Great Resignation Regret
How The Onboarding Revolution Can Prevent The Great Resignation RegretHow The Onboarding Revolution Can Prevent The Great Resignation Regret
How The Onboarding Revolution Can Prevent The Great Resignation Regret
 
Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
Key Elements of Successful New Executive Onboarding (Tips & Best Practices) Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
Key Elements of Successful New Executive Onboarding (Tips & Best Practices)
 
Survey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
Survey Results Are In: Here Are Your Biggest Employee Onboarding ChallengesSurvey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
Survey Results Are In: Here Are Your Biggest Employee Onboarding Challenges
 
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
Everything You Need to Know About Conducting Employee Pulse Surveys (+ Free T...
 
5 Factors That Will Help Your Company Win the War for Talent
5 Factors That Will Help Your Company Win the War for Talent5 Factors That Will Help Your Company Win the War for Talent
5 Factors That Will Help Your Company Win the War for Talent
 
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
How to Give New Hires a Perfect Onboarding Experience for Free (+7 Free Templ...
 
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
Prevent Employee Churn & Ensure New Hires Don’t Regret Their Decision
 
Level up Your Teamwork: Introducing Process Street for Microsoft Teams
Level up Your Teamwork: Introducing Process Street for Microsoft Teams Level up Your Teamwork: Introducing Process Street for Microsoft Teams
Level up Your Teamwork: Introducing Process Street for Microsoft Teams
 
Everything You Need to Know About Onboarding Remote Employees
Everything You Need to Know About Onboarding Remote EmployeesEverything You Need to Know About Onboarding Remote Employees
Everything You Need to Know About Onboarding Remote Employees
 
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
The 8 Essential Hiring Processes to Streamline & Automate Recruitment (+8 Fre...
 
4 Ways to Optimize Your Internal Mobility Program for Employee Retention
4 Ways to Optimize Your Internal Mobility Program for Employee Retention4 Ways to Optimize Your Internal Mobility Program for Employee Retention
4 Ways to Optimize Your Internal Mobility Program for Employee Retention
 
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!) 6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
6 Steps to Build the Perfect Career Progression Plan (+ Free Template!)
 
5 Essentials for Successfully Reboarding Employees
5 Essentials for Successfully Reboarding Employees 5 Essentials for Successfully Reboarding Employees
5 Essentials for Successfully Reboarding Employees
 
Process Design Masterclass: Top Tips from a Process Design Expert
Process Design Masterclass: Top Tips from a Process Design Expert Process Design Masterclass: Top Tips from a Process Design Expert
Process Design Masterclass: Top Tips from a Process Design Expert
 
Employee Metrics: 9 Essential Data Points to Track in 2022
Employee Metrics: 9 Essential Data Points to Track in 2022 Employee Metrics: 9 Essential Data Points to Track in 2022
Employee Metrics: 9 Essential Data Points to Track in 2022
 
How to Implement Workplace Monitoring & Preserve Employee Autonomy
How to Implement Workplace Monitoring & Preserve Employee AutonomyHow to Implement Workplace Monitoring & Preserve Employee Autonomy
How to Implement Workplace Monitoring & Preserve Employee Autonomy
 
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
Eliminate Noise & Make Better Decisions (+ Free Noise Audit Template)
 
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis CummingsMasters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
Masters of Process Episode 1: On Deck with Michael Gill and Curtis Cummings
 
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
5 Tips to Improve Psychological Safety in Hybrid Workplaces by Focusing on Wo...
 
How to Create a Runbook: A Guide for Sysadmins & MSPs
How to Create a Runbook: A Guide for Sysadmins & MSPsHow to Create a Runbook: A Guide for Sysadmins & MSPs
How to Create a Runbook: A Guide for Sysadmins & MSPs
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 

“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY

  • 1. 1/9 August 13, 2021 “Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY process.st/dont-repeat-yourself-dry Leks Drakos August 13, 2021 Unless you work with small children or large animals, the expectation of staying dry at work is pretty high. I know my workstation is very not water-resistant. So when Blake Thorne (our product marketing manager) pitched me an article about DRY, I had no idea what he was talking about. According to our three wise men in engineering, that’s to be expected. The DRY principle is almost exclusively used in software development; those of us outside don’t have much cause to consider it. Or do we? And this is what Blake wanted to get at. “It’s the principle of ‘don’t repeat yourself,’” he explained. “Cut out all the unnecessary, repetitious code.” “But one of our values is to overcommunicate,” I countered. “Everything. Twice, even. Don’t those two concepts cancel each other out?”
  • 2. 2/9 “Maybe,” he conceded. “But what if they actually don’t?” I am a sucker for a good what-if. Here I’ll go over the principle of DRY – plus WET and AHA (oh, those rascally devs) – and how here at Process Street we manage to overcommunicate without repeating ourselves. Because I’m such a nice guy, I’ll also point out the 4 best features to get you on the same path. Let’s get to it! The 3 principles of programming (when you’re not a programmer) Why, oh why, Leks, do we care about programming principles if we’re not programmers? That’s a good question. The answer is pretty simple. Whatever our knowledge niches and specialized lingo, we’re all trying to do the same thing: work smarter. Take me and my pal, Herbie, for example. He turns gobbledygook code into very cool things like the Slack app or our global search feature. I turn boring, technical concepts into scintillating and informative blog posts. The processes we each use, fundamentally, aren’t that different. (And no, not just because we both spend endless hours staring at a screen.) Building an app or writing an article are both about taking an intangible, abstract concept and creating something concrete for people to hold in their hands. Maybe that’s too esoteric. Software development is about solving problems. You encounter a roadblock; you create a way around it. Now think about your position. What do you spend most of your workday doing? At any given time, I’m willing to put good money on that fact that you’re either: Trying to solve a problem; Figuring out how you can solve future problems faster. And that is why we’re talking about these three programming principles. Each one – in its own way – is about finding better solutions and methods to work smarter. Who doesn’t want that? Let’s take a closer look at these three principles:
  • 3. 3/9 Don’t repeat yourself (DRY) Andy Hunt and Dave Thomas are credited with coining the specific acronym for DRY, though, like most things, the idea was around long before someone put a name to it. This is how they define the idea: “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.” – Andy Hunt & Dave Thomas, The Pragmatic Programmer Cool, right? Yeah, it took me a minute to get it, too, and I have a whole degree in words. Let me give you a practical example. Look at the subheader for this section. In it is a piece of knowledge (don’t repeat yourself) and a representation (DRY). Every time I write DRY throughout this post, you’re going to know I mean “don’t repeat yourself.” Later, I decide I want DRY to mean something else. Don’t ride yaks, for example. I don’t have to go through the entire post and change all 25 times I use DRY, though; I only have to change it once, in this subheader. Anyone who reads it after will associate DRY with “don’t ride yaks.” They may think that doesn’t make a lot of sense, but DRY will still be about riding yaks for those readers. Write everything twice (WET)
  • 4. 4/9 As you might imagine, the WET principle is meant to be the exact opposite of DRY. WET was suggested by software engineer Conlin Durbin as a response to those who took the DRY principle to the extreme and viewed it as an irrefutable law of programming. Durbin defined his new rule is: “You can ask yourself “Haven’t I written this before?” two times, but never three.” Basically, if you repeated something twice – no biggie. If you repeated it a third time, it’s time to look at what you’re doing and see if there’s a better way. The benefit of WET over DRY is that it prevents what Durbin calls “premature optimization.” I’ll delve into the idea of over-optimizing when I talk about conditional logic a little later, but suffice it to say, there is such a thing as too much optimization. Avoid hasty abstractions (AHA) First things first, for the other non-devs in the room: “[A]n abstraction will simplify a process […] by providing what you really need, and hiding the useless details you don’t care [about].” – Matthieu Cneude, “What Are Abstractions in Software Engineering with Examples” AHA exists because, surprise surprise, some took the WET principle to the extreme and viewed it as an irrefutable law of programming. Haven’t we been here before? 🤔 According to Kent C. Dodds (who first wrote about it) this principle is based on two main ideas: Duplication is better (and cheaper) than the wrong abstraction. Optimize for change first. The first point is a continuation of Durbin’s concept of “premature optimization.” So if you jump the gun and try to fix a repetition without first understanding the context, you either have to undo your original fix or you end up with something that doesn’t work properly. Either way, it costs more than leaving the duplication alone in the first place. The second point says that it’s better to create something flexible because we can’t accurately predict what future needs will be. A product that sits on top of the world today can easily become obsolete tomorrow if it isn’t able to meet changing demand. Dodds hopes for AHA to remain undogmatic, despite its predecessors’ trajectory, and emphasizes that, rather than strictly adhering to hard and fast rules, it’s more efficient and more effective to make the best decision for each circumstance.
  • 5. 5/9 Process Street’s DRY-est features Sure it has its pros and cons, but at heart, the DRY principle is about removing unnecessary repetition. Process Street is all about automating repetitive tasks. I mean, it seems like there’s something there, right? As it turns out, Process Street’s workflows follow the DRY ethos in many ways. I’ve picked out the 4 workflow features that really demonstrate the idea of reducing redundancies and simplifying processes. They also happen to be 4 of my favorite features, but that’s totally a coincidence. Let me set up the scenario: A new campaign has landed your company a number of new clients that all need to be onboarded ASAP. Anyone else might panic, but you use Process Street workflows for all your onboarding needs, so you’ve got everything under control. Check out how Payroll Processors uses Process Street for their client onboarding in the video below: Conditional logic Not all of your new clients have the same needs or wants. Some of your competitors offer standard packages of different features, but these clients came to because of your bespoke offerings. Creating and running a different onboarding workflow for each specific case would be both time-consuming and impractical. Fortunately, you can use the same workflow for every client with conditional logic. With conditional logic, you’re able to create branching pathways that can cover a variety of situations. Your representative can select which services the client wants, which triggers the relevant tasks to appear as part of the workflow. Any task that isn’t needed, stays hidden. That almost sounds like an abstraction. Hm. Check out this short video for a quick overview of what conditional logic can do with branching pathways: Conditional logic is without a doubt my favorite feature. That said, it’s very easy to fall into the rabbit hole of All Possible Scenarios. This is that over-optimization thing I mentioned earlier.
  • 6. 6/9 I’ve found myself buried in potential pathways more than once because I was trying to account for every exception that might happen. Yes, you can pretty much do exactly that with conditional logic, but trust me, you’ll make yourself loopy in the process. This works best if you list out the most common occurrences and focus on those. Sure, that one in a million thing might happen one day, but your time is better spent on the five things that happen most days. Plus, updating your workflow is really simple if you need to add or change one of your branches. Workflow updates Halfway through onboarding all of these new clients, one of your reps points out that the workflow is still using old documentation for a recently updated service. You currently have hundreds of workflow runs in progress, which makes changing each one individually – well, not impossible, but definitely not preferable. That’s not a problem, though. You go into your Process Street library, add the new documentation to your workflow template, and save the changes. Immediately, an option pops up to update all live instances of that workflow as well. One click and every client currently being onboarded has their workflow run updated with the most current information. Variables
  • 7. 7/9 It literally took me until this very moment to realize that variables are the epitome of DRY. That really does prove that sometimes what you’ve been looking for is right in front of you the whole time. Cliff is one of your new clients. Because of reasons, his email is needed at various points during the onboarding process for setting up credentials, sending confirmations, etc. You could have a form field to input his email address every single time you need it. Or you could use variables. So if Cliff’s email is a piece of knowledge, a variable is the representation. Don’t ride yaks, remember? In your workflow, you have one field labeled, “Client Contact Email.” That label becomes what we call a variable, which can be used in later tasks to automatically fill in Cliff’s email. Not only do you only have to input Cliff’s email address once during the onboarding process, but if Cliff comes back a few weeks later with a different address he wants to use, you only have to change it once, too. Approvals Throughout the onboarding process, various departments are involved in getting everything set up for each client. Sales is processing payments and handing off documents to the CS team. Tech support is making sure the client has all the right equipment and software. Legal is going over contracts.
  • 8. 8/9 It’s a lot of moving parts, and several different departments have to give their stamp of approval before all is said and done. Our approvals feature takes what could be a clunky, drawn-out process and streamlines it. First, documents don’t have to be passed around to be approved. All the tasks and data that need approval are collected in the approvals task where the decision-maker can easily review them and either approve or reject on the same screen. If multiple people need to authorize a task, they don’t have to wait for someone to give approval and pass it on to the next person. Each one can access the same task and give their approval at the same time, regardless of where they are. At the risk of repeating myself… So what happened with me, Blake, and overcommunication? Well, as it turns out, staying DRY is a principle that’s built into every aspect of our workflows here at Process Street. As one of our core values, overcommunication is embedded into every one of our interactions. Despite seeming to contradict each other, the two ideas are actually quite symbiotic. DRY is about repetition: repeating the exact same thing more than is necessary. Sure, in some cases, repetition can be a good thing. If you’re learning a new skill, watching your favorite movie, or eating your favorite meal, that’s some pretty good repetition. If you’re constantly repeating yourself during a process, though, it’s probably time to introduce some Automations into your workflow. That’s all that DRY is meant to say: Do you really need to do Thing A again? Overcommunication isn’t about repetition at all; it’s about conveying useful, relevant information so the recipient can do the thing they need to do in the best way possible. In fact, when you get right down to it, the purpose of overcommunication is to prevent repetition and redundancies. By overcommunicating with my colleagues – that is, giving them every single piece of information they need to perform a particular task – they can simply complete the task. Since we document all of these information exchanges in workflows, which also record who is responsible for what and when it should be finished, we all stay on the same page with how a project is progressing. There’s no hunting around for scattered documents, trawling through email chains, or Person A forgetting to update Person B that something’s changed. It’s all right there, in one place, for everyone to access. In a sense, each Process Street workflow is a single, unambiguous, authoritative representation of a piece of knowledge within a system. Imagine that. (Don’t tell Blake he was right all along. I’ll never hear the end of it. 🤫)
  • 9. 9/9 Are you DRY, WET, or AHA? Let us know how you use these principles in your day-to-day!