We visited BrightTable, Inc., owner of "Pecotter", an application you can search for restaurants while chatting. We members of SideCI often use Pecotter when having lunch meetings. About 1 minute after posting a tweet-level content like "I want to eat something like this..." or "I wonder if there's a restaurant like this...", "Harapeko-kun" answers to it, and in 3 minutes time someone will tell you a fitting restaurant. It's a lovely app.
I hear that the client side is developed with iOS(Objective-C), and the server side by Ruby on Rails.
We asked BrightTable of the ever-helpful "Pecotter" why they introduced SideCI, and future expectations they have.
Mr.Matsushita: Pecotter was a service just released on March 2015. When it was released, firstly, we had releasing something that actually works, expanding the variety of values provided to users and finding out what exactly appeals to users as the most important matters. Talking about numbers, we released functions and modifications that were suprising to users once in 2 weeks, and tested what was continuously used, and what wasn't.
Mr.Matsushita: With the other day's capital increase, it was expected that new engineers would join, development speed would increase, and the scale of released functions would become significantly larger. At that time, we felt the need to pay back our technical debt up to that day before enlarging services and the organization, so we introduced SideCI to grasp the picture of the degree and amount of the debt.
Representative Director: Mr.Matsushita
Mr.Matsushita: As a business judgement, when setting release speed as the highest priority, sometimes we choose a way that leaves behind technical debts. But if we enlarge services and the orginization leaving the debt as it is, one day we will suffer from a large "interest". To avoid this, we thought it was essential to clear up existing codes that are the foundation of development, delete unused codes, and look over designs and do some refactoring.
Mr.Matsuhsita: Being able to see current technical debts is very helpful. You can take a look at the list of debts and check the appropriate code. Also, since the problem being addressed is written with a simple text, I feel it's easy to find problems and deal with them.
Mr.Matsushita: For example, codes that were vulnerable to SQL injection were found in past codes that were not used anymore. It was not a place where users could input something, so it was not a actual vulnerability, but it was good that we were able to realize a coding style which may have lead to problems. Also, we were able to find duplicate method names when we drastically remade the system. They were functioning as different methods because the number of arguments were different, but it is a code with the risk of misuse. I'm glad we found that.
Mr.Matsushita and his development environment
Mr.Matsushita: To provide users with more values, we will continue working on releasing new features and improving them, and at times narrowing them down. Also, we plan to continue using SideCi to pay back our technical debt. We will use GitHub Issues to view tasks concerning providing users with new values, and SideCI to view TODO matters of codes. With this, we can focus GitHub Issues as a place of discussion for values to provide to users.
Mr.Matsushita: As a request for improvement for SideCI, you can view various problems with it, but it would be great if you could also see the priority of handling. We want to actively deal with issues thatare high priority or urgent to keep providing values to users.
Mr.Matsushita: Also, this isn't an issue, but since there are now more members with high skills, maybe they can focus more on development if SideCI could make indications to me before they teach me(laughs).
There was about one inquiry per 5 minutes on Pecotter even during the interview. The content and answers were always checked. I think I may have glimpsed the secret behind Pecotter's high quality of super-fast replies.
Thank you for your cooperation on the interview!
Members from Pecotter. From the left, designer: Ms.Otsuka, and representative/engineer: Mr.Matsushita