The Art of Under Promising and Over Delivering: Delivering Your Best Work

Photo by Greg Rakozy on Unsplash

Photo by Greg Rakozy on Unsplash

My name is Greg and I am a professional software engineer. Being a professional means not only are you good with what you do but you are consistently delivering high-quality work. Over the years, the art of under promising and over delivering has helped me to ensure that I consistently deliver my best work.

As a software engineer, delivering high-quality work is essential to success. In a fast-paced, high-growth industry, it can be tempting to over-promise in order to impress clients, stakeholders, or team members. However, I’ve come to find that under promising (setting realistic expectations) and over delivering (going above and beyond) have paved the way for me to have a more sustainable success in the long term. So, how does the art of under promising and over delivering actually help you and how do you go about it?

Under Promising — Setting Realistic Expectations

I like to call this part, setting yourself up for success.

The first step to under promising and over delivering is to set realistic expectations. It’s important to understand the requirements of a project or task, as well as the resources and timeline available to complete it. Communicating these limitations clearly to stakeholders can help manage their expectations and prevent disappointment later on.

Under promising does not mean bloating your estimates or short-changing your client. Understandably though it can feel that way if not communicated properly. Adding buffer to your estimates to account for unknowns or risks or even unexpected ad-hoc tasks is often times not considered in the table. It is a professionals’ job to identify these and bring these up in the conversion or planning session.

As a software engineer, I’ve found that asking the right questions is key to understanding project requirements and setting realistic expectations. This includes identifying unknowns, assessing risks, and understanding project complexity. By doing so, I can provide a more accurate estimate of the time and effort required to complete a project or a ticket.

😰 Now if you find yourself a breaking a sweat, or a bit un-nerved or anxious, reading this first part, you are not alone and I fully understand. Just know that it is part of the process. Once you have established trust and a good reputation, this will feel more natural, so hang in there. 😃

Over Delivering — Going Above and Beyond

Once expectations have been set, it’s time to focus on over delivering. This means exceeding the expectations of stakeholders by delivering higher-quality work than they anticipated.

In my experience, over delivering often involves taking a proactive approach to problem-solving. For example, I may identify potential issues early on and address them before they become bigger problems. I may also suggest additional features or improvements to the project that the stakeholders had not considered. By doing so, I’m able to provide more value to the project and make it even more successful. 🚀

These things are only possible though if you have done the first part correctly. Having the bandwidth to step-back and look at the bigger picture gives you the opportunity to go beyond what is expected.

The Benefits of Under Promising and Over Delivering

Under promising and over delivering has several benefits for software engineers.

First, it helps build trust and credibility with stakeholders. By consistently exceeding expectations, stakeholders are more likely to trust my judgment and rely on me for future projects.

Second, it helps to manage stress and prevent burnout. By setting realistic expectations, I’m able to work more efficiently and avoid overworking or taking on too much at once.

Finally, it can lead to career growth and advancement. As a software engineer, delivering high-quality work and exceeding expectations can lead to more opportunities for leadership and management roles.

Conclusion

In summary, under promising and over delivering is a valuable approach for software engineers. By setting realistic expectations and exceeding them, software engineers can build trust, manage stress, and achieve success in the long term. As a software engineer, I’ve found that taking this approach has helped me to deliver the best work possible and build a successful career.