Vote: A Slack App to Empower Workplace Democracy

Logan Edwards
Captain’s Blog
Published in
5 min readMar 9, 2017

How “Vote” For Slack Helps Your Team Make Faster & Fairer Decisions

We are a small team of full stack software engineers & designers that work together on client services projects. Fount, our company, was founded on democratic principles that ensure every team member has an equal voice in company decisions.

This isn’t just a mission statement that lives as text on a website, it’s how we work. We have democratized every part of the software development process. Each project that we undertake is voted on and all project leaders are elected by their teams. This type of working culture requires a high level of communication. Which is why…

We freaking love Slack.

Most of our team is based within a 50 mile radius of one another but we work in a distributed fashion (remotely). Slack is used daily as our primary communication tool. The majority of our decisions are made within Slack via team chat messages. As you can imagine, our democratic team culture can make collaborating around a decision, well… lengthy. Even deciding where to host our weekly team happy hour can require some back and forth (We are based in Charleston, SC where there is no shortage of beautiful watering holes).

To help streamline the decision making process, we built Vote, a new Slack app that allows anyone to call for anonymous votes at any time and on any issue.

Here is how it works:

From any channel in Slack, simply type /vote to activate the voting feature.

Input a text description to provide information or context around the vote options.

To override the default options (Yes, No, Abstain) by invoking the command, include additional text within brackets []: include up to 5 options for voters to select. Separate each option with a comma and hit enter:

Vote in action. GIF style!

Voila! The vote is now live and available to every Slack user that has access to the corresponding channel it was posted to. Each person can cast one vote or “abstain” from casting their vote.

Using vote is simple but there is magic behind how it was built. Let’s review:

Technical & Team Considerations

Anonymous Posting

Keeping the creator of the poll/vote anonymous is very important to us to ensure the selections are not skewed based on who posts the vote. For example, if a more senior team member creates a poll, people should not feel a tendency to vote a certain way just because of their seniority or some political alignment.

When you install vote within your Slack instance, a new bot account is created with the name “Vote”. Any new ballot posted to a Slack channel using Vote is posted under this new account. This keeps the vote anonymous by not disclosing the person that posted the vote.

Anonymous Voting

The study of group behavior has proven that individual behavior and decision making can be influenced by the presence of others. One of the largest risks that a group can (unknowingly) exert over their members is conformity — the process by which members modify behavior to comply with the group’s decisions. The term “Group Think” or “Hive Mind” may also come to mind. Research shows that group pressure does not have to be intense to produce conformity.

To prevent group conformity, any votes cast are also kept anonymous. You won’t be able to see how your closest teammate voted and follow suit.

Abstain Option

We diligently set up our company culture to ensure everyone feels empowered to speak their mind and have a voice in the decision making process. However, forcing people to vote would be hypocritical. Vote includes an “abstain” option that allows each individual to indicate they would prefer not to vote on the decision.

Technical Challenges

To further reinforce anonymity and our users’ privacy, the actual implementation has been designed in a way that safeguards the entire process. The main components of this strategy are the following:

Zero Authorization Voting

After the Vote app is installed for your team, no other authorization requests are made on behalf of your users. This means that Vote is technically incapable of leaking your user’s sensitive information because it never has access to it.

Zero Persistence of PII

There is no personally identifiable information ever persisted for any of your users. The only information ever persisted for Vote is the vote topic metadata along with the personally unidentifiable vote responses (to prevent duplicate votes).

The application has initially been designed with our own needs in mind. However, we encourage other organizations to utilize this (and similar) tools to promote an honest and democratic culture where political affiliations, peer pressure or conformity may have a biased skew on the result. Happy voting!

Don’t miss the details below!

Want To Install Vote For Your Team? It’s Free.

You can download and install Vote for Slack here.

If you found this article interesting, please press the heart icon and share it along. Interested in chatting with us? Email us at crew@fountstudio.com or drop us a line at fountstudio.com.

Interested in our approach to democratic team decision making? Learn more about our organizational structure in this post.

About Fount: Fount is a digital product design and development studio. We create beautiful, interactive experiences for our partners across many verticals, including consumer web and mobile products, enterprise services, and healthcare.

--

--

Logan Edwards
Captain’s Blog

Family Man, Software Engineer, Partner at Fount, Maker, Swedish vehicle enthusiast and gadget-obsessed