[00:00:00] Hey everyone, it's Michael and welcome to the ArchSmarter Podcast. Today we're diving into a question I get all the time. Should I build my own tools? Should I buy something off the shelf? Or should I hire somebody to create what I need? It's a great question because we're all trying to work more efficiently.
And maybe you've got a workflow that's eating up too much time or there's a repetitive task that you know could be automated. Once you identify that need, you've got three options. You could build the solution yourself. You could find an existing tool to buy. Or you could hire somebody to build it for you.
But, how do you decide? Now, I love to cook, and one of my favorite cookbooks is Make the Bread by the Butter by Jennifer Rees. The premise of the book is helping you decide what's worth making from scratch, what you should just grab from the store, and what's better left to the professional chefs at the restaurant.
So, think [00:01:00] about Mexican food, for example. Reese recommends making your own guacamole and salsa. They're fresh, they're delicious, and they're pretty simple to make. If you're feeling ambitious and maybe you have a special occasion, then making your own tortilla chips is a great idea. Trust me, they're amazing when they're fresh out of the oil.
But when it comes to burritos, You're better off saving the hassle and ordering out. You'll end up buying tons of different ingredients to make a good burrito and unless you're feeding an army you're going to have way too many leftovers. Same thing goes for potato chips. Yes, you can make them at home but it's messy, it's time consuming, and honestly it's not worth the effort.
Here's my favorite example from the cookbook. Steak tartare. Now unless you really enjoy handling raw meat and you have a great relationship with your butcher, this is something best left to restaurants. And lastly there's fried chicken. This is [00:02:00] really a toss up. Making it at home can be fantastic but it's incredibly messy and it usually costs twice as much as buying it out or getting it at a restaurant.
Sometimes it's worth it. But sometimes it's not. Now let's apply this same thinking to our software tools. Just like with cooking, you need to weigh the pros and cons of each option. So let's break down what you should consider for each approach. First up is the buy option. Buying off the shelf software is like grabbing potato chips from the store.
There are some clear advantages here. First, and most importantly, is it's ready to go right now. You can download the tool and start using it immediately. There's no waiting, no development time, just instant solution. Second, you get professional support. So when something goes wrong or you're not sure how to use a feature, there's somebody you can call or email [00:03:00] for help.
And that's incredibly valuable, especially when you're under deadline pressure. Third, these companies handle all the updates. When a new version of Revit comes out, for instance, they make sure their software is compatible. You don't have to worry about that ongoing maintenance. Now, the catch, well, just like buying food out at the grocery store, there's ongoing costs.
You might be looking at monthly or annual subscriptions. And if you have a large team, those per user costs can add up quickly. So when does buying make the most sense? I'd say when you need a solution right now, and you're dealing with a common problem that others have already solved. Also, when you need advanced technology, like AI for instance, and that would take too long to develop in house.
And lastly, buying makes sense when the subscription cost makes sense for your team size. So definitely do the math. Now let's [00:04:00] talk about building your own tools. And this is like making your own bread. It takes more time and effort, but you get exactly what you want. The advantages of custom development are significant.
You can tailor everything to your specific workflow. You want Revit, your Revit project setup tool to match your exact standards? You can do that. Oftentimes, building it yourself is more cost effective in the long run, especially if you have a lot of users. Instead of paying ongoing subscription fees, you have the upfront development time, and then you have the time required to maintain the tool.
Now, another big advantage is that you own the intellectual property. This is huge. This becomes your competitive advantage, and there are AEC firms like Gary Partners or Thornton Tomasetti, who have developed their own tools and eventually spun them off into separate technology companies. Now, you may not want to start a separate tech [00:05:00] company, but custom tools can be a huge competitive advantage that make your core business much more valuable.
So, building a competitive advantage. It yourself makes sense when you need something that's truly custom and it doesn't exist in the market. And it makes sense when you have development resources in house and maybe that's you as a programmer or maybe you have a development team that is available. Now it also makes sense when you have some time to work with.
It's not a solution that you need right away. And lastly, it makes sense when you want to develop valuable internal capabilities and intellectual property. Now the third option is hiring someone to build your tool, which is like having a personal chef. You get exactly what you want without having to do it yourself.
So this makes sense when you need something custom, but you don't have the in house expertise. Or maybe you do have the in house expertise, [00:06:00] but that development team is swamped with other projects. Now it makes sense too, when you need specialized expertise, such as AI integration or other systems integration.
And when you need it relatively soon, but maybe you don't need it immediately. So when hiring an external development team, the key is having someone on your side who really understands software and the software development process. So they will be able to better manage the project and translate your needs into working software.
Alright, so those are our three options. How do you navigate this decision? Here's the process that I use. Number one, start by determining exactly what you need. Thank you. Be specific, as specific as you can. Next, do a Moscow analysis for your features. And Moscow stands for must have, should have, could have, and will not have.
So your must have features are [00:07:00] the absolutely essential features and it's a deal breaker if they're missing. Should have are important but not critical features. Your could have are the nice to have features, but they're not critical. You know, they're not essential. And lastly, you will not have are either not needed now or not needed ever.
So Moscow analysis is useful for prioritizing, um, what you're really looking for in the tool. Once you've done that, Step three is research existing solutions. Don't reinvent the wheel if you don't have to. Use that Moscow analysis to determine if an existing solution fits the bill. If it meets your must have from your analysis and some of your should haves, then that's likely a good fit.
Step four is do the math and calculate the cost. So if you've found an existing solution, if you've found a tool [00:08:00] you can buy, do the math. How many users will you have? What's the cost per user? Are you looking at a subscription or perpetual licensing? And then project these costs out for one, three, and five years.
This will give you a good sense of the total cost to buy that tool. Step five is look at your in house capabilities. Do you have the expertise in house? Do you have the expertise yourself? How much development time can you spare? What I like to think about when it comes to development time is take your, your time estimate and then multiply it by 2.
5 to account for training and support. So once you've assessed your capabilities, and if you've found a tool that you could purchase, you can compare what that cost is going to be to develop it in house or to actually purchase. Alright, so here's what I want you to take away from this episode.[00:09:00]
Understanding software development, even if you never write a line of code, is really valuable. It's like understanding construction as an architect or an engineer. You know, you don't need to be a contractor, but knowing how things go together makes you better at your job. That's why there are design build studios in architecture programs, so you can get your hands on experience Putting things together.
So remember, custom solutions will give you exactly what you want, and they'll give you long term ownership. Off the shelf products offer immediate solutions with predictable costs over time. And then, hiring a development team bridges the gap when you need custom work, but you lack internal resources.
The key is making an informed decision based on your specific needs, your resources, and your timeline. Alright, that's it for me. Thanks for listening. If you found this helpful, hit the subscribe button for more episodes [00:10:00] like this. And until next time, keep working smarter, not harder.