<<

ENGINEERING

Why engineering teams love Slack (and why yours might love it too). The adaptive collaboration hub for software engineering 2 Why engineering teams love Slack That’s how Slack was born. was That’s how Slack user. We werethe users. fictional some speculation no about and to “design” ego, no was anything. There we weren’t that’s trying because Maybe for way to teams work effective together. product-marketup with agreat fit:really a we ended call. Because, agood was That we’d developed. to onthis focus new thing collaboration Well,so we decided flopped, the game done faster. to to new ways it hacking and get it, adding tweaking we found ourselves So communication. basic than just do more could we kept wishing our channel IRC progressed, work onthe As game page. the same (remember IRC?) to keep everyone on using We Internet Chat Relay started Glitch. called multiplayer game engineers, buildingsoftware a massive of team we asmall were in 2009, Back fast happened that Whoa,

engineers seem to like seem engineers much. so Slack We explain it helps why hope software developers. helps the Slack of ways is aquick introduction to e-book This some daily working lives developers. of on the impact something makes that adirect we’re that It’s gratifying hugely to able create us coming to work smiling. the love of alot of the user source keeps that is still and it allengineering is where started, anddepartment discipline, but software Yes, much every in pretty is used Slack allof sizes reason. is amajor imagined—and adoption its by dev teams Today, than bigger we’d it’s become ever

3 Why engineering teams love Slack specialized work. kind of like aglove. all, After this is apretty engineering tosoftware fit seems Slack But work to it’s the supporting. adapt day. every to organically teams, seems It by non-technical of all kinds used is Slack engineering well so Why Slack fits software ■ ■ ■ ■ ■ ■ Software engineering is: engineering Software ■ ■ ■ ■ ■ ■ cloud services cloud by tools of and lots Supported automated Increasingly setting default a as sharing With Open time and zones places involving in different people Often Distributed folks touch in constant QA and people design,With devs, product Collaborative in sprints cycles and Proceeding Highly iterative moving of lots parts With Complex

of collaboration. of anew kind work kindThis of needs meetings. with face-to-face and email can’t happen just that collaboration a kind of It demands case. use engineering is an ideal like more and more this. software But youWhen think it, all about work is getting

4 Why engineering teams love Slack and to change. change. to and to their existing software choices... to the different way teams like to work, collaboration hub because it adapts We’ve taken to calling it an adaptive that hasn’t existed before. than that. In it’s fact, awhole newthing of it as amessaging app. It’s way more People who’ve never think Slack used newa thing adaptive collaborationThe hub:

5 Why engineering teams love Slack in the right topics at the right time. right time. the at right topics in the right people the tothey include make it easy because threads email closed or one-to-one than better way are Channels totogether onthe bugs mobile squash app. work teams where channel #triage-mobile-app to workmeet onthe new website. a Or #devel-new-site channel where all developers Likea or issues. toprojects tasks, specific spin teams up dedicated lets This channels messaging Channel-based 1. combines three in things tool one adaptive An collaboration hub

if it’s discoverable. valuable only is Knowledge copied. people view the toof but everyone out sink usually attachments Email discussion new around that feature. decisions—like orthe specs product those relevant conversations documents, and anyoneA singlewhere find all place can store knowledge A searchable 2.

