Live data from Hacker News

Ask HN: Should we bring software dev in-house?

news.ycombinator.com

511–520 of 607 posts

Re: Ask HN: Should we bring software dev in-house?

#511
I'm running a team of SDE's and, from my experience, bringing development in-house is the last resort simply because of high risk/high cost. You have to pay your devs hell or high water whether they are moving at a rocket or turtle speed. We have worked with oil&gas and logistics customers, and their in-house development always drags 2-3 times longer than expected. If your pocket can allow it - you may try it but about 80% of customers I have worked with or talked to moved from in-house development to outsourcing it.

My team would love to look at your project for free just to give you an option to consider. Feel free to contact me at Polarwind99@gmail.com

Re: Ask HN: Should we bring software dev in-house?

#512

Earlier quoted context omitted.

> Consider that the software you're using, buggy and kludgy as it is, isn't the reason your business is making (or failing to make) profits. You seem to be making that assertion with 0 evidence. I've seen plenty of businesses fall behind because their tech is old and becomes an anchor, and I've seen businesses whose primary competitive advantage is their tech.

I've also seen businesses fall behind because they were chasing the latest tech fads even though those did nothing for their business.

I totally agree, but OP's post doesn't seem to be of that type - it's not like he's chasing some nebulous tech buzzword ("Sprinkle in some blockchain!", "Be sure to utilize AI!"), but he has a good idea of the specific pain points, at least in broad strokes.

At the very least, similar to other comments about hiring a small group of senior freelancers, I think to start it makes sense to find a very good contract product manager who can map out, very explicitly, exactly what the pain points are and what a software solution would look like to fix them, stack ranked by "biggest bang for the buck" (i.e. most positive impact to revenue or reduced cost, divided by rough estimate of size of the fix). At that point the total investment would be very low, and then they can make the call of whether the risk of doing something not using COTS tools makes sense.

Re: Ask HN: Should we bring software dev in-house?

#513
There’s a lot of advice here regarding the dangers of your plan, and I’ll add a little of my own, but I’d like to offer one note regarding why you are correct for considering this.

What exactly is the nature of this software you’re running on? Is it an aged or decaying platform? Worst case, is this a PHP thing that has to have updates carefully monitored in the event of eventual security breaches and hacks?

And what exactly is the health of the software provider? If they can’t be bothered to respond to you and the sort of budget $300M/year can afford… I’d be sweating bullets for sure. You need to have a plan for them just disappearing one day.

---

That said: I just committed the cardinal sin of helping to buy a company that had a decaying software stack, thinking that we could just straight up replace the whole software stack. Gave ourselves a big fat year of development and a big, experienced team, and still couldn’t pull it off in time. Harrowing experience.

Someone else here suggested getting a small freelance team and "letting them go nuts." I think an approach where a small team was building new, independent microservices that supplemented your main stack, and then gradually replaced features — until finally just a small core was left to be replaced with something modern — would be a feasible approach. This would need to be a very long-term plan with a lot of commitment.

Re: Ask HN: Should we bring software dev in-house?

#514
post #62

IME what works best getting new projects kick started is hiring a very small team of senior freelancers, making one of them lead, and letting them loose. I worked on such a team once and it was really excellent. The advantage of this strategy is if the experiment doesn't work out, terminating freelancers is much easier than permanent (I noted you're based in Europe). Contrary to what other people said, I wouldn't try…

As a freelancer doing exactly this for nearly a decade now I wholeheartedly agree. Freelancers also tend to know other freelancers who are used to laying the tracks while the train is running, and can usually get a high quality team together real quickly. Downsides are that you don't really retain any of the expertise in-house, unless you also staff up internally and do a proper handover.

Re: Ask HN: Should we bring software dev in-house?

#516
post #235

Earlier quoted context omitted.

> company makes money in logistics and as a software dev I would be second class citizen and cost center If software can make the company provide better logistics more efficiently, it's not a cost center, it's an enabler. It pays for itself in reduced costs and increased revenue.

