33
Amber Case @caseorganic Aaron Parecki @aaronpk [email protected] Director, Esri PDX [email protected] CTO, Esri PDX !done - Hacking IRC Bots for Distributed Teams Open Source Bridge 2013!

Done Reports - Open Source Bridge

Embed Size (px)

DESCRIPTION

When our company was acquired we needed a way to keep our team and remote teams updated on what we was done. Some members were often travelling or in different time zones. We needed a way to see everything that was done each day all in one place, especially as the teams worked on more complex projects. Everyone was using different methods to do this: standups, written reports, emails and meetings. Nothing stuck. “!done reports” introduce a simple IRC command: !done. Team members say !done and what they just did. These !dones are put into a daily report. !done becomes a part of everyday at work, not a strained task that’s easily forgotten. Many development teams already use IRC, Skype and other systems to communicate. !done is an addition to existing systems, is open source and easily modified. It is built off of ZenIRC bot and bundled into Loqi, the friendly IRC bot lurking in the #pdxtech channel on freenode. This presentation will show you how a simple bot solved a lot of problems for a lot of distributed people.

Citation preview

Page 1: Done Reports - Open Source Bridge

Amber Case @caseorganic

Aaron Parecki@aaronpk

[email protected], Esri PDX

[email protected], Esri PDX

!done - Hacking IRC Bots for Distributed TeamsOpen Source Bridge 2013!

Page 2: Done Reports - Open Source Bridge
Page 3: Done Reports - Open Source Bridge

Changes

• Team dynamics change after 6 people• Scrum lasted about 4-5 days• Daily standups = cumbersome• Needed a way to quickly share status

Page 4: Done Reports - Open Source Bridge
Page 5: Done Reports - Open Source Bridge

> !done

Page 6: Done Reports - Open Source Bridge

First system

11/2012 - built quick system to let us use existing communication channel: IRC

Team used IRC for years for group chat, also for server log messages to get a pulse on the system

Page 7: Done Reports - Open Source Bridge

How it works

• During the day, the IRC bot asks you what you’ve done

• You say !done what you did• At the end of the day, everyone gets an email

with what everyone has done

> !done squashed some bugs

Page 8: Done Reports - Open Source Bridge

At the end of the day, everyone gets an email with what everyone has !done

> !done squashed some bugs

Daily Email!

Page 9: Done Reports - Open Source Bridge
Page 10: Done Reports - Open Source Bridge

!done commands

> !done pushed to production

> !todo send out notification emails

> !hero caseorganic for bringing Legos!

> !blocking loud noises from construction work

Page 11: Done Reports - Open Source Bridge

And…

Page 12: Done Reports - Open Source Bridge

> !meme

Page 13: Done Reports - Open Source Bridge

> !meme to production | and beyond!

Page 14: Done Reports - Open Source Bridge
Page 15: Done Reports - Open Source Bridge
Page 16: Done Reports - Open Source Bridge

Adoption

Someone sees our channel & asks “what is that?”

Page 17: Done Reports - Open Source Bridge

Scale!

Lots of people want to use it!

!donereports was built as a hack, we needed this quickly

It was a database, IRC bot and a daily email, no other interface!

Page 18: Done Reports - Open Source Bridge

Aaron was the bottleneck:had to add users manually

mysql> INSERT INTO users (username, email, nicks) VALUES ('aaronpk’,'[email protected]', 'aaronpk');

Page 19: Done Reports - Open Source Bridge
Page 20: Done Reports - Open Source Bridge
Page 21: Done Reports - Open Source Bridge

All Groups

Page 22: Done Reports - Open Source Bridge
Page 23: Done Reports - Open Source Bridge
Page 24: Done Reports - Open Source Bridge

Limechat

Page 25: Done Reports - Open Source Bridge

Limechat

Page 26: Done Reports - Open Source Bridge

Email report!

Page 27: Done Reports - Open Source Bridge

Documentation?

No documentation!

Invariably, someone else in the channel will explain how it works!

Page 28: Done Reports - Open Source Bridge

Usage Suggestion

• If a group doesn’t use one of the features (such as !hero) then that email contains a tip at the bottom with a suggestion!

Page 29: Done Reports - Open Source Bridge

Building IRC Bots

Use ZenIRC Bot!• Great framework for building bots! • github.com/zenirc

Benefits• Modular – service oriented• Can write in any language and run under the same bot • Uses Redis PubSub to pass message between the

different frameworks

Page 30: Done Reports - Open Source Bridge

Bot Architecture

Page 31: Done Reports - Open Source Bridge

Beta for OSBridge Attendees!

Want to try it out? Sign up at donereports.com and we’ll let you in!

Page 32: Done Reports - Open Source Bridge

github.com/donereports/Done-Reports-IRC

Page 33: Done Reports - Open Source Bridge

> !done presented at OSBridge!

Amber Case @caseorganic

Aaron Parecki@aaronpk

[email protected], Esri PDX

[email protected], Esri PDX

Tweet suggestions to @donereports!donereports.com