sum of its parts. its of sum the than greater far hub is The powerful. more far them of one each makes place Bringing these three things together in one Note: to your people. apps bring the apps, to to the go people forcing of your Instead apps. many different switching from working comes that across context- constant the minimizes This day. every work is discussed where ) and Jenkins into hooks the place time the in most (likespend GitHub, Jira, your people the software where A place An integration layer 3.

6 Why engineering teams love Slack 1.  1. Slack engineer, senior Rajvanshy, Malika searchable.” is everything hub, and documentation “Slack is a living into.looking do all that is probably worth you helps that Any software (so you keep your talent happy). developer better a experience and squashing; bug efficient code, delivered faster; more every engineering team: better that are most important to influences things directly the The right collaboration hub engineering teams software to Benefits sponsored bysponsored Slack 2017”, Slack, of Value Business “The research, IDC

Slack to do more. use teams Engineering numbers to our claims: IDC helped us put some and iterate and needed to test time less 27% overalloutput 5% more

1 to market time faster 23% bugs and issues and bugs engineering-related resolve and to identify 21% less time needed

7 Why engineering teams love Slack development cycle. organized by stages in the software Let’s walk through some of them, using. are integrations that software teams cases and interesting apps and day we still hear about new use our dev teams live in it. But every development—all software for Slack of sophisticated users most We’re undoubtedly the of some process engineering wholethe software streamlinesHow Slack 8 Why engineering teams love Slack ■ ■ ■ why. and and engineers agree on what they’re building designers managers, product helps Slack Plan ■ ■ ■ Docs so all docs are aclick all so away. docs Docs Slack integrates beautifully with Google For all contributors any and new joiners. a permanent record. resolution forall to Now there’s see. to Launch adiscussion come and a a question? Pop channel it into the Got everything discoverable makes here documents Sharing UX. and calls onfunctionality make fundamental and alternatives discuss the project, gather feature requirements, Now there’s out asingle to scope place new-app. it’s something called likeMaybe #feature- feature or anew product for channel single a with process whole the off Kick

Great foronboarding! Great is where itallhappens A #feature_[name] channel fundamental onfunctionality calls and discuss alternatives andmake project, gather feature requirements, A singleplace to scope outthe Purpose About #feature-new-app the channel toPin the top all docs of core 9 Pinned Items Highlights Channel Details

Emojis like are votes a proposed new feature Launch adiscussion around 6 replies Thread A thread spins off A thread Matt, let’s addit to theMVP Costanza add that feature. Great idea. We shoulddefinitely Matt form for users within theapp? Should we afeedback include Fay 6 Mar 22ndat 3:20pm 2 days ago 2 2 days ago 9 Why engineering teams love Slack ■ ■ sure the whole team is working is together: team whole the sure makes Slack coding, it’s to time start When up development improving and quality. moving parts of a large code base, speeding Slack helps devs orchestrate many the Code ■ ■ alerts into Slack. bring all repository) change youror chosen Git integrations (with GitHub, Bitbucket master. amerged from or branches feature on version branches, that’s whether code, developingreleasing reviewingfor branching, merging, and you use whatever process supports Slack review code hub for A central discussions, etc. daily stand-ups, revisions, design merges, code pull requests, QA; and engineering Including work across day-to-day is the home for everything channel A #devel-product-name

comments onit comments whenever someone in Slack pinged you and get apull request Open Git integrations keep everyone up-to-date keepup-to-date everyone integrations Git

10 Why engineering teams love Slack ■ ■ the team's and happiness. progress meeting notes;post and monitor goals and tasks; track business metrics; into Slack your so reports teams share can automaticallyStanduply summary push like software with Integrations one).meeting is acanceled they make (for sense many devs, the best week—and meetingsonly when F2F have standups—whether morning orevery every for Slack use teams Dev face-to-face. development they but don’t to have be agile of Standups part an are important standup of A new kind

view the raw file, and leave comments. file,view the leave raw and them, download can Colleagues in Slack. configurationlog filesand directly files to make code, share it easy Snippets snippets using code share and Create the wheel. Stoppicker re-coding yet?” anyone adate made right “Has channels, something similar. step: in ask the Next to if anyone built see already has else channels all Slack across search can yournew code, devs writing any to manyproducts.Before different contributingyou developers of hundreds have engineering it’s but teams, when achallenge principle is efficient acore of reuse Code Promote code reuse

Slack in action Extensibility at its core Why engineering teams love Slack

Slack is a collaboration hub. These integrations help Bots: apps get conversational That’s what it’s great at. developers do what they love to A bot is a type of Slack app designed It doesn’t try to do the work do: create systems that just work. to interact with users via conversation. of the software your teams It’s the same as a regular app. It can access The examples shared throughout the same range of and do all the things already use—like Trello, that a Slack app can do. But when you GitHub or Jenkins. this e-book are just that: build a bot for your Slack App, you're giving examples. There are as many that app a face, a name and a personality, Instead, Slack simply unites all ways to use Slack as there are and encouraging users to talk to it.

these different apps, bringing software teams using it. Your bot can send DMs, it can be the relevant information from mentioned by users, it can post messages them into the channels where or upload files, and it can be invited to the work is being discussed channels (or kicked out). (and inviting actions in those applications, triggered from inside Slack).

“Anytime I’ve seen a Slack integration I’ve turned it on. It’s provided so much value and helped us save so many extra steps in our process.”

Thomas Lawless, senior software engineer, IBM

11 12 Why engineering teams love Slack ■ ■ ■ process in lots of ways, big and small: and big ways, of in lots process the streamlines Slack code. of chunk new each with merge every suite against your runs testing integration Continuous collaborative, transparent approach to testing. dynamic, a supports Slack deployment process. Testing is woven into the modern development/ Test ■ ■ ■ devs forum. in an open Let the QA team collaborate with with team collaborate the QA Let iOS, Android and web. and Android iOS, testing for dedicated channels With client each for achannel out Break time. theat same channel, updating Trello orAsana into anew move requests change to Slack automatically use teams Some they where belong. recorded they’re know and to issues people into your assign Quickly channels. customizable notifications Jira from into the pipeline automatically. Send them get and in Slack issues Capture workflows test automates integration Jira QA coordinates channel A #testing–feature

­

Colleagues contribute their ideas Colleagues Integrate with Jira to surface project progress progress project to surface Jira with Integrate # tes*ng 146 of 2000.Ithinkjustmisread that config file andgrabbed 75from soemthing else. I meant to keep theseinsync previouswith a5achments which actually have alimit I set thelimitof ac@on value to max75characters. Ican’t remember why Ipicked 75, David Brichau Was thisaninten@onal decisiion,or isitaknown issue? This was not thebehaviour with regualr linkbu5ons. to LinkBu5on interac@ons to theapp’s configured URL,even shouldn’t thoughtheapp beno@fied or responding When clickingonaLinkBu5on inablock, we’re dispatching ablock_ac@onpayload Louise Fores*er ✅ /jira Creates ataskinjira /jira @assignee[project key] [summary] JIRABot Commands matching “/jira” 1 0 9 replies Create JiraCreate tasks in Slack tes@ng group 10:11 AM Last reply 20hours ago 10:11 AM tab or to navigate ↵ to select esc to dismiss Search More message ac@ons… 🐝🐝 Pin to #devel-block-kit… Remind meaboutthis Mark unread Copy text Copy linkto message You’ll beno@fied new about replies Follow thread Slack to report abug toSlack report aJira ticketOpen from Create apoll Push to Zapier…. Create issue… JIRABot Polly Zapier

13 Why engineering teams love Slack notification sent is to developer.the channels. If the code fails the test, a notifications pop up in the right Slack When the tests have been run, the developer opens apull request. running a big testing suite whenever a integrationSlack spins Jenkins up a server team’s custom example: software A One development tasks. Slack to automate all of sorts routine new ways to integrate Jenkins with didn’t take long for them to work out server. integration continuous It Jenkins use their teams of as lot A Working with Jenkins action in Slack in Slack. acopy as onGitHub,is done then preserved the exercise So the pull that of owner request. into alerts and Slack is also posted comment onGitHub. discussion anyand But happen checked, comments being are pull requests or reviews performed being are code When state untila happier is fixed. the code to roll and back merges, and review the tests beginning. Ifyou the hit team can aproblem, the of entiredate pipeline record the from maintains and creates an up-to- Slack from Running deployment testing reviews, and code traceability Pipeline

14 Why engineering teams love Slack deploys channel. into the code tested the has orshe he that instop staging until adeveloper reports deploy The will with request. their merge that the staging environment, they specify want in to theirIf developers test code shifts). working onthree-hour engineers, (trained deploy commanders the on-duty by thing whole The is managed progresses. the as deployment in channels and Slack WizardDeploy pings the right developers the base. of user 75 100% and 25, sudden fails), through 10, then progresses (a stage tiny toa "canary" any catch release with instatus channel. the It of starts code integrates with communicates and the ops wrote an app, Wizard, Deploy that called teams example:An our of own software One some of that. Slack helps engineering teams streamline small code releases, deployed frequently. of lots for always calls delivery Continuous notifications. and by helping automate the workflows Slack helps push code to production Release

push itpush to production). with alink it (or to check and go to a button show when the deployment succeeded, has deploy Automated right messages Slack. from to a trigger deploy_productname_staging) (like commands dev slash use teams Some / Slack right from Deploy to full production progresses A deployment

notifications:Allgoing is smoothly! Wizard Deploy automates

15 Why engineering teams love Slack ■ ■ issues and squash bugs. issues and squash bugs. swarm tickets, trouble around Dev teams use Slack to triage Operations ■ ■ for constant updates. It’s updates. for constant all there. interruptingmanagers the incident responders it. reduces This about read and the channel intocurious pop the just incident about can Anyone response. forfast channel a Slack Relic New from into mobile and alerts server Similarly, pull can all Slack web, transaction, right Slack. from incidents resolving and acknowledging work ontriggering,can together viewing, atriage trail. creates and Team members incident resolution times reduces channels tickets them to posting and the right events orAsana Aggregating PagerDuty to respond. people best find the allthe alerts single where place becomes Slack intoor check dashboards, devs expecting of to monitorInstead email place into one bring all alerts Integrations like Zendesk). (manual integrationsor via with tools support customer from Including reports channel product-name #triage the through flow issues All

PagerDuty events reach the right people fast fast right people the events reach PagerDuty right within from Slack resolutions accelerate Action buttons 16 Why engineering teams love Slack check mark) are shown are in PagerDuty. mark) check (eye issues Any open no but actioned. and flagged aggregated, be they so these can app collects An workflows. they’re to also away trigger automated team members—but of the responses way capture Reacjis an are efficient to workflows trigger and issues triage help reacjis and

we use: At Slack, For sharing bug reports, we also use: we also reports, bug For sharing channel. inon these adedicated reports and we built collects that And abot

= “I’m looking” = “I’m = Sharing feedback, no immediate no action = Sharing feedback, problem ornon-urgent = Aquestion = Urgent! =  or “Approved” (for pull requests) (for triage)“Resolved”

easily search. easily can flowof decisions—andmembers team channel, where management can seethe all decisions to these pushes a#decisions then Abot made. been adecision has when emoji to the use teams gavel indicate Some channel #decisions automated An

17 Why engineering teams love Slack across teams.across work help and tasks routine foster transparency, automate friction, work reduce helping can play abig role in this: software collaboration right The employee experience you can. you to give need best the them demand. To keep your talent, in are engineers Software side people The action in Slack Then ask what they’d do without it. integrations. and apps Ask to see how they use channels, team that uses Slack. Talk engineering any to software 18 Why engineering teams love Slack with that. with totry figure out.Good luck email threads to forwarded meetings and abunch of way: Old up to speed? team. How do you get them Two new developers join the Onboarding new devs action in Slack Lots of onboarding onboarding of Lots

always be kept up to date). they’ll OneDrive, or (If these are Google Docs, ■ ■ ■ to review the pinned posts, like: channel, #dev–new–product way: New ■ ■ ■ The designs The tech spec spec product The Invite them to the

a new dev. Now and the people involved. previous conversations, decisions They can also scan through all that’s how you onboard

19 Why engineering teams love Slack ■ ■ We hope we got across the main points:We weacross got hope accelerate their work. and automate streamline, teams software helps howtour quick Slack of our that’s So engineers Slack use software That’s how ■ ■ like to work. way they the integrations reflect that and apps channels, with workspaces, Letting your “make teams it their own” It’s super-flexible app. than amessaging more work in It’s new ways. engineers way adaptiveAn hub collaboration helps anew thing is This

■ ■ ■ our own Slack instance. We’re instance. our own Slack it. of proud our of one devsor ask to show you around If you’d like up to set ademo— more, see ■ ■ ■ to the business). their over use time (delivering value more they’ll it expand and adopt Which means love it engineers Software squashing. bug deploying and operating, From planning to developing, testing, development cycle the of stage value every adds at It work in together Slack. efficientlytools bringing more by their use, they’ll those use people support whatever and your QA devs, product, Jira, PagerDuty, Relic, New Zendesk… From GitHub Bitbucket and to Jenkins, software existing your from more you get helps It

Thomas Lawless, senior software engineer, IBM engineer, software senior Lawless, Thomas to all way through the and goes withthat starts an delivery ‘end-to-end pipeline’ “We have what we like to call milestones in that process.” integrated into all the key And now we have Slack production deployment.

20 Why engineering teams love Slack Take abrowse Directory App Slack The with Slack incidents and outages better manage teams dev how Learn How Slack helps devs squash bugs more Learn

Schedule time with our team. Or maybe we should talk. LET’S GO LET’S About Slack

Slack is a layer of the business technology stack that brings together people, data and applications—a 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.