efore starting Polydelic, I worked in many software houses for many different companies on a contractual basis over the years. I worked mostly in Australia, Norway, and the UK for over 14 years, making and setting up mobile apps, websites, CI systems, databases, entire platforms, cloud tooling, marketing campangies and much more. It’s safe to say I have seen a lot of ‘good’ and ‘bad’ software practices, hiring processes & company cultures. One of the main reasons I started Polydelic was because I can safely say that over 80% of those companies had harmful components that cost their customers excessive amounts of money and resulted in low-quality products and services.
For purposes of proper etiquette, I won’t mention the companies involved.
What to look out for
The first thing you should always check is their portfolio, common sense, right? The problem is people don’t know what a lousy portfolio looks like.
A common component a bad consultancy will do is skip hiring designers or usability professionals. Development shouldn’t even begin before the design milestone is completed. The design milestone can include wireframes, complete overflow, interactive designs, graphics, and much more. A usability professional can also give you some insight into what your customers want from the platform.
You can spot terrible designs by looking at the use cases and examples they have provided. You can also check the quality of their work by downloading their public apps. Many times we’ve done this and come across apps that don’t even work, aka login doesn’t work, app crashes on launch, etc.
Many software companies will spam 10’s of dummy apps to bulk up their portfolio. Be aware that a good company doesn’t have 100’s of mediocre apps. They have a few high-quality ones.
Large software consultancies
At all costs, avoid hiring a large development company to do your work. We are not saying large software houses always create terrible software. But a high percentage of the time they spend 5-6x as much as a small development team and sometimes produce lower quality products.
Large development companies have a whole pyramid of costs associated with them. They have many levels of managers, salespersons, scrum masters, project managers, product owners, release managers, and many more ‘extra’s to the actual developers. These all additional costs and these staff will justify their jobs with some shoddy logic or ‘industry standard’ that doesn’t translate into actual software delivery.
What seems to happen in these companies when they are usually over 50 employees is that departments become disconnected. Developers sometimes don’t even know the customer’s needs. Managers become obsessed with performance metrics that are complete BS. Developers get hired who don’t give a s**t about customers; they want to survive the 9-5. People are let loose to build continuous integration servers that cost a fortune to maintain with hired operational people and give little value to the customer, ‘But the system is more streamlined’ the developers will say while the client foots the bill.
Why are performance metrics bullshit?
I’ve worked in a few companies that use ticket boards like Jira, Clubhouse, Trello. Nothing wrong with ticket boards. They can be a great tool to keep track of the team’s progress. It starts to become a problem when teams are asked to break them down.
A few years ago worked at one place that had over 22 development teams maintaining a simple website (No joke). One day the CTO asked our team to talk about our performance. He presented us with the performance diagram on Jira, showing the top-performing teams.
How did they get away with this? Easy. Just overestimate, you’re safe. Product owner doesn’t know better.
You want to know why our team wasn’t ‘performing’ on their level?
I had just come back after a 4-month trip. The team had 1 junior developer, one guy who didn’t know how to code hired as a developer & one notable senior assisting when he could on the side doing all the iOS, Android & server work. The junior was producing value inside the app, we had a fully functioning app with around 30-40x the work the instant messaging team but because we failed a few tickets since we were overestimating, trying to do an exceptional job within a deadline we were penalized.
After this event, we realized the politics of a large IT company. We started to overestimate as well. We didn’t care just like the other development teams; shortly after this, I left this place.
How do you combat slow-performing developers? You can’t. No amount of performance statistics or reviews are going to help. A good product owner knows deadlines and how long things should take.
Large companies with all these ‘extra’s will also drag your developers into many meetings that’s an incredible waste of time. If I could count right now the number of times, I’ve been hauled into a meeting that could have been an email. At one company, we had meetings with 20-30 developers discussing what format we should use on our APIs. The estimated cost of these meetings was astronomical; the result was ignored in the end, money wasted. No responsibility, though, so once again; who cares. The customer foots the bill in large companies always.
There are just a few examples of what happens at large software houses. I have many more stories.
At Polydelic, we focus on small, efficient teams, and this has worked well. Not only do we deliver every deadline, but we do it at a low cost and produce high-quality products.
Consultancies with no reputation will never complete your software / app
Time and time again, we have new clients with existing software applications that come to us and ask us to ‘fix their apps’. They have had a consultancy based usually in Eastern Europe or Indian develop some software for them. The app is functional but has bugs, in-completed features, awful designs & terrible user experience. These clients are usually paying a monthly up-front fee.
When we get the source code, it’s garbage. In these cases, it takes longer to fix than create from new.
An easy test for consultancies
We do all our work in-house now, but we used to outsource when we didn’t have the capacity. One way we used to filter bad vs. good consultancies is by making them quote us for a project. A lot of development companies avoid full quotes now. The main reason for this is because they want to rope you into a monthly payment process, as this usually benefits them in the long run. Many monthly payment contracts have a minimum term of cancellation, something you may want to avoid.
A simple question you can ask them is. ‘How much time will it take to develop and deploy a simple Tinder clone, iOS & Android only?’. You should expect a response of roughly around 3-4 months.If they can’t give you an answer, they are not worth your time.
Companies with clueless project managers
I’ve seen two types of project manager.
1. Complement managers who have come from a development background.
2. Managers who hire ‘coders’ for $1000 per day per coder who don’t know how to code.
The latter hired four developers for a project that didn’t need them. They also ignored the advice of the developers; we told them, ‘do not hire these people, they can’t code’. The next week they were sitting in our office next to us, wasting our time. It put a lot of pressure on us as this clueless manager expected us to ‘work faster’ and complete the tasks.
You can check out the competency of a project manager by looking at the past projects they have managed from the ground up and the cost associated with it (did they use too many developers?), and was it successful?
And that leads me onto:
More developers does not equal better software or faster delivery.
Let me say. If you have 50 developers on a small app that doesn’t have much UI, then you have a severe problem with a manager who is looking to increase their reputation at the expense of the company and customers.
Sometimes having more developers will delay the project since there will be many bad bits of code and weak links from B-C quality developers. At Polydelic, we like the saying, ‘One developer will take one month, 12 developers will take a year’.
A* developers can do the work of 20-30 mediocre developers. At Polydelic, we only hire A* developers. We wrote a post on how to hire a developer here.
If you're interested in software development don't hesistate to contact us.