why engineering teams love slack (and why yours might love ... · why engineering teams love slack...

21
Why engineering teams love Slack (and why yours might love it too). The adaptive collaboration hub for software engineering ENGINEERING

Upload: others

Post on 26-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why engineering teams love Slack (and why yours might love it too)The adaptive collaboration hub for software engineering

ENGINEERING

Why

eng

inee

ring

team

s lo

ve S

lack

2

Back in 2009 we were a small team of software engineers building a massive multiplayer game called Glitch

We started using Internet Relay Chat (remember IRC) to keep everyone on the same page As work on the game progressed we kept wishing our IRC channel could do more than just basic communication So we found ourselves tweaking it adding to it and hacking new ways to get things done faster

Well the game flopped so we decided to focus on this new collaboration thing wersquod developed

That was a good call Because we ended up with a great product-market fit a really effective way for teams to work together

Maybe thatrsquos because we werenrsquot trying to ldquodesignrdquo anything There was no ego and no speculation about some fictional user We were the users

Thatrsquos how Slack was born

Today itrsquos become bigger than wersquod ever imaginedmdashand its adoption by dev teams of all sizes is a major reason

Yes Slack is used in pretty much every department and discipline but software engineering is where it all started and is still the source of a lot of the user love that keeps us coming to work smiling

Itrsquos hugely gratifying that wersquore able to create something that makes a direct impact on the daily working lives of developers

This e-book is a quick introduction to some of the ways Slack helps developers

We hope it helps explain why software engineers seem to like Slack so much

Whoa that happened fast

Why

eng

inee

ring

team

s lo

ve S

lack

3

Slack is used by all kinds of non-technical teams every day It seems to organically adapt to the work itrsquos supporting

But Slack seems to fit software engineering like a glove After all this is a pretty specialized kind of work

Software engineering is

Complex With lots of moving parts

Highly iterative Proceeding in sprints and cycles

Collaborative With design devs product people and QA folks in constant touch

Distributed Often involving people in different places and time zones

Open With sharing as a default setting

Increasingly automated Supported by lots of tools and cloud services

When you think about it all work is getting more and more like this But software engineering is an ideal use case It demands a kind of collaboration that just canrsquot happen with email and face-to-face meetings

This kind of work needs a new kind of collaboration

Why Slack fits software engineering so well

Why

eng

inee

ring

team

s lo

ve S

lack

4

The adaptive collaboration hub a new thing

People whorsquove never used Slack think of it as a messaging app Itrsquos way more than that In fact itrsquos a whole new thing that hasnrsquot existed before

Wersquove taken to calling it an adaptive collaboration hub because it adapts to the way different teams like to work to their existing software choices and to change

Why

eng

inee

ring

team

s lo

ve S

lack

5

1 Channel-based messaging This lets teams spin up channels dedicated to specific tasks projects or issues Like a devel-new-site channel where all developers meet to work on the new website Or a triage-mobile-app channel where teams work together to squash bugs on the mobile app Channels are way better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time

2 A searchable knowledge store A single place where anyone can find all relevant documents conversations and decisionsmdashlike those product specs or the discussion around that new feature Email attachments usually sink out of view to everyone but the people copied Knowledge is only valuable if itrsquos discoverable

3 An integration layer A place where the software your people spend the most time in (like GitHub Jira Jenkins and Trello) hooks into the place where work is discussed every day This minimizes the constant context-switching that comes from working across many different apps Instead of forcing your people to go to the apps bring the apps to your people

An adaptive collaboration hub combines three things in one tool

Note Bringing these three things together in one place makes each one of them far more powerful The hub is far greater than the sum of its parts

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 2: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

2

Back in 2009 we were a small team of software engineers building a massive multiplayer game called Glitch

We started using Internet Relay Chat (remember IRC) to keep everyone on the same page As work on the game progressed we kept wishing our IRC channel could do more than just basic communication So we found ourselves tweaking it adding to it and hacking new ways to get things done faster

Well the game flopped so we decided to focus on this new collaboration thing wersquod developed

That was a good call Because we ended up with a great product-market fit a really effective way for teams to work together

Maybe thatrsquos because we werenrsquot trying to ldquodesignrdquo anything There was no ego and no speculation about some fictional user We were the users

Thatrsquos how Slack was born

Today itrsquos become bigger than wersquod ever imaginedmdashand its adoption by dev teams of all sizes is a major reason

Yes Slack is used in pretty much every department and discipline but software engineering is where it all started and is still the source of a lot of the user love that keeps us coming to work smiling

Itrsquos hugely gratifying that wersquore able to create something that makes a direct impact on the daily working lives of developers

This e-book is a quick introduction to some of the ways Slack helps developers

We hope it helps explain why software engineers seem to like Slack so much

Whoa that happened fast

Why

eng

inee

ring

team

s lo

ve S

lack

3

Slack is used by all kinds of non-technical teams every day It seems to organically adapt to the work itrsquos supporting

But Slack seems to fit software engineering like a glove After all this is a pretty specialized kind of work

Software engineering is

Complex With lots of moving parts

Highly iterative Proceeding in sprints and cycles

Collaborative With design devs product people and QA folks in constant touch

Distributed Often involving people in different places and time zones

Open With sharing as a default setting

Increasingly automated Supported by lots of tools and cloud services

When you think about it all work is getting more and more like this But software engineering is an ideal use case It demands a kind of collaboration that just canrsquot happen with email and face-to-face meetings

This kind of work needs a new kind of collaboration

Why Slack fits software engineering so well

Why

eng

inee

ring

team

s lo

ve S

lack

4

The adaptive collaboration hub a new thing

People whorsquove never used Slack think of it as a messaging app Itrsquos way more than that In fact itrsquos a whole new thing that hasnrsquot existed before

Wersquove taken to calling it an adaptive collaboration hub because it adapts to the way different teams like to work to their existing software choices and to change

Why

eng

inee

ring

team

s lo

ve S

lack

5

1 Channel-based messaging This lets teams spin up channels dedicated to specific tasks projects or issues Like a devel-new-site channel where all developers meet to work on the new website Or a triage-mobile-app channel where teams work together to squash bugs on the mobile app Channels are way better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time

2 A searchable knowledge store A single place where anyone can find all relevant documents conversations and decisionsmdashlike those product specs or the discussion around that new feature Email attachments usually sink out of view to everyone but the people copied Knowledge is only valuable if itrsquos discoverable

3 An integration layer A place where the software your people spend the most time in (like GitHub Jira Jenkins and Trello) hooks into the place where work is discussed every day This minimizes the constant context-switching that comes from working across many different apps Instead of forcing your people to go to the apps bring the apps to your people

An adaptive collaboration hub combines three things in one tool

Note Bringing these three things together in one place makes each one of them far more powerful The hub is far greater than the sum of its parts

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 3: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

3

Slack is used by all kinds of non-technical teams every day It seems to organically adapt to the work itrsquos supporting

But Slack seems to fit software engineering like a glove After all this is a pretty specialized kind of work

Software engineering is

Complex With lots of moving parts

Highly iterative Proceeding in sprints and cycles

Collaborative With design devs product people and QA folks in constant touch

Distributed Often involving people in different places and time zones

Open With sharing as a default setting

Increasingly automated Supported by lots of tools and cloud services

When you think about it all work is getting more and more like this But software engineering is an ideal use case It demands a kind of collaboration that just canrsquot happen with email and face-to-face meetings

This kind of work needs a new kind of collaboration

Why Slack fits software engineering so well

Why

eng

inee

ring

team

s lo

ve S

lack

4

The adaptive collaboration hub a new thing

People whorsquove never used Slack think of it as a messaging app Itrsquos way more than that In fact itrsquos a whole new thing that hasnrsquot existed before

Wersquove taken to calling it an adaptive collaboration hub because it adapts to the way different teams like to work to their existing software choices and to change

Why

eng

inee

ring

team

s lo

ve S

lack

5

1 Channel-based messaging This lets teams spin up channels dedicated to specific tasks projects or issues Like a devel-new-site channel where all developers meet to work on the new website Or a triage-mobile-app channel where teams work together to squash bugs on the mobile app Channels are way better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time

2 A searchable knowledge store A single place where anyone can find all relevant documents conversations and decisionsmdashlike those product specs or the discussion around that new feature Email attachments usually sink out of view to everyone but the people copied Knowledge is only valuable if itrsquos discoverable

3 An integration layer A place where the software your people spend the most time in (like GitHub Jira Jenkins and Trello) hooks into the place where work is discussed every day This minimizes the constant context-switching that comes from working across many different apps Instead of forcing your people to go to the apps bring the apps to your people

An adaptive collaboration hub combines three things in one tool

Note Bringing these three things together in one place makes each one of them far more powerful The hub is far greater than the sum of its parts

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 4: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

4

The adaptive collaboration hub a new thing

People whorsquove never used Slack think of it as a messaging app Itrsquos way more than that In fact itrsquos a whole new thing that hasnrsquot existed before

Wersquove taken to calling it an adaptive collaboration hub because it adapts to the way different teams like to work to their existing software choices and to change

Why

eng

inee

ring

team

s lo

ve S

lack

5

1 Channel-based messaging This lets teams spin up channels dedicated to specific tasks projects or issues Like a devel-new-site channel where all developers meet to work on the new website Or a triage-mobile-app channel where teams work together to squash bugs on the mobile app Channels are way better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time

2 A searchable knowledge store A single place where anyone can find all relevant documents conversations and decisionsmdashlike those product specs or the discussion around that new feature Email attachments usually sink out of view to everyone but the people copied Knowledge is only valuable if itrsquos discoverable

3 An integration layer A place where the software your people spend the most time in (like GitHub Jira Jenkins and Trello) hooks into the place where work is discussed every day This minimizes the constant context-switching that comes from working across many different apps Instead of forcing your people to go to the apps bring the apps to your people

An adaptive collaboration hub combines three things in one tool

Note Bringing these three things together in one place makes each one of them far more powerful The hub is far greater than the sum of its parts

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 5: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

5

1 Channel-based messaging This lets teams spin up channels dedicated to specific tasks projects or issues Like a devel-new-site channel where all developers meet to work on the new website Or a triage-mobile-app channel where teams work together to squash bugs on the mobile app Channels are way better than one-to-one messages or closed email threads because they make it easy to include the right people in the right topics at the right time

2 A searchable knowledge store A single place where anyone can find all relevant documents conversations and decisionsmdashlike those product specs or the discussion around that new feature Email attachments usually sink out of view to everyone but the people copied Knowledge is only valuable if itrsquos discoverable

3 An integration layer A place where the software your people spend the most time in (like GitHub Jira Jenkins and Trello) hooks into the place where work is discussed every day This minimizes the constant context-switching that comes from working across many different apps Instead of forcing your people to go to the apps bring the apps to your people

An adaptive collaboration hub combines three things in one tool

Note Bringing these three things together in one place makes each one of them far more powerful The hub is far greater than the sum of its parts

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 6: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

6

Benefits to software engineering teams

The right collaboration hub directly influences the things that are most important to every engineering team better code delivered faster more efficient bug squashing and a better developer experience (so you keep your talent happy) Any software that helps you do all that is probably worth looking into

IDC helped us put some numbers to our claims Engineering teams use Slack to do more1

5 more output overall

27 less time needed to test and iterate

23 faster time to market

21 less time needed to identify and resolve engineering-related bugs and issues

1 IDC research ldquoThe Business Value of Slack 2017rdquo sponsored by Slack

ldquoSlack is a living documentation hub and everything is searchablerdquoMalika Rajvanshy senior engineer Slack

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 7: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

7

Wersquore undoubtedly some of the most sophisticated users of Slack for software developmentmdashall our dev teams live in it But every day we still hear about new use cases and interesting apps and integrations that software teams are using

Letrsquos walk through some of them organized by stages in the software development cycle

How Slack streamlines the whole software engineering process

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 8: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

8

Kick off the whole process with a single channel for a new product or feature Maybe itrsquos called something like feature-new-app Now therersquos a single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and UX

Sharing documents here makes everything discoverable For all contributors and any new joiners Slack integrates beautifully with Google Docs so all docs are a click away

Got a question Pop it into the channel Launch a discussion and come to a resolution for all to see Now therersquos a permanent record

Channel Details

About feature-new-app

Purpose

A single place to scope out the project gather feature requirements discuss alternatives and make fundamental calls on functionality and

Highlights

9 Pinned Items

A feature_[name] channel is where it all happens

Thread

Launch a discussion around a proposed new feature

Fay Mar 22nd at 320pm

6 replies

6 2

Should we include a feedback form for users within the app

Matt 2 days ago

Great idea We should definitely add that feature

Costanza 2 days ago

Matt letrsquos add it to the MVP

PlanSlack helps product managers designers and engineers agree on what theyrsquore building and why

Pin all core docs to the top of the channel

Great for onboarding

A thread spins off

Emojis are like votes

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 9: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

9

When itrsquos time to start coding Slack makes sure the whole team is working together

A devel-product-name channel is the home for everything Including day-to-day work across engineering and QA pull requests code merges design revisions daily stand-ups discussions etc

A central hub for code review Slack supports whatever process you use for branching merging reviewing and releasing code whether thatrsquos developing on version branches feature branches or from a merged master Git integrations (with GitHub Bitbucket or your chosen repository) bring all change alerts into Slack

CodeSlack helps devs orchestrate the many moving parts of a large code base speeding up development and improving quality

Git integrations keep everyone up-to-date

Open a pull request and you get pinged in Slack whenever someone comments on it

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 10: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

10

A new kind of standup Standups are an important part of agile development but they donrsquot have to be face-to-face Dev teams use Slack for standupsmdashwhether every morning or every weekmdashand have F2F meetings only when they make sense (for many devs the best meeting is a canceled one) Integrations with software like Standuply automatically push summary reports into Slack so your teams can share goals and tasks track business metrics post meeting notes and monitor the teams progress and happiness

Promote code reuse Code reuse is a core principle of efficient engineering teams but itrsquos a challenge when you have hundreds of developers contributing to many different productsBefore writing any new code your devs can search across all Slack channels to see if anyone else has already built something similar Next step ask in the right channels ldquoHas anyone made a date picker yetrdquo Stop re-coding the wheel Create and share code using snippets Snippets make it easy to share code configuration files and log files directly in Slack Colleagues can download them view the raw file and leave comments

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 11: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Bots apps get conversational A bot is a type of Slack app designed to interact with users via conversation Itrsquos the same as a regular app It can access the same range of APIs and do all the things that a Slack app can do But when you build a bot for your Slack App youre giving that app a face a name and a personality and encouraging users to talk to it Your bot can send DMs it can be mentioned by users it can post messages or upload files and it can be invited to channels (or kicked out)

Why

eng

inee

ring

team

s lo

ve S

lack

11

Slack is a collaboration hub Thatrsquos what itrsquos great at It doesnrsquot try to do the work of the software your teams already usemdashlike Trello GitHub or Jenkins

Instead Slack simply unites all these different apps bringing the relevant information from them into the channels where the work is being discussed (and inviting actions in those applications triggered from inside Slack)

These integrations help developers do what they love to do create systems that just work

The examples shared throughout this e-book are just that examples There are as many ways to use Slack as there are software teams using it

Slack in action

Extensibility at its core

ldquoAnytime Irsquove seen a Slack integration Irsquove turned it on Itrsquos provided so much value and helped us save so many extra steps in our processrdquoThomas Lawless senior software engineer IBM

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 12: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

12

1

Louise Foreser 1011 AM

David Brichau 1011 AM

When clicking on a Link Bu5on in a block wersquore dispatching a block_acon payload to the apprsquos configured URL even though the app shouldnrsquot be nofied or responding to Link Bu5on interacons

This was not the behaviour with regualr link bu5ons

Was this an intenonal decisiion or is it a known issue

I set the limit of acon value to max 75 characters I canrsquot remember why I picked 75 I meant to keep these in sync with previous a5achments which actually have a limit of 2000 I think I just misread that config file and grabbed 75 from soemthing else

9 replies Last reply 20 hours ago

tesngtesng group146 0

Search

Follow threadYoursquoll be nofied about new replies

Copy link to message

Copy text

Mark unread

Remind me about this

Pin to devel-block-kithellip

Create issuehellip JIRABot

Push to Zapierhellip

Create a poll

128029128029

Zapier

Polly

jira

JIRABot

Commands matching ldquojirardquo tab or to navigate crarr to select esc to dismiss

jira assignee [project key] [summary]Creates a task in jira

More message aconshellip

Continuous integration runs your testing suite against every merge with each new chunk of code Slack streamlines the process in lots of ways big and small

A testingndashfeature channel coordinates QA Let the QA team collaborate with devs in an open forum

Jira integration automates test workflows Capture issues in Slack and get them into the pipeline automatically Send customizable notifications from Jira into your channels Quickly assign issues to people and know theyrsquore recorded where they belong Some teams use Slack to automatically move change requests into a new channel updating Trello or Asana at the same time

Break out a channel for each client With dedicated testing channels for iOS Android and web

TestTesting is woven into the modern developmentdeployment process Slack supports a dynamic collaborative transparent approach to testing

Integrate with Jira to surface project progress

Open a Jira ticket from Slack to report a bug

Colleagues contribute their ideas

Create Jira tasks in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 13: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

13

A lot of teams use Jenkins as their continuous integration server It didnrsquot take long for them to work out new ways to integrate Jenkins with Slack to automate all sorts of routine development tasks

One example A software teamrsquos custom Slack integration spins up a Jenkins server running a big testing suite whenever a developer opens a pull request

When the tests have been run the notifications pop up in the right Slack channels If the code fails the test a notification is sent to the developer

Slack in action

Working with Jenkins

Pipeline traceability Running code reviews testing and deployment from Slack creates and maintains an up-to-date record of the entire pipeline from the beginning If you hit a problem the team can review the tests and merges and roll back to a happier state until the code is fixed When code reviews are being performed or pull requests are being checked comments and discussion happen on GitHub But any comment is also posted into Slack and alerts the owner of that pull request So the exercise is done on GitHub then preserved as a copy in Slack

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 14: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

14

Continuous delivery always calls for lots of small code releases deployed frequently Slack helps engineering teams streamline some of that

An example One of our own software teams wrote an app called Deploy Wizard that integrates with ops and communicates the status of the code in channel It starts with a canary stage (a tiny release to catch any sudden fails) then progresses through 10 25 75 and 100 of the user base

Deploy Wizard pings the right developers and channels in Slack as the deployment progresses The whole thing is managed by the on-duty deploy commanders (trained engineers working on three-hour shifts)

If developers want to test their code in the staging environment they specify that with their merge request The deploy will stop in staging until a developer reports that he or she has tested the code into the deploys channel

ReleaseSlack helps push code to production by helping automate the workflows and notifications

Deploy Wizard automates notifications All is going smoothly

A deployment progresses to full production

Deploy right from Slack Some dev teams use slash commands (like deploy_productname_staging) to trigger a deploy right from Slack Automated messages show when the deployment has succeeded with a link to go and check it (or a button to push it to production)

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 15: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

15

All issues flow through the triage product-name channel Including reports from customer support (manual or via integrations with tools like Zendesk)

Integrations bring all alerts into one place Instead of expecting devs to monitor email or check into dashboards Slack becomes the single place where all alerts find the best people to respond Aggregating PagerDuty events or Asana tickets and posting them to the right channels reduces incident resolution times and creates a triage trail Team members can work together on triggering viewing acknowledging and resolving incidents right from Slack Similarly Slack can pull all web transaction server and mobile alerts from New Relic into a Slack channel for fast response Anyone curious about the incident can just pop into the channel and read about it This reduces managers interrupting the incident responders for constant updates Itrsquos all there

OperationsDev teams use Slack to triage trouble tickets swarm around issues and squash bugs

PagerDuty events reach the right people fast

Action buttons accelerate resolutions right from within Slack

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 16: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

16

Emojis and reacjis help triage issues and trigger workflows Reacjis are an efficient way to capture the responses of team membersmdashbut theyrsquore also a way to trigger automated workflows An app collects these so they can be aggregated flagged and actioned Any open issues (eye emoji but no check mark) are shown in PagerDuty

At Slack we use

= ldquoIrsquom lookingrdquo

= ldquoResolvedrdquo (for triage) or ldquoApprovedrdquo (for pull requests)

And we built a bot that collects and reports on these in a dedicated channel For sharing bug reports we also use

= Urgent

= A question or non-urgent problem

= Sharing feedback no immediate action

An automated decisions channel Some teams use the gavel emoji to indicate when a decision has been made A bot then pushes all these decisions to a decisions channel where management can see the flow of decisionsmdashand team members can easily search

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 17: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

17

Software engineers are in demand To keep your talent you need to give them the best employee experience you can

The right collaboration software can play a big role in this helping reduce work friction foster transparency automate routine tasks and help work across teams

Talk to any software engineering team that uses Slack

Ask to see how they use channels apps and integrations

Then ask what theyrsquod do without it

Slack in action

The people side

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 18: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

18

Two new developers join the team How do you get them up to speed

Old way Lots of onboarding meetings and a bunch of forwarded email threads to try to figure out Good luck with that

New way Invite them to the devndashnewndashproduct channel to review the pinned posts like

The product spec

The tech spec

The designs

(If these are Google Docs DropBox or OneDrive theyrsquoll always be kept up to date)

They can also scan through all previous conversations decisions and the people involved

Now thatrsquos how you onboard a new dev

Slack in action

Onboarding new devs

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 19: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

19

So thatrsquos our quick tour of how Slack helps software teams streamline automate and accelerate their work

We hope we got across the main points

This is a new thing An adaptive collaboration hub helps engineers work in new ways Itrsquos way more than a messaging app

Itrsquos super-flexible Letting your teams ldquomake it their ownrdquo with workspaces channels apps and integrations that reflect the way they like to work

It helps you get more from your existing software From GitHub and Bitbucket to Jenkins Jira PagerDuty New Relic Zendeskhellip whatever your devs product QA and support people use theyrsquoll use those tools more efficiently by bringing their work together in Slack

It adds value at every stage of the development cycle From planning to developing testing operating deploying and bug squashing

Software engineers love it Which means theyrsquoll adopt it and expand their use over time (delivering more value to the business)

If yoursquod like to see more set up a demomdash or ask one of our devs to show you around our own Slack instance Wersquore proud of it

ldquoWe have what we like to call an lsquoend-to-end delivery pipelinersquo that starts with source code and goes all the way through to production deployment And now we have Slack integrated into all the key milestones in that processrdquoThomas Lawless senior software engineer IBM

Thatrsquos how software engineers use Slack

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 20: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

Why

eng

inee

ring

team

s lo

ve S

lack

20

How Slack helps devs squash bugsLearn how dev teams manage incidents and outages better with Slack

The Slack App DirectoryTake a browse

Learn more

Or maybe we should talkSchedule time with our team

LETrsquoS GO

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information

Page 21: Why engineering teams love Slack (and why yours might love ... · Why engineering teams love Slack 7 We’re undoubtedly some of the most sophisticated users of Slack for software

About Slack

Slack is a layer of the business technology stack that brings together people data and applicationsmdasha single place where people can effectively work together find important information and access hundreds of thousands of critical applications and services to do their best work

From global Fortune 100 companies to corner markets businesses and teams of all kinds use Slack to bring the right people together with all the right information