While growing reinteractive I have been asked many times how we operate. I’ve been asked this by prospective clients and by prospective staff. I thought it would make sense to write up a blog post covering the key points on how our developers and team work at reinteractive and what parts of our development process are important to us.
1. Our Team Works Remotely
Having our entire team work remotely is a strong management point for us. Our remote team encourages focused work without the large distractions of an office environment. Of course, this means that you can’t shout a question across the office, or go and interrupt another team member, we see this as a good thing. However, team communication matters so we have numerous Slack channels to communicate on each project. This has the added advantage of information being recorded, allowing for any team member to “get up to speed” on what is happening after a short absence by reading the log of what has been said.
Having a remote team means we can focus on value and expand rapidly. reinteractive has grown fast over the past few years, and this would have involved multiple office moves and upgrades, disrupting work and rearranging desks. Anyone who has worked in an office knows how much “fun” (political and hassle wise) it is to rearrange the office, with pretty much everyone always feeling worse off at the end.
Working remotely from a development point of view also means that the client does not have to incur costs for hosting developers, and means reinteractive can employ the best developers available nationwide instead of being limited to just the current location of the client.
2. Four Days of Client Work, One Day of Professional Development per Week
Due to the intense nature of work that reinteractive undertakes, reinteractive needs to provide ongoing professional development training for our team to keep them sharp. By intense I mean that every client wants our developers to hit the ground running and push quality code as fast as possible. The development world moves fast and reinteractive does not want to compromise on quality. We originally gave developers a week off every four weeks to do this professional development, but the feedback from our clients was that they did not want to take a week long break in the project while the developers honed their craft. We moved to the one day a week (Friday) for professional development model and this is reflected in the employment contracts of our developers. This has proven to be very successful, and just as importantly, sustainable.
3. Weekly Billing
Weekly billing means that the developer can deliver a good chunk of work after getting up to speed. It also means our developers aren’t chopping and changing between projects and can maintain a maintainable feature delivery speed.
We do bill by the hour and also in a shared manner with our CodeCare service, but for project-based development, we bill by the week to maintain a good velocity.
4. We Work in an Agile Manner
It is completely up to the client what kind of work they want reinteractive to undertake. We can give guidance on the most prudent path but ultimately the client decides what the developers will produce. We work with the client to push as many features as possible in the budget allowed.
This is an important aspect of how we work. We follow the agile process of preferring delivered code over processes and specifications.
5. Dedicated Development Team
To keep a high delivery rate and high quality reinteractive dedicate our full time developers 100% on their specific client project. We do not share them between projects at the same time. When each developer is dedicated to a single project the highest quality code is created but the upfront cost is greater, High quality code is important to a business because it means that future development is faster and cheaper and there are fewer bugs.
For less intense projects, we have our CodeCare service that provides a shared resource on a retainer to help handle those inevitable small bug fixes and tweaks. But it is important to note that CodeCare developers are dedicated to the CodeCare service and do not bill out to clients at full time rates.
6. Quality is Paramount
Our developers write specifications covering the work they are doing. These do not have to take massive amounts of time, but we have found, with over 100 combined years of experience in software development, that skipping testing results in hard to develop and very buggy code and gets you into a situation where no matter how many developers you throw at the code base, you can’t get features delivered on time.
Writing specifications also means that the speed of delivery of features is maintained at a fairly constant level over the life of the project instead of slowing down rapidly as the weeks move on. You might have experienced this, where the initial development speed seems fast, and then the rate of new feature delivery slows to a crawl. This symptom is almost always a result of not enough (or absent) automated tests.
7. Our Clients are Always Happy
If any client is unhappy with the work we have produced reinteractive uniquely offer a $10,000 guarantee. We will give the client up to two weeks of development time for free to handover the work to another development team. reinteractive never wants to lock our clients in and make sure they get their result.
8. We Help Our Community
A fair chunk of the fees that our amazing clients pay to reinteractive is funnelled into free community events we organise such as the installfest and development hub, now running all over Australia and responsible for introducing more than 750 people to Ruby on Rails in the first 2 years of operation. We do this to ensure that in the future there are more developers available to help expand the number of available people to hire for technical roles. We have had many individuals that attended our community events go on to become professional Rails developers.
9. Ongoing Relationships Matter
reinteractive don’t just build a Rails application and walk away. We provide ongoing support with our CodeCare and OpsCare services, providing long-term maintenance and support to our clients. We are happy to say that the majority of our clients have been with us for many years and we plan to keep them happy for many years to come.
10. Our Team
I love our team at reinteractive. They are genuine professionals that are 100% focused on getting the best result possible with a long term viewpoint on sustainability and development. We’ve worked hard to foster a bright, friendly and brilliant team that can tackle any job in our space and work on it to a success.
The above are 10 points that cover a lot of what we do at reinteractive. Please let me know if you have any questions or would like more information about how we work at reinteractive