Could you share any evidence that would demonstrate the productivity, quality of work, or the impact of the engagement?
I was in charge of approving any new features submitted to Pivotal Tracker. Hashrocket delivered work to our staging environment, and let me know what I needed to review. Since we had an Agile process, it’s hard for me to come up with metrics.
Looking at it now, the cleanness of Hashrocket’s code is unbelievable. They really do know what they’re doing! In many cases, they leverage the "magic" of Ruby on Rails to write efficient, yet effective and understandable, code. What might take some developers 3 or 4 lines of code, Hashrocket can many times make happen in 1 line. They put together the most complex parts of our application, delivering a completely dynamic and customizable calculator tool that allows us to create and adjust without having to write a single line of code ourselves.
How did Hashrocket perform from a project management standpoint?
We use Pivotal Tracker for our requirements management and communication. I was in touch with the project manager on a daily basis through Google Hangouts. He was fully devoted to our project and made sure that we were aware of what the developers were working on. If we had a question over the course of the day, we could reach out to Hashrocket via Slack, and they also contacted us for clarification. It was a very transparent and involved process. I felt like a part of the team and found Hashrocket’s people to be incredibly talented. I was fairly new to development in general, so I appreciated the detailed communication.
What did you find most impressive about Hashrocket?
Education and communication were especially good. Hashrocket stayed in touch with us every day, so I had a hands-on approach on the client side. While it was a bit of pressure, it was my full time job, so I wanted to help out with anything I could. Hashrocket was finishing features quickly, and putting out clean and productive code, so I had to be ready to verify those features and not become the bottleneck. Even though I was not doing any programming, I was still taking full ownership of the product and felt like I was integral to its successful development.
Having engaged Hashrocket for almost two years off and on, we wound up working with a couple different development teams within the firm. I can tell you that no matter who they plug in on a project, they are all incredibly talented, smart, and fun to work with and deliver a consistently excellent product. A lot of that has to do with the excellent process that Hashrocket has perfected and a lot has to do with the leadership from the CEO to the project managers and even to the developers. They all take ownership of their projects and feel fully invested in its success and the client's success even after the engagement is complete.
Are there any areas Hashrocket could improve?
Project duration and cost estimation would probably be the only point that I can think of. But then again, with software development in general, requirements change in the middle of the project pretty regularly so it's hard to put that on the development team.
Their hourly rate is a bit high, and there are a few people working on a project at the same time, but Hashrocket delivers a premium product, so in my mind, it’s a pretty good trade-off.
What tips or recommendations could you share that might increase the likelihood of success with Hashrocket?
Be prepared with a clear vision of what you want, going into the engagement with Hashrocket. Otherwise, you risk spending a lot of time running in circles, racking up a huge bill, without much to show for it. This is true for any development project. Applied labor is key; clients should want the development team constantly working towards the end-product. That’s important for saving everyone’s time, money and sanity. I also recommend assigning one person from your company who is willing to be fully engaged with the Hashrocket team throughout the process. This person should have complete expertise and ownership of the scope and be knowledgeable enough to answer any questions the development team may have.