Tag Archives: Atlassian

After Moving to Slack: Inbox Zero (at least twice per week)

TL,DR Version: Moving my entire Engineering organization to Slack and adopting a ChatOps collaboration mindset has reduced email volume over 95% and now enables us to resolve issues in 1/4th of the time.

I have always been a fan of using automation, web hooks, and chat-assisted operations to streamline work and enable collaboration across different locations. However, this traditionally required some Engineering and Operations (i.e., DevOps) investment in setting up collaboration servers, programming bots, etc. Slack has changed this, virtually eliminating all technical friction of moving to a ChatOps model. Here is our of how Slack enabled us to move to a ChatOps environment with far less email, faster response times, and greater overall productivity.

In late 2013, I joined a new company that—at the time—had no one on staff at the time with a DevOps-style background. After coming from several years of Chat-integrated operations, it felt like hitting the brakes. One night a few weeks later, I saw a Tweet by @mparca on February 9 about this new great service called Slack. I took a quick look and realized I could achieve everything that HipChat and Hubot did—with a simple push-button SaaS service. My initial set up (our organization, some channels, and hooks to Github) took less than 10 minutes. As it was free (for many features), I did not even need to process a Purchase Order (even better). I was off to setting ChatOps at a new place.

Initially, things went pretty slow. At the time, most of our tech stack and tools were hosted on-premise. Our chat tool of choice as a Skype (not a hook-friendly app). I got a few people to move to Slack, but not many.

Over time, as we implemented a full continuous integration and deployment chain, we added more and more hooks into Slack. First came a move to Atlassian (Cloud). Next Jenkins. Next Sentry. Then Ansible. Then Icinga. Then came custom RTM scripts for more complex things, such as letting our Data Scientists know they have left an idle PySpark context running for more than eight hours. What made this so easy was that everything but the custom RTM scripts could be done in less than five mouse-clicks (it is very helpful that so many collaboration and monitoring tools have enabled web hooks).

As we added more hooks, and started to bring more people onboard, I noticed an interesting shift. People joining our team began to just use Slack to communicate. One developer would come across an interesting new open source repo or article and share it with the rest in #general. Developers with DevOps privileges would jump on issues as soon as they saw a Sentry alert in #prod (saving the need to even text or phone the on-call engineer). Some people even answering questions in code review while they were doing things like waiting at the airport to depart on vacation.

Today our Engineering Teams (Product, Hardware, Software, Data, and Ops) all now primarily use Slack for communications. Most even use it in favor of texting. We Slack each other tickets that are ready for work, UAT, or release). We use group chats to have conversations to answer questions about stories, designs, bugs, and more. We use Slack channels integrated with Github for better code reviews. We use Slack to facilitate pair programming (and pair testing). Slack is now our default tool  for issue diagnosis, as sharing log messages, code snippets, and JSON is much clearer thanks to native markdown.

We achieve this with the following channel model:

  • One channel for each environment (so we can let people know if we are about to add nodes, run a load test, etc.). We have our respective Jenkins, Ansible, Icinga and Sentry hooks tied into each environment channel as well.
  • One channel for each code repository (to see PRs and conduct code reviews). We have aligned our JIRA projects with these to integrate tickets as well.
  • We have some basic team channels for more focused group conversations
  • We also have a #rm channel for simple-to-read log of what was released, when

As our organization moved to this model, life and work got easier in some rather visceral ways:

First, I have been able to dial down my notifications to only ping me when four things happen: I get a call, I get a text, I get a direct Slack message, or there is public Slack in a mission-critical channel. I no longer get endless interruptions, making me more productive at work (and more attentive in meetings and at home). If my phone does ping, it means there is something very important—which actually lets me react to these issues faster.

Second, my email volume is down over 95%. The bulk of the emails I now get are related to true business questions (vs. endless status messages and FYIs). As a result, I can answer email faster and now regularly hit “Inbox Zero” at least twice a week—while managing a 24x7xForever SaaS Engineering organization with follow-the-sun development and operations spanning California, Washington, Europe, and Asia.

Our full embrace of Slack did not happen overnight. It organically evolved over a period of about 18 months–a natural rate of adoption for organizational change. Because it was organic, we did have to institute policies  that forced usage. Instead we allowed our teams to naturally adopt Slack in ways that made work easier. I hope more organizations can make this transition as everyone could benefit from less email and fewer interruptions.

Natural adoption of Slack over other forms of communication would have happened if the usability was not as good as it is. One of my favorite features is how well Slack detects when I am no longer at my desk: if I walk down the hall, my phone chirps on key Slack messages; when I sit back down my phone stops and my laptop takes over.  This happens within seconds.

Oh BTW, we do all of this with the baseline free Slack account. That’s one less excuse to not give it a try.

PS – Want to work in an environment like this? Check us out.

Evolution At Work: Why Traditional Enterprise Tech Will Get Killed By Consumer-oriented Products

