I love the concept of the Agile Retrospective but it can be difficult to get everyone together. I built this bot so I could better collaborate with teams and I love the concept of serverless architecture.
What it does
It steps a group of users through a basic retrospective with voting support via native Slack emoji responses.
How I built it
It has a few components:
- A basic kappa build script for deploying and invoking against testing json
- A manual boto3 script for provisioning the DynamoDB, API Gateway, Lambdas and all the associated permissions (I would have used CloudFormation but I wanted to learn the internal guts of AWS)
Challenges I ran into
I originally chose SimpleDB as a data source and a synchronous callback system. This worked until things got a bit slower and I started bumping up against the limits of the 3 second cutoff time for Slack responses.
Accomplishments that I'm proud of
I'm proud that I managed to implement a manual infrastructure script as it now feels like I have a much better handle on API Gateway and IAM internals. At the last minute I ripped out SimpleDB and implemented DynamoDB and an SNS pub/sub queue for invoking my lambda!
What I learned
This was one of my first big foreys into the AWS world and I think I'm in love with serverless arch.
What's next for Slack Retro Bot
UX improvements, better finishing scripts, S3 bucket uploads of results!