I was at tech meetup recently. I was making new connections, meeting new people. After my pitch one guy asked the question how is Reliable Dev different from Upwork. And it's a good question which has many ways to be answered. In this post I will elaborate on this topic. One way to look at aforementioned question is from provided services perspective. Reliable Dev not only finds right developers for the project, but also does additional work to ensure project success. I've already talked about these in previous post. But here I'm going to review how Reliable Dev services are comparable to Upwork.
First different service is business analysis. No matter how good developers are it is impossible for them to help you properly identify software requirements for various reasons. There is always lack of context. They may be far away in a different country. They may come from different cultural background. Chances are the way people interact with such business in that area is different or your business is completely unknown to them. For example once I was a part of development team where application had payment types like cheque, accounts receivable, credit card over phone. And in Ukraine such payment types are not used at all. Not to mention that app was about golf course management, and there are almost no golf courses in Ukraine. This example shows, that even dedicated business analyst sitting in far away country might not be able to do good job, because of being so far from the business.
And this is what Reliable Dev does, but not developers found on Upwork. We help to identify project requirements. Specifically targeting areas where developers are disconnected the most. We constantly follow up customer to make sure that needed information is delivered to developers in time. In worst case scenario when customer is not able to provide clarifications for whatever reason, Reliable Dev helps developers to perform business analysis and guess what requirements would be. We ensure that progress is always done, and do our best to clear blockers as soon as possible.
Development Process Setup And Administration
Second Service which Reliable Dev provides and Upwork doesn't is setting up development process that meets customer requirements. It's interesting that process requirements are rarely discussed during software development. Sometimes they come up but very basic. For example when customer needs additional security and developers have to work in vault with customer supplied equipment with advanced security policies. But there are usually much more process requirements. And omitting them leads to problems. Here is an example. Large project had been tested for 3 month by a team of software testers, when customer took a look at test reports, and discovered that these reports have different format than customer expected. Poor testers had to redo 3 months of work from scratch. 3 months of work lost because nobody brought up the question about process requirements. And here is another thing. Service providers are following process they like not the process customer needs. They do their best to deliver project according to functional requirements on time. And they not only omit process requirements. Sometimes service providers cut corners on purpose to lower price in short term and gain competitive advantage. This never ends good. Cutting corners and lowering price by 30% today means paying triple price tomorrow.
This is where Reliable Dev comes to the rescue. As pointed in previous section, we help to identify project requirements. But we also identify process requirements. We take DevOps process as a foundation, and adjust it to fit project needs. One of the core requirements that we pursue is being able to seamlessly change development team if needed. It is also called bus factor. And it is always good to have it high. But we take it from individual level to whole team and service provider level. Even though we fully trust our providers, project transfers happen. For example when project is transferred to in-house team. Or project is frozen for some time after initial set of releases, and previous provider no longer can work on it. And it is impossible to have bus factor higher than 1 without using industry bad practices, with bad quality code and process. So by achieving high bus factor we get good quality solution and vice versa.
To be more specific here are some examples of services provided by Reliable Dev. Developer accounts setup: Apple, Google, etc. Necessary development tools setup: collaboration, planning, source control, issue tracking, CI/CD, etc. Test, staging, deployment environment setup in cloud or on premises. And then we collaborate with developers to ensure convenient use of the system.
Last but not least is quality control. What acceptance criteria come first to mind when dealing with remote team? Application should be implemented according to provided design and specification. It should deliver good user experience, which means it should run smooth and without crashes. It should not have major issues. These are obvious things to verify. And many developers found on Upwork provide software good enough to pass such acceptance. But there are other software qualities that cannot be seen by users. But those are important from business perspective. For example chosen technology stack, architectural decisions, code quality in general. All these things affect product development in short run and in long run. Unpopular technology choice makes it hard to find additional developers. Wrong architectural decisions make scaling expensive. Bad code makes new features development and existing features support difficult. And usually it is impossible to discover internal application flaws quickly without digging into code and asking a bunch of tech questions. Which requires technical expert on customer side.
Reliable Dev acts as such expert. We make sure that software is not only good looking from the outside but is also implemented according to high quality standards. We audit selected technology stack, architectural decisions, conduct additional code reviews.
I've got a somewhat interesting conclusion on this topic. Reliable Dev is not competing with Upwork. Reliable Dev provides different services. We can work with agencies found on Upwork. And we might search for agencies there if agencies from our pool cannot satisfy project requirements.
Thank you for reading. Stay tuned!