Article first published as Evolution At Work: Why Traditional Enterprise Tech Will Get Killed By Consumer-oriented Products on Technorati.

Today’s Post-PC, Web 2.0 Era is causing the consumer and enterprise tech worlds to collide. In this battle, the DNA of consumer tech positions it to displace “dinosaur” Enterprise mindsets.

Three of the most thought-provoking articles I have read this year on enterprise technology have shined a light on a new, emerging phenomenon: how the rapid advancement of Web 2.0, cloud computing, tablet and smart phone technologies has opened the door to allow consumer-oriented products to displace traditional enterprise technology:

  • R “Ray” Wang, CEO of Constellation Research, explored this from the perspectives of speed, innovation and freedom of choice, writing about the emergence of consumer technologies that meet robust enterprise needs – fast, cheaper and more flexibility.
  • Matt Rossof, in an interview with Andreessen-Horowitz partner Peter Levin, discussed this from the end user experience, asking why people should not get the same ease of use from enterprise tech that they do from the products they use outside of work.
  • Thomas Wailgum, writer on enterprise for CIO.com, highlighted the poor customer experiences that can arise after “vendor lock-in”, questioning the business rationale to accept this in light of influx consumer-style, on-demand options now available.

It does not take much research to see the increased use of consumer tech for business. Many of us now can use personal smartphones and tablets to read our corporate email or Skype to conduct free, easy videoconferences. App Stores have thousands of business productivity apps we can install instantly. Media giants like CNN use WordPress. Even the US government now uses Drupal, a GSA-managed App Store and Google Office via the cloud.

Why This Is Happening Now

Technology innovation is not new; it happens all the time. What has changed is the emergence of a whole new set of innovations that focus on making it much, much easier to deploy and integrate robust, advanced technology. Three particular developments stand out:

1. Cloud Computing. The Cloud has turned computing into a utility. Fortune 500 firms, SMEs, startups and even individuals can setup business-class environments with equal ease – without the need for large investment in capital or specialized teams.

2. Web 2.0. The Web 2.0 (and Mobile 2.0) movement has made integration open and market-driven. You can go to an App Store and find thousands of applications that work together rather than managing—and maintaining—integration projects yourself.

3. The Post-PC Era. Consumer “off the shelf” smartphones have changed how many people view computing—at work or at home. As a result, they are now creating demand for a new class of business application, one that deliverable over the cloud and Web 2.0.

The Result: Consumer and Enterprise Worlds in Collision

dinosaur-extinct-250pxsq1In the past, the enterprise and consumer technology worlds rarely touched. Consumer tech was in the household (or consumer-facing websites). Enterprise tech was on-premise. The resource-intensive requirements to deploy and integrate business technology served as a barrier between the consumer and enterprise technology words.

Now that barrier is gone. Clouds, Web 2.0, smartphones, tablets and other dual-use innovations have created a “land bridge” between these two worlds. Non-technologists can now implement many projects without specialized technology teams and large budgets. They are regularly doing this based on their personal (i.e., consumer-based) experiences with technology. In more and more businesses, enterprise and consumer technologies are competing head-to-head.

Why Consumer-oriented Tech Will Win Out

Companies who build consumer-style products evolved in a fundamentally different environment than those companies that have evolved in the world of the “locked-in” enterprise agreement. As a result, they have three critical “genetic” differences:

1. Another Choice Is Always Available. Consumer-facing product companies cannot rely on multi-year enterprise agreements to retain their customers. If customers are not happy, they will leave now – not in four years. Companies fighting in this intense environment are used to working daily to keep customers happy enough not to not only keep using their products, but also to recommend them to their friends.

2. Support Is a Cost Center Not a Revenue Center. In the consumer world, it is very hard to charge for support. It is equally hard to sell products that require lots of setup and training time to use. As a result, consumer-oriented companies design products to minimize the need for customer service. This is vastly different than many enterprise companies, who view extended service and support agreements as a key revenue stream.

3. Integration Is Free, Open and Instant. Products that easily share contacts, photos, updates and other useful information are used more and more often; products that don’t fall by the wayside. Integration is inherently open, instant, free and simple. It does not require complex partner agreements, extensive training and long integration timelines typical of legacy enterprise systems.

These differences are not superficial; they are embedded in the very “DNA” of the missions, products and teams of successful consumer-oriented companies. They provide enormous competitive advantages in comparison to those with “enterprise lock-in ‘dinosaur’ mindsets.” Freedom of choice will beat lack of choice. Pleasing user experiences will trump frustrating ones. Companies like Salesforce, 37 Signals, DropBox, Box.Net, Atlassian, Google and Apple are displacing “traditional” enterprise vendors in many corporations – even at Fortune 50 ones like Proctor & Gamble. However, this is just the beginning: in ten years the lines between consumer and enterprise tech will be blurred beyond recognition.