On March 1st of 2015 I released ScrumVotes in the App Store. It’s an application that helps in the Sprint Planning Meeting#Sprintplanningmeeting) when the development team has to give estimates to each user story.
There are many ways of giving those estimates, but the most known is the named Planning Poker. For me it’s the best part of any Agile methodology. I have been in meetings where I and my team had to give estimates for some tickets and, by far, playing poker gave us the most accurate estimations.
The crucial thing with Planning Poker is that any developer is not affected by the thoughts of the others. And this is really important. I’ve seen how, without this, developers just repeat the same estimates as the rest of team, usually because they don't want to look dumb giving higher estimates. That removes all the good part of the process.
The most interesting meetings are when every person of the team gives a completely different estimation on a task and everyone is in shock! Then the good and important discussion starts and usually, with more information on the table, at the end the team comes into a fair agreement and an accurate estimate.
After all this talk about Scrum I want to explain wich is the origin of ScrumVotes. The idea come into my mind when I was working at Sixtemia. When we started implementing Scrum I realized that it would be cool if, being mobile developers, we could make the meetings more agile with some App.
At that time we had an iMac on the room where the PM had the management tool opened with the list of tickets for the Sprint. The dev team had a bunch of custom made cards (really just some cut paper).
Some weekend on July of 2013 I created a prototype using web technologies, mainly websockets. The idea was that we could have a main webpage opened on the iMac and then the rest of us had the voting page on our mobile devices. We could then just vote secretly using and see the results in the big screen.
After having that first prototype I didn't touch that code anymore. And sadly I don’t even know where that code is, the only thing that I have is that screenshot.
ScrumVotes for iOS
Fast forward some time to the end of 2014 when I was walking in some London street I remembered that prototype and that little idea. I wanted to work on something new and ScrumVotes was the perfect project, so I started working on it again, but that time doing it in native.
The idea was make the same but with native technologies, mainly the Peer to Peer technology that we have available on our iOS devices. Between you and me, this was really and excuse to dive deeply into the
MultipeerConnectivity.framework that Apple provides us.
When you work in a P2P app you have to structure your app as a client and a server at the same time. That was funny because I have experience doing that while developing Minecraft mods, where the game itself is structured being a client and a server.
When I had the core of the application done I asked for some help with the design to my friend Adria. He is a very busy guy but he had some time to throw me some designs to work with. I really appreciate it, without his help I’m sure that ScrumVotes wouldn’t be released and will be stuck in that folder where I have a bunch of apps almost finished but without a cool design.
When I had the App finished I thought on trying something new for the revenue model. It was the time when Overcast was released and it had a cool InApp Purchase model with a time limitation that I really liked. I was completely sure that Apple wouldn’t approve that but, well, I guess times has changed.
So I decided to implement something similar in ScrumVotes. My idea was that teams will only have to pay one time to use it, and not per device. If every developer had to purchased it will never be used, so the only one that has limitations is the PM.
To the App Store we go
With the App finished it started the most painful review process that I ever had with Apple. I’ve been always agree with any results that came out of the review process. I have had some rejections in my time in the App Store and, even though it puts you in a difficult position, all of them made sense, in some way, from the reviewers position.
But this time it has been really crazy. I sent the first build to review in December, and after 4 rejections and some back and forth it was, finally, ready for sale at the end of February.
Without going into details I was frustrated because Apple didn't let me use a public API for a legitime use, so I had to remove a feature from the App. Then I had problems with the approval of the InApp Purchase because of problems in iTunes Connect, then they approved a version without the InApp Purchases so I quickly had to reject the binary myself and push a new build. Crazy times indeed.
But well, at the end is live :D
So what now
I’m happy that I've been able to release another App as a side project. Before putting more time into it I will have to see if there is anyone that wants to use it. It’s a really niche market, so I don’t expect a lot of downloads or conversions. I have some features that I would like to implement, but we will see.
That’s all. Happy Sprint Planning ;)
You can download ScrumVotes for iOS in the App Store.