Working with a development agency or partner is not as easy as doing a Google Search, finding some devs, and kicking off. A lot of upfront work must go into making a final selection! In this article, we’ll review several key aspects of how Rails Agency works, discuss their importance when selecting a development partner, and how they help us to stay on-time and on-budget.

Responsiveness

Communication is vital to every project and especially so with software development. While there are many forms of communication and communication preferences, frequency and ease of communication are critical in all software development projects. At Rails Agency, we have learned that the best way to ensure a quick turnaround is to allow developers and clients to be connected directly through a variety of communication channels. This does not mean that clients can call developers during their private time away from work, but it does mean that if a developer needs to clarify something with a client, it can be done relatively quickly. We have all been on projects that place management or other layers between the actual project stakeholders and those doing the implementation work. It’s our firm belief - and our experience launching dozens of products - that fewer communication barriers and being in direct contact with developers lead to better outcomes overall.

At Rails Agency, we believe all clients should be able to communicate with their development team directly. Have you heard of the Telephone Game? This exact same thing happens all the time on software projects. When there is an intentional barrier between the actual stakeholders and the developers doing the work, there is guaranteed to be a communication breakdown. Just like in the telephone game, when communication has to go through several layers - what was originally said or requested is not what ends up being communicated. Additionally, developers often ask clarifying questions and this process should be as frictionless as possible. In order to serve our clients the best, we break down all of these barriers and encourage our developers to directly communicate with our clients via Skype, Slack, and in our own storyboards.

Organization

The year is 2021 and it’s come to my attention that there are still software developers not using Agile storyboards, like Trello, Clubhouse, or Pivotal Tracker. While there are a lot of these types of apps nowadays, what is a big red flag is not using one. Does emailing an out-of-date spreadsheet sound familiar? One of those red flags.

Rails Agency, on the other hand, uses an Agile PM tool (we don’t use just one!) on every single project. Why? When communication is centralized in an easy-to-understand, collaborative, online format, it’s very easy for all project stakeholders to stay in synch. When everyone is working in the same workspace, the status of the project is always up to date. In fact, the tools listed above can go further and integrate with developer systems like Github, allowing stories to be automatically deeply linked to the source code itself. This actually enables a real-time, trackable stream of project updates which keeps the status of the project, the iteration, or the individual story automatically up to date. Our clients love it when they can see progress being made and do not have to wait for or request a project status meeting. When less time is spent trying to get figure out what’s going on, more time can be spent on things that actually deliver value back to your business.

While this form of project management requires a lot of training and team discipline, we have learned that the extra effort is well worth it. It instills a sense of collective purpose and responsibility onto a team since we’re all working on the same outcome together. By empowering all project team members to work in collaboration with each other leads to happy and productive team members and successful projects.

This style of project management is also well suited to remote, distributed teams. Rails Agency has been working in this manner for over 7 years - well before the COVID-19 pandemic forced us all onto work-from-home teams.

It’s never too late to get a project organized. If your current team is considering adopting new processes (i.e. Agile), consider bringing in the Software Project Management experts at Rails Agency to help with the transition. We love helping teams learn to use software tools to improve team collaboration, beat their deadlines, and exceed expectations.

Reliability

Reliable software means apps and software that rarely errors and works when you need it. We have all probably used Gmail and have become accustomed to how well it works, how it’s always available, and how there is virtually no downtime.

Apps as reliable as Gmail are no accident. It’s the product of deliberate actions taken on the part of Gmail’s Product Management and Engineering teams. Therefore, if an app is not reliable, crashes frequently, or is experiencing excessive downtime, that too is no accident. An amazing (or poor) experience is entirely predicted by the quality of internal processes, individual expertise, tool selection, and an emphasis on testing.

Is your app always erroring? Do bugs that you know were fixed keep coming back? Is it slow? Reliability is a very important aspect of all software projects, whether it’s for the web, a mobile device, or a desktop environment. However, Reliability is actually much harder to achieve in practice because it requires instilling organizational discipline from Day 1. If you’re beyond Day 1, do not fret. The expert practitioners at Rails Agency can help get your project back on track.

Simplicity

At Rails Agency we always use simple, reliable tools to build all of our apps - whether it’s mobile, web, desktop, or otherwise. Using the “latest and greatest” framework may be alluring; however, the truth is that “latest and greatest” often comes with the most amount of project risk. Using mature, tried-and-true frameworks such a Ruby on Rails will ensure your web app or API is developed both quickly (no wasted dev time rebuilding the wheel) and with a high degree of quality, security, and stability.

There seems to be a new JavaScript framework every week and as interesting as they are to us from a Computer Science standpoint Rails Agency would never build apps for our clients on these new frameworks. The reason is simple: they are often difficult to use, have poor community support, solve technical problems that most companies do not have, and require a skill set that too few developers know. If you’ve been on a startup MVP project before, you know the biggest risk to any early-stage startup is having a key partner or developer leave suddenly. Unless you’re using a well-known framework like Ruby on Rails, React, and/or React Native, if your key man/woman leaves that can make it too difficult to hire a replacement which can cripple your fledgling business.

There are only a couple of technologies that are suitable for MVP development. We firmly believe that Ruby on Rails is the best one. While most apps can get by without a front-end framework, we love building web apps with React and Hotwire), too. Mobile apps fall outside of Ruby on Rails (web, backend) - however, Rails makes building RESTful APIs trivially easy for mobile apps and complements those projects nicely, too.

If it takes hours to do simple things like change buttons, update pages, and introduce seemingly simple features - your project may be over-engineered. Feel free to reach out to us for a second opinion.

A Better Development Experience

Is your current project’s communication not quite where you would like it to be? Can’t talk to developers directly and it takes days to clarify simple things? Are you concerned because you are always going back fixing things that used to work? You’re not wrong thinking there has to be a better way. Contact Us for a free consultation.