How to Engineer A Better Software Development Process
One software engineer’s personal quest to find the next best thing to a business-engineer mind meld.
By Diana Espino (Software Engineer)
Earlier this year, I took a Femgineer course on Lean Product Development to learn a process that could help me unmask complexity from my software projects. Possessing the ability to see simplicity in complexity, would make my life a lot easier and more headache-free.
One of the lectures was taught by Alex Notov (CTO of BizeeBee), in which he shared his experience in hiring and working with engineers. He spoke of our introverted personalities, preference for communicating through email rather than in-person, tendency to obsess over the smallest details, consume large amounts of caffeine, work for hours and hours, and even become emotional by taking things too personally. Hearing of his experiences made me recount my own experience working with developers, and I realized that the majority of developers were like that, including myself!
Business Isn’t Sexy
As Alex continued, he explained “why” we were like this by shining some light on what engineers were motivated by and valued most. Where people saw an anti-social, introvert, there was actually an individual with an incredible ability to focus on learning new technology to ensure their the company remained competitive. An obsession with perfection, came from having high standards for quality. And a sleep deprived developer fueled by energy drinks was driven by the personal responsibility he felt for the success of the product.
Suddenly, a developer’s exterior awkwardness melted away, leaving my fellow classmates to feel more sympathetic. The realization that developers cared as much about the business goals as they did, changed how they saw us. Excitement ran through people’s voices as they began to ask how they could connect more closely with the development team. However, the same holds true for engineers – they also have wrong ideas about business people.
Ditch Business and Make Friends
The realization that developers cared as much about the business goals as those in sales and marketing, changed the views of those taking the course. That’s when the exterior awkwardness that defined us developers melted away. Excitement ran through people’s voices as they began to ask how they could connect more closely with the development team.
As a software engineer with an MBA, I lived in both worlds and I knew the realities of each. Then a light bulb came on. Yes, there’s a wide chasm between business people and developers, but the problem lies in the misconceptions this gap breeds. Momentarily, through Alex, we were able to bridge both sides together.
Misconceptions attach themselves like a heavy ball, weighing down on a company’s growth. Think how much more profitable companies would be if developers thought like business executives and how much happier developers would be if business people thought like engineers. Any company where the two work in sync would experience business optimization. Unfortunately, not everyone is interested in learning about business or computer science and “mind-melds” are still not yet feasible.
Take Active Steps to Becoming Agile
In the hopes of recreating the “aha” moment that Alex created for us in his lecture, I began a quest for a set of techniques I could use to help connect the two worlds’ realities into one mind. Since most companies recognize the benefit of implementing scrum and agile software development to achieve similar results, I started my quest for knowledge there. Despite reading dozens of books and watching a multitude of videos, practical approaches to implementing what I was learning turned into a quest of its own.
Then I found Succeeding with Agile by Mike Cohn.
Cohn centers his book around the process of transitioning into agile and offers with very specific advice on how you might handle situations such as resistance, structuring an agile team, and even coexisting with other approaches. If you are an individual who knows the benefits of agile but is struggling to spread the practice to developers, salespeople, marketing or even the finance department, I urge you to read this book. However, if you are a software engineer, it is even more crucial for you to read it because you’ll see how, when put together, all these techniques will make your life easier.
Through Femgineer’s course and Cohn’s book I realized that in order to become a better and successful software engineer, I need to do the following:
- Learn and understand business goals
- Communicate how an engineering goal fits into a business goal
Learn to align interests across various departments
My next reading is going to be Poornima’s e-book on Getting Buy-In With the Bite-Sized Sales Technique! What are your next steps? Or have you taken a slightly different approach? Please leave a comment, as we’d love to learn from you!
What are your top tips for bridging the gap between the worlds of business and engineering?
About the blogger: Diana Espino is a software engineer with an MBA. She has over 13 years experience working with web technologies and is well versed in over a dozen programming languages. One of her projects was leading the creation of a new tech tool for the US Military, which required top-secret clearance.