2017-03-07-your-engineers-need-to-understand-your-business-heres-why.html.md 6.51 KB
Newer Older
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
1
---
Rebecca Dodd's avatar
Rebecca Dodd committed
2
title: "Invite your engineers to talk business. Here's why."
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
3 4 5
author: Victor Wu
author_twitter: victorwu416
author_gitlab: victorwu
Rebecca Dodd's avatar
Rebecca Dodd committed
6
categories: insights
7
image_title: '/images/blogimages/invite-your-engineers-to-talk-business-heres-why.jpg'
8
description: 'Traditionally, engineers may have been shielded from the "business parts" of the organization. In today’s technology landscape, that’s no longer a viable option.'
9
cta_button_text: 'Watch <strong>Code Review: A Business Imperative</strong>'
Rebecca Dodd's avatar
Rebecca Dodd committed
10
cta_button_link: 'https://www.youtube.com/watch?v=XluG9mAQdSo&feature=youtu.be'
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
11 12
---

13
Every business today is a technology business. Whether it supports your business model or itself _is_ the business model, your technology stack plays a key role. What your engineering team ships, and how they ship, has direct and measurable consequences for your business, even if they traditionally prefer to think otherwise. Engineering goals are now closer than ever to business goals, and understanding that will help companies thrive in the business technology world today.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
14 15 16

<!-- more -->

17
The idea of [software craftsmanship](https://en.wikipedia.org/wiki/Software_craftsmanship) dictates that the profession of software engineer should be analogous to that of civil engineer. Increased professionalism (in the style of [Uncle Bob](https://en.wikipedia.org/wiki/Robert_Cecil_Martin)) suggests that software engineers' work should carry the same weight, and their failures the same consequences, as physicians and civil engineers.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
18

19
These are noble goals for software engineers, especially if you are building software to operate a [bascule (draw) bridge](https://en.wikipedia.org/wiki/Bascule_bridge)! Unfortunately, they are challenged daily by business managers who just want functionality, but may not care about the underlying mess supporting it; they think that engineers who constantly try to clean up that mess are wasting time chasing after esoteric technical standards. Engineers, on the other hand, want to always deliver and maintain quality work, and they are less concerned about the business and the end users. This lack of communication and alignment creates distrust and inefficiencies — it just doesn't work.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
20

21
## Code quality as a means to further your business
22

23
A better approach that more and more organizations — including GitLab — have embraced is lending a greater business voice to your engineering organization, and of course demanding greater responsibility. Have your engineering team communicate the benefits of maintaining quality code, and why the costs of increased engineering resources (people and time, typically) are justified by tangible business outcomes. Along with a clean and adaptable codebase, quality code allows you to:
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
24

Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
25
* Add new features quickly
26
* Remove existing features since it's relatively easy to identify which code contributes to those features, and which does not
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
27
* Change existing features, for reasons similar to above
28
* Have a more stable platform with fewer defects and security problems, again due to predictability of your code
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
29
* Deploy code quickly, with fewer manual configuration steps, reducing the time from decision to when you go live
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
30

31
Note that all the benefits above are _business benefits_! Your software engineers already know these are possible and goals that they themselves already aspire to achieve.
32

33
## Can you ever skimp on code quality?
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
34

35
The short answer is: it depends on the company. For mature organizations shipping well-established products, it's likely the market cannot absorb shocks or big changes in the product. Performance, security, and privacy are very important, especially for highly regulated industries. Code quality is crucial for these companies, and luckily, they typically have more resources to easily handle the cost of maintaining that quality. Code quality should always be the rule, with very little exceptions, and engineering and business should communicate along those lines.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
36

37
In either a small startup or a large organization shipping a product quickly to compete, I'd argue that you can _and should_ skimp on code quality. Engineers may not be a fan when reading this, but this draws on the concept of _technical debt_ or _tech debt_. Sometimes a startup has to strategically incur tech debt to push out a product or feature update more quickly, to get the timing just right.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
38

39
If you instead choose to maintain that 100 percent quality code, you lose out on the opportunity, and don't even have a business in 2 months, totally defeating the purpose of your software development in the first place. You'd have gained a beautiful codebase, but lost a viable business. Just as any healthy business regularly pays back old debt and takes on new, you need to clean up previously incurred tech debt so that your codebase doesn't slow down your business.
40

41
## Engineering goals are business goals
42

Rebecca Dodd's avatar
Rebecca Dodd committed
43
In the past, engineers were often removed from business discussions. Business managers established requirements, and threw those over the wall to engineering managers who would reciprocate with delivery timelines. In today's technology-driven business landscape, that's no longer a viable option for success. Both parties need to work closely together in order to survive in a competitive software world.
44

45
Maintaining code quality is a great bridge in this effort, since engineers can easily articulate its practical benefits that are readily translated into positive business outcomes. You should continually analyze your business and take advantage of new tech debt as the need arises. There is a lot of technical nuance to this delicate balance, and so your engineering team should be presenting the options and offering a strong recommendation. Your engineers need to be strong _business leaders_.
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
46

47
<p class="alert alert-orange" style="background-color: rgba(252,163,38,.3); border-color: rgba(252,163,38,.3); color: rgb(226,67,41) !important; text-align: center;">Watch our webcast &nbsp;&nbsp;<i class="fab fa-gitlab" style="color:rgb(107,79,187); font-size:.85em" aria-hidden="true"></i> &nbsp;&nbsp;<strong>Code Review: A Business Imperative</strong> &nbsp;&nbsp;<i class="fab fa-gitlab" style="color:rgb(107,79,187); font-size:.85em" aria-hidden="true"></i> &nbsp;&nbsp;on demand. <a style="color: rgb(107,79,187);" href="https://www.youtube.com/watch?v=XluG9mAQdSo&feature=youtu.be">Watch here</a>!</p>
Emily von Hoffmann ✨ 's avatar
Emily von Hoffmann ✨ committed
48

49 50 51 52
----

Cover image: [AtTheUnderground](https://www.flickr.com/photos/draganbrankovic/14469494828/), by [d26b73](https://www.flickr.com/photos/draganbrankovic/). Licensed under [CC BY 2.0](https://creativecommons.org/licenses/by/2.0/legalcode).
{:.note}