Engineering is expensive!

Engineering is expensive!

Often I have come across instances where business people come up with the set of requirements which should be done as this will save so much of their time. But that's their perspective.

Building a solution using technology is fair but one should be very wise when implementing things via that. This blog post is to help you understand why engineering is expensive, and what all things you should consider when building something using technology.

Cost centers in engineering

Whenever you build something using engineering, there are three major cost centers:

1. Development Cost: This is the cost which is incurred in the process of developing the tool. This cost is mostly based on the time spent by the team. I can assure that average hourly cost of quality engineering is always on the higher side of the spends done by any business.

2. Server/Tools Cost: Most of the solutions you build these days are cloud based and would need to be hosted somewhere. No doubt that cloud is becoming cheaper day by day, but in the end, it's an additional cost. Also if your solution is not architected properly it can result in bloating this up. Things like analytics, performance monitoring tool, etc will also add to this cost. When you are starting everything is cheap. Every service provider will offer you cheap plans but once you scale up, costs just grow linearly and sometimes exponentially.

3. Maintenance Cost: This is something which always is neglected. Anything you build needs maintenance. Maintenance would come in form of fixing bugs, adding enhancements, providing reports etc. Every single item would seem to be very small but once you aggregate it up on monthly basis it can take up to 20% of your engineering time.

Engineering time != Business time

Often you will hear from business people that if you build/implement this tool they would be able to save X hours. Well, the point is that hours is not the right metrics to calculate it. Let me give you an example to help you understand this.

Example

There is a need for an app to help operation people to collect data from the field so that they won't have to come to the office every day and will save a lot of time. The data upload needed here need not be real time and needs verification from the desk team.

Scenario 1: Operationally managed, no tech involved

In this scenario, your operations person has to come to office submit a paper-based form. Few data entry person would be needed to upload the data

Number of people going to using the tool: 5

Cost of field person: ~2$/hour

Cost of data person: ~1.5$/hour

Extra time incurred because of travel and physically filling form: 3 Hrs per day

Number of data person needed full-time to do entry: 1

Additional cost per month on fields person: 5 x 2$ x 3Hrs x 20 Days = 600$

Cost of Data entry person: 1 x 1.5$ x 8 Hrs x 20 Days = 240$

Total Cost which would be optimized on Monthly basis: 840$

Total Cost which would be optimized on Yearly basis: 10,080$

Scenario 2: Engineering Team builds the tool

Development hours needed to build the tool: 3 Weeks of 2 people = 3 * 2 * 8 * 5 = 240 Hours.

Testing Hours needed: 1 Week = 5*8 = 40 Hours

Hourly cost of a developer: 20$

Hourly cost of a tester: 15$

Total Cost of Building the tool: 20$ * 240 Hours + 15$ * 40 = 5400$

Tool Cost per Month: ~100$

Monthly cost of maintaining feature (inclusive minor enhancements) 10% of building cost: 540$

Total Yearly Cost: 5400$ + (12*540) + (12*100) = 13,080$

The fuel/paper cost from scenario 1 would be almost equal to other costs in engineering hence ignoring.

Result: 

If you compare scenario 1 & 2. It's very clear that the cost of engineering is higher than the cost of doing the same without any tools. Scenario 1 would have been costlier if there were 10 field people involved so if you are not planning to scale to that number in next one year then it absolutely makes no sense to get it done via engineering.

In fact, there are a lot of tweaks you can do in scenario 1 to reduce your operational cost. You should first reduce your operational cost to minimal and then think of getting technology into the picture.

Quality Engineering is expensive

You can always get things done in engineering at a cheaper cost, there are always resources of that sort available. But the reality is that any great quality product comes at great prices. You might not realize that initially but once you begin to scale you will face it in different forms. For some. it might result in slow growth. For some, it might result in scale problems. I can guarantee that if you don't focus on quality you will face the consequences at some or the other point because, in the end, it's quality which scales the business. If your company is tech-heavy then it's something you should look at the early stage.

Conclusion

If you want to build an awesome product and business:

  1. Spend on quality engineering
  2. Think wisely before spending the quality engineering time.
  3. Ensure that your operations is optimized the most before getting them automated.

Coming Next: Fashion in technology

Read More on: https://blog.theprogrammer.in/

Mevin Mathew Paulose

Heading Growth and Business @ Bhanzu

7 年

Great insights Ashutosh.

回复
Dishant Kalra

Java Developer - Java | Cloud | React JS | RDBMS

7 年

Great Insights Ashutosh!! But 5400$ in Scenario 2 is one time investment and the tool can be used for many years so comparison, I think, is not fully correct.

回复
Deepam Prithyani

Product Management

7 年

Good one! Very helpful insights.

回复

要查看或添加评论,请登录

Ashutosh Agrawal的更多文章

  • Nykaa - Order data breach, scammers using WhatsApp Business as a new gateway.

    Nykaa - Order data breach, scammers using WhatsApp Business as a new gateway.

    Today my wife got a scam call from a "Customer Care" from Nykaa, they had all the details (delivery address, order…

    3 条评论
  • Engineering Productivity - Next Generation Tools

    Engineering Productivity - Next Generation Tools

    Current Generation Current generation tools have helped in boosting the productivity of engineering teams by enforcing…

  • Engineering Productivity - Headcount vs Efficiency

    Engineering Productivity - Headcount vs Efficiency

    Meta-verse, blockchain, etc. are accelerating us into the deeper world of technology.

    3 条评论
  • Fashion in Technology

    Fashion in Technology

    Like how the fashion industry works, where people try to stick around to the latest trending clothes, the tech industry…

  • Weekend vs Weekends

    Weekend vs Weekends

    Since the start of my career I had got weekends for leisure time, but being in a startup I used to end up working on…

    1 条评论
  • Pixel perfect development

    Pixel perfect development

    History behind this: One of the things that I heard very frequently when I joined in my current organization…

  • Separation of concern, just not in code

    Separation of concern, just not in code

    `Concerns` is a term used in computer science for scoping out the different behavior of the code and `Separation of…

    1 条评论
  • Building peaceful and scalable infrastructure

    Building peaceful and scalable infrastructure

    This is the first of the series of blog post on building peaceful and scalable infrastructure. Every DevOps dream is to…

社区洞察

其他会员也浏览了