Pokrex
I’d like to talk about my personal project Pokrex.
We had been using PointingPoker.com for long, and sometimes it’s just not stable, it gets disconnected frequently in China, even one of colleagues in US told me it’s not stable there one month ago. Last year around April, I started to build this product, so far it has been online for more than one year, as far as I know, 6 teams are using it now. So far, people are statisfied with it.
Pokrex mainly solve two problems. The first problem is, that grooming session shouldn’t be a one time off behavior, there should be log/history there, for people to look up for. Scrum master may want to check the votes after grooming or show the votes to other guys. Second problem is PointingPoker is kinda shabby to me, barely a usable interface, it’s what I don’t like and I can do better. To address the first pain points, I store all the data into database, including user info, that is user has to sign up before using this tool. Frankly, for people who are used to pointingpoker would not like to sign up. In order to smooth this, Pokrex allows to login via social account, Google, Github, Facebook, Twitter, Weibo. After around of grooming finished, all data is saved, stories, points of stories, time you spent, people who participated.
To address the second problem is easy, I just need to build a better interface. There basically four functional areas. Deck, where all the cards/points are listed, user can choose which point to vote. Stories, listing all the stories that needs to be voted or are already voted. PeopleList, where shows who participated users and corresponding points that voted. ResultPanel, which shows “Flip”, “Skip”, “Clear votes”.etc for moderator and result of voting for normal participants.
So far, the most thorny problems are solved. Pokrex reached to version 1.0, I would like to say. Through wakatime, it almost takes me 1028 hours till now, whoa, so long. Its code is open sourced on Github https://github.com/hlcfan/pokr, I use issues to manage tickets/requirements. There’re many more features needs to be done, I just have to squeeze time for it. Build a tool and seeing people enjoy using it makes me feel good. The biggest barrier for me now is how to let people know it and start to use it. The strategy is starting from my company and then make it wider to outside world. There’re some users from big companies like Cisco and Yahoo, but seems they just signed up and left, guess they just don’t know how to use it at that time and ask they to come back is hardly possible. Month ago, I added the page guidance feature, so that people would better know how to use it. One of my friends works for a tech media, I asked him to help write an article about it and he said an product evaluation will be needed, maybe someday I’ll talk with him then.
In this project, I conform to The Simplest Thing that Could Possibly Work and YAGNI. I use old plain ruby object to deal with persistance layer(Repository) and presenter layer(Presenter). Use ReactJS on complex interactive page, like room show page, otherwise, render pages by controller actions. Also I take Pokrex as a toy, I learn ReactJS, upgrade Rails framework, learn ActionCable, Faye.etc while building it.
I would like to see more teams using it in the future.