✨ How it started
Saturday Nov 30th 2019, I have a terrible idea...
I log into the team chat :
me: Nothing too crazy, just a daily nice little feature.
The rest of the team [clearly not thinking straight] :
The Team: Yeah! I have the one for tomorrow already!
📣 The announcement
Sunday Dec 1st 2019, Let's tell Twitter about it!
To celebrate the end of the year 🎉 with fun and challenge we will deliver a new feature every day from Dec 1st to 25th! 😱 #adventWCD— Web Components .dev (@webcomp_dev) December 1, 2019
Comment your requests, like, retweet, follow! to give us the force!! 💪https://t.co/H2nXnHaCey#webcomponents #webdev
I've got a bad feeling about this 🤔
✉️ And suggestions arrived
some suggestions 🤗— Thomas Allmer (@daKmoR) December 1, 2019
- API Table based on custom-elements.json
- and/or reuse storybooks mdx format (which offers jsx components for api table, copy code-snippets, ...)
- support multiple source js files
- reduce magic in demos (e.g. add imports, customElements.define, ...)
♿Real-time accessibility reporting - help us all help more people with the products we create— WestbrookJ (@WestbrookJ) December 1, 2019
📐Pattern generators - recognize repeated patterns and abstract for reuse via "quick keys", base classes or mixins
🥳Hypebot Twitter account to announce every 10, 50 or 100 WCs created
🤦♂️ What have I done?!
These are not the "just daily little features" that I promised the team!!!
They are going to kill me or make me do the 25 features by myself. Either way I'm dead 😵
I check-in timidly on the team chat... ready to apologize with lots of emojii 🙇♂️🙇♂️🙇♂️🙏🙏🙏 to make it easier... But I don't even have time to write a line... the team is like:
Francois: Dibs on VIM support!
Gregory: API Table is on my list for too long!
They are amazing! Me thinks 😮
me: Cool! You do the features, I do the tweets 😂
📅 How it felt day 2?
25 features in 25 days... 🤦♂️ pic.twitter.com/5Xm9iEq2Hf— 𝚐𝚎𝚘𝚛𝚐𝚎𝚜_𝚐𝚘𝚖𝚎𝚜 (@georges_gomes) December 2, 2019
📅 How it felt day 10?
10 days - 10 features, 15 to go and the team is...— Web Components .dev (@webcomp_dev) December 11, 2019
📅 How it felt day 15?
📅 Day 25th
We actually made a real gift.
🎁 Dec 25th -- #adventWCD— Web Components .dev (@webcomp_dev) December 25, 2019
Today is a special one 😄
🏅We are introducing an 'ENTHUSIAST' membership.
EVERYONE THAT LIKED OR RETWEETED ANY OF OUR #adventWCD TWEETS WILL GET A LIFETIME LICENSE!
see thread for details 👇
📖 Summary of the 25 features
See the Twitter Moment with the 25 features.
🤓 What did we learn?
It engages the community
By challenging ourselves with 25 features in 25 days, people engaged with us with features requests. They could have done it any day before, but it was the Advent Calendar event that triggered it.
I can only guess what motivated them:
- Have a feature fast
- Be part of the challenge
- Helping us
- Mistaking us with Santa 😇
On Twitter, November 2019 was our best month regarding engagement. December 2019 doubled that.
The Advent Calendar event created a much bigger dialog.
It gives space to innovation
In business as usual, you would carefully select the features you add into the product. The features need to fit into the roadmap towards the objectives that we have set.
But in this situation, we took a completely different approach:
- Does people asked for it?
- Is it cool to present as a gift?
- Does one of us want to do it?
- Can it be done in 2 days or so?
I'm not saying that it's a very smart way of selecting features 😄
But I would like to highlight 2 benefits:
- We only made things we would love to do. This was good for morale.
- We actually made pretty cool things that probably wouldn't have been planned otherwise.
You experience true MVP
In business as usual, we would estimate a feature at 2 days and it would take significantly more because we would add more and more richness to it as we discover challenges on the road.
But with these tight deadlines, it was the complete opposite. We would cut to get the smaller usefull feature possible. And, as we find challenges on the road, we would cut even more to not deal with them 😄
We thought we knew what MVP was. We thought we were actually good at it. Now we know what it really is and what we are capable of.
It was a must-have experience.
It improves your processes
With a daily feature you must release everyday. You desperately need to spend time on building and testing the features. Anything else is a waste of precious time.
Any inefficiency in your branch management, testing, code review or release process will standout immediately. This is a great opportunity to challenge your processes and remove what is in the way of your team's agility.
Improving even 10min a week will quickly stack-up to something very substantial at the end of the year!
It creates some technical debt
Nothing is perfect. You obviously cut corners and take shortcuts to meet the deadlines. You grab some technical debt in exchange of speed.
Still, I see some positive of using debt here:
- Maybe a feature end-up useless: You can delete it with no regrets
- The features are small, if you keep things simple: It's easy to refactor
- Many features are related to the same part: You can pay the debt back in one shot
Time will tell us how expensive this debt is. We will report back if this is a real issue.
❤️ The top benefit
The best part was the great feeling of accomplishment that stayed with us during the end of year holiday. We were not tempted to reach for keyboards. We were happy with our deliveries and we could just enjoy the time with our families without second thoughts. It was perfect ❤️
🙏 Thank you
We would like to thank again everybody that engaged with us in this Advent Calendar 2019. All the feature requests helped us decide what to do. All the comments, retweets and likes on Twitter motivated us everyday!
🎄 See you in December 2020!
Follow us on Twitter to get notified on our next Advent Calendar! 😄 or just to get our latest news.
Brought to you by Twitter Discord