Balancing Engineering Progress with Business Progress

Don't Confuse Work with Progress

"Do not confuse motion and progress.
A rocking horse keeps moving but does not make any progress."

― Alfred A. Montapert

Business needs to move forward. We have paying customers and we have those willing to pay when something new is completed. I've been working on designing a framework. It's design is intended to make adding functionality more streamlined. How can I balance these two competing goods?

Make haste for some things

Business needs can often be either urgent, or patient. Making this distinction is important. Some things can wait, and others require haste. I try not to finish things that can wait, if they would be easy. This leaves my present time for doing things that cannot wait and things that require a long time. It's like a pipeline where urgent matters can interrupt less urgent ones, and longer term work takes up the majority of the time spent. It works.

Aligning a framework with a business

To make all this long term (frame)work into progress, I must align it with business needs. Furthermore, I must place the business needs before the framework needs. However, the framework must be designed with the business needs in mind, resulting in a framework suitable for the business.

“Mission matching: an ask that creates synergistic congruence (aka win-win) between missions.”

― Richie Norton, The Power of Starting Something Stupid: How to Crush Fear, Make Dreams Happen, and Live Without Regret

I am aligning the mission of my framework (to reduce boilerplate HTML, routing, and modelling) with the mission of our business (to bring the rights students together with the right Universities.) So, that framework mission will read as "Reducing boilerplate code and style to bring the right students together with the right Universities.) Essentially my purpose as a developer/engineer is becoming more clear and aligned with the business; Yet, it is still distinct and highly technologically defined.

Modelling a Business into a Language

I am essentially creating a language of bringing students and schools together. For my approach (HATEOAS,) that means designing a custom JSON schema that defines the semantic meaning of important business concerns. It also means that I need to design a server and client that can parse and understand that schema. That is what I am working on in the long term.

Short term business needs

In the short term, the business needs Agent log-ins. That can be accomplished within version 2 of my framework (which I am calling hyperion.) So, I am interrupting my long term work with the short term business needs and relying on my contemporary framework to get the job done.