A cost centre is, by definition, somewhere that only produces costs and is never attributed with any revenue or profit. A smart management team can figure out that investing in IT, Software, etc is going to have a positive ROI overall by increasing efficiency among other things. Unfortunately my experience (and many others') is that only the balance sheet will be considered and the goal will always be to reduce the c…

> A cost centre is, by definition, somewhere that only produces costs and is never attributed with any revenue or profit.

Which means that if investing in IT is an enabler for gaining revenue or profit, it's not a cost center by this definition--it's necessary to gain revenue or profit. As you note, many companies don't appear to be smart enough to see this, but that doesn't make it wrong.

Re: Ask HN: Should we bring software dev in-house?

#517
One extremely common pitfall is that attempts to build dev teams in non-tech companies end up creating a clique of "big thinkers" who unfortunately can't code much themselves. They end up convincing the management to contract out the lowly work and essentially become middlemen to other people's work.

You possibly can avoid that via good hiring policy if you know what you are doing. However once you quit the chance of things deteriorating is huge.

Re: Ask HN: Should we bring software dev in-house?

#518
post #466

Can you buy the service provider? Can you buy a copy of their service and run it in-house? If they’re struggling as you say; you may find that the premium to acquire all/part of their operation is relatively low. It’s nearly always better to iterate an existing solution to better than to build one from scratch. Happy to talk it over if you’d find it helpful: ossareh _at_ gmail

Or offer to pay them more.

Re: Ask HN: Should we bring software dev in-house?

#519
I joined a logistics company with a history of two unsuccessful outsourced software development projects. Their third attempt was also failing due to the developer prioritizing their own startup over delivering the contracted software. This resulted in unaddressed bugs, lack of client on-boarding support, and lack of the developer delivering functionality they were contracted to deliver.

I was brought on board to salvage the third system, but this proved unfeasible. As an interim solution, I built a system to enhance data from the third system, enabling the operations team to utilize it for planning and execution.

Collaborating with the CEO, we analyzed strategy, risk mitigation, and evaluated alternative vendors. Unfortunately, proof-of-concept trials were unsuccessful due to vendors not meeting our requirements.

To gain deeper insights, I initiated direct meetings with stakeholders at our client companies to understand their specific needs and business rules, recognizing the importance of minimizing localized exceptions while providing a solution that would work for all clients.

I then conducted meetings with the CEO and a key client to observe their utilization of the third system and pinpoint areas of success and failure from their perspective. Understanding client reporting and data needs is crucial, especially for those submitting reports to their local boards and international logistics teams.

I advocated for developing an MVP to automate manual tasks performed by control room staff, ensuring timely operations. The MVP was successfully launched first with a different customer and then rolled out to the original client. The original clients second site also adopted the system, and we transitioned from the legacy system during a holiday break. Benefits included reduced scheduling time due to zoning and suburb storage, resulting in significant time savings for planners.

Key takeaways include developing a comprehensive needs analysis document outlining your company's requirements, documenting business rules, noting pain points, and evaluating if the current system adequately supports business needs and figuring out what your wish list for a system is. You can then write a requirements document referencing back to the needs analysis document before starting to develop the software.

Software development projects fail when execs / management do not understand their requirements. Something they think is shiny today may not be tomorrow and their focus shifts.

Re: Ask HN: Should we bring software dev in-house?

#520
Let me break down how to think about it. The key question to ask - is the software revenue generating?

1) IF the software is revenue generating, then you can spend 10-40% of your annual revenue on your software team, because you're anticipating that the spend will grow your revenue and you can factor that growth budget into the software team's budget.

2) IF the software does not help the company make money, expect to spend 5% of the revenue on IT (and maybe 30% of that budget is software dev). 10% if it's extremely important to the business. Sometimes as low as 2.5% or lower. This number dependent on the operating margin / COGS in your industry.

Should be somewhat easy to look up these percentage spends in various departments for public companies in your space to have a comparison.

Note: You have a 3rd party product and team because it is cheaper than in-house. So unless you have extreme inefficiencies with your current vendor, an on-site team will be more expensive.

Once you get your IT budget as a % of revenue, then look at it in the 5 year picture. Is it $5m/y? Does it grow based on the projected company's growth? Map out the yearly budget, because it will be capped.

3) From a yearly topline budget, map out what you can afford as a combination of build, buy, and build + buy. Do not think of it as one unit, categorize the spend into several key layers that are important to you. Day to day product. Support. Key issues. Future roadmap. Estimate the amount of spend you commit to each.

The key question is if will you have to build your own product from scratch? Or can you build on top of your vendor? You can bring in a consultant who can do that analysis for you, don't skimp here, get someone super qualified/overqualified with plenty of real world experience in your industry. You want him to have gone through pretty much every possible problem you may go through, so he can flag them down preemptively. You'll pay him a set amount of hours to give you insights on how your next 5 years of spending (25-125m$ of money) are going to play out.

4) Deep evaluate your vendor's issue. Is it complexity or complacency? Don't guess and don't be biased.

Software vendors are able to spend more money on engineers than you because of simple economics. Their entire revenue is spent on 3 functions, sales, engineers, and support. Your entire revenue is likely spent mostly on COGS and sales.

The key question you need to ask is can you allocate your IT budget more efficiently compared to your software vendor's IT budget? They may have a 10x bigger budget than you. But they also have to support many other company use cases that may not apply to you.

Here, you really don't want to get it wrong. If it is complexity that is the vendor's issue, then you don't want to take on their complexity with less budget - that's just making things much harder on yourself. But if it is complacency, there may be a lot of room for a new, modern software. But real red flag is that logistics is a notoriously complex industry.

Look for alternatives to reducing complexity, or to creating robustness, without rebuilding core functionality however you can. This may be impossible, but you never know. With a large enough budget, you can hire some really smart people who can figure out something clever.

5) Create a budget to figure out what the plan would be.

A budget where you identify the key questions, and send freelancer senior engineers to figure out those issues and solve them - is a really good place to start. Think of this budget like insurance, or like a multiplier of your success chance, which starts off at probably 10%, and goes up the more you dig, plan, and know.

The core business issue is never about building an in-house team or not, its about finding the key bottlenecks and finding intelligent and creative people to craft human-capital solutions around those key bottlenecks.

Good luck.

Post reply on HN