Rails Code Audits and Reviews, continued
In response to my article, Audit Your Rails Development Team, Tim Case writes,
āI think what you are doing has value and Iāve been anticipating that someone in the rails community would step up and do this, hence the question I posed because Iāve thought about that thorny issue too. I have a feeling Planet Argon is making the first step in a direction that has been building, Peer review has the potential to be positive for the entire community, provided that itās shepherded properly and with care.ā
Itās been just over a year since we first made a public announcement of our Rails Code Audit and Review service and weāve had different types of clients inquire about it. We make sure to call it a code audit and review because weāre not aiming to only point out flaws. We see our service as a way to help stake holders gauge the capabilities of their developers while also providing developers with some more insight to how things could be done differently. There are a lot of developers using Ruby on Rails now and itās safe to say that there are many that arenāt very good yet. Some may argue that the ease of getting started with Rails makes it easy for inexperienced developers to stay just good enough and never take the next step. Weāve seen some beautiful code and weāve seen some horrific code. Some of our clients have made the tough decision to fire their existing freelancers after weāve completed our analysis⦠but weāve seen several situations where our clients were happier with their developers after.
For example, we recently completed a code audit and review for a client, which came to us with some concerns about their development team. Things seemed to be going slower than they thought it would and really wanted to have an outside opinion about the quality of their work. Overall, their application was being developed really well and the biggest problems that they had were related to a lack of testing. So, weāre now walking them through the process of integrating RSpec into their development process. Their development team admitted that they suffered from a lack of testing, but were very honest about the fact that they just didnāt know where to begin as it wasnāt something they had time to learn before. Weāve been able to provide them with some direction and now weāre available to answer questions and review their work from time to time. The outcome was good for everyone. The developers are better off because their manager has more confidence in them. The manager has more confidence in the product as a whole and knows exactly where his team should focus their attention on next. Weāve gained a new Rails consulting client and get to help them with their cool project.
While we love working on entire projects from start to finish, we also love working with other developers and development teams. This has been one of our favorite types of client relationships. Weāre currently working with a handful of people as they work their way through the project life cycle and weāre always a phone call, Basecamp message, or email away from assisting them. I feel that these types of services are important to the Rails community, because weāve witnessed situations where clients were unhappy with Rails because they werenāt happy with their developers. Weāve seen people drop Rails in favor of something else because of the poor quality of code that was being written in Rails. When bad perceptions spread, itās bad for the community as a whole.
What we can do, is become the backup team for the client and/or development team. Should they run into any weird deployment issues at 2am on a Sunday morning or arenāt able to track down the cause of some performance issue, weāre another set of people that can help out. While we donāt know every nook and cranny of our consulting clientsā applications, we do have a good understanding of them. This allows us to dive in and help more quickly than we can for clients that call us for the first time a few hours after they had an emergency.
Itās my opinion that these types of services are very valuable and highly encourage other consultancies in the Rails community to offer them.
If youāre part of a development team and/or a freelance developer and looking for this sort of relationship, please contact us to see how we can assist you.





