behavior strategy

Mastering Project Prioritization: The Art of Selling Your Projects for Success

Prioritizing projects is crucial for any business but can often be complex and overwhelming. 

As a leader, you must decide which projects to focus on first while balancing your team’s time and resources. 

However, framing your projects as a sale makes this process much easier and more effective.

Think of your project as a home theater setup. 

You want the best possible setup, but it’s also expensive. So, you start by buying the easy wins, such as lamps and accent lighting, before moving on to more important items as they go on sale, such as the TV and speakers. 

This approach allows you to maximize value while minimizing costs.

In software development, this translates to breaking down your project into smaller deliverables of value. 

You prioritize high-value/low-effort opportunities to deliver user value constantly and keep an eye out for sections of your project that go on sale – those high-value/low-effort opportunities that can increase value to your users. 

Doing this allows you to maximize the value delivered to your users and prioritize effectively.

Here are some tips to help you prioritize your projects like a sale:

  1. Break down your project into smaller deliverables of value.
  2. Prioritize high-value/low-effort opportunities to deliver user value constantly.
  3. Keep an eye out for sections of your project that go on sale — those high-value/low-effort opportunities that can increase value to your users.

This approach ensures that your team constantly works on the most critical projects and delivers the most value to your users. 

It’s important to remember that only some things will go on sale, so it’s also essential to be flexible and adaptable as you go along.

In summary, prioritizing projects like a sale allows you to maximize the value delivered to your users while balancing your team’s time and resources. 

strategy Team building

The Rewards of Stepping Outside Your Comfort Zone: How to Encourage Your Team to Try Something New

As a software engineer, it’s easy to get comfortable with the tools and processes that we use daily.

We know them inside and out, and they help us get our work done efficiently.

However, it’s important to remember that there is always room for improvement and that stepping outside our comfort zones can lead to significant rewards.

In this blog, we’ll discuss the benefits of trying new things, how to overcome the fear of change, and how to encourage your team to step outside of their comfort zones.

The benefits of trying new things

Trying new processes can lead to increased efficiency and productivity.

For example, adopting a new tool or framework might take some time to learn, but it could ultimately save your team a significant amount of time in the long run.

Additionally, learning new skills keeps us competitive and helps us stay up-to-date with the latest technologies.

It’s also important to stay open to change and be willing to adapt.

The world of software engineering is constantly evolving, and those who are open to new ideas and approaches are more likely to succeed.

Overcoming the fear of change

We know that change can be intimidating, especially when we’re used to doing things a certain way.

However, we can overcome this fear and embrace new processes.

One way to do this is to break the process down into smaller steps.

This can help make the transition feel more manageable and less overwhelming.

It’s also helpful to find a support system, whether a colleague or a mentor, to help you through the process.

Finally, it’s essential to focus on the potential rewards of trying something new.

Think about how the new process will benefit you and your team in the long run.

Encouraging your team to step outside their comfort zone

As a leader, it’s essential to lead by example and be willing to try new things yourself.

This sets a good precedent for your team and shows them that embracing change is ok.

Encourage open communication and encourage team members to share their ideas and concerns.

This creates a culture of innovation and encourages people to think outside the box.

Additionally, offer support and resources to help team members feel more comfortable trying new things.

This might include training sessions or additional support during the transition period.


Hopefully, after reading this far, you are more inclined to try something new to enhance your engineering journey.

It creates a culture of innovation, keeps us competitive, and can be exciting.

strategy Team building

Maximizing Domain Impact through Team Design

Domain-driven design is a software development approach emphasizing the importance of understanding the business domain to design effective software solutions.

At the heart of this approach is the idea that software development should be driven by the needs and constraints of the business domain, rather than being driven purely by technical considerations.

Understand the business

One key aspect of domain-driven design is the use of domains to structure the design of a software system.

A domain is a specific area of knowledge or expertise, such as customer management or inventory management.

By starting with a clear understanding of the business domains that a software system will need to support, it becomes much easier to design software components that are well-suited to the needs of the business.

Software components supporting the domain

Once the domains have been identified and understood, the next step is to move down to the level of software components.

These are the individual pieces of software that make up the system and should be designed to reduce the cognitive load on the team.

Each component should be designed to be as self-contained and easy to understand as possible, so that team members can focus on their areas of expertise without being bogged down by complex dependencies or unfamiliar concepts.

Team topologies

When designing a team, there are a few different topologies to consider.

One option is the stream-aligned team, which is focused on a specific business domain or set of related domains.

This can be a good choice when the business domain is relatively simple, and there is a precise alignment between the business goals and the software requirements.

Another option is the platform team, which is focused on building reusable software components that can be shared across multiple business domains.

This can be a good choice when the business has a wide range of domains that need to be supported and when there are significant opportunities for reuse and code sharing.

Finally, there are complicated subsystem teams focused on building large, complex software systems made up of many interconnected components.

This can be a good choice when the business has complex requirements requiring a highly specialized team to implement.

Overall, the key to success with domain-driven team design is to start by understanding the business domains the software will need to support and then design software components and teams that are well-suited to these domains.

By doing so, it is possible to build software systems that are effective, maintainable, and easy to understand, which can help to reduce the cognitive load on the team and improve overall team productivity

strategy Technical Debt

How to drive your initiative forward as an engineer

This post will show you how to move your tech idea from idea to execution.

As an engineer, you will surface work that is needed but difficult to explain to non technical stakeholders.

Without authority, you will learn how to influence others and surface the importance of your initiative so that you can move forward with its execution.

Unfortunately, doing so requires changing how you communicate and stepping out of the technology realm and into the business realm.

A change not many engineers are comfortable making.

The business realm is full of ambiguity

Unlike engineering, where we can model uncertainty and default to established patterns to solve problems, business is full of ambiguity and uncertainty.

Making the switch a daunting task for a lot of engineers

Here are other reasons engineers find difficulties driving their initiates forward

  • Finding advocates to support your idea
  • Tech-centric messaging that caters to engineers
  • Unable to articulate how it solves a business problem
  • Lack of alignment with the current strategy

Fear not, you are here to learn, and I am about to show you how to drive your initiative forward successfully

Here’s how step by step:

Step 1: start with a user problem

No initiative survives the smell test unless it can solve a customer pain point.

Time and time again engineers come to me with enhancement ideas to solve scalability concerns such as the need to increase the DB size, or maintainability and quality issues solved by increasing test coverage.

From an engineering perspective, these ideas always make sense.

But the major concern we run into when trying to move forward is priority.

Your idea needs to stack up against current initiatives, your peers’ projects, bugs, the latest exec idea, incidents, and a vast range of other work competing for your team’s time and attention.

However, adding value to our users is always a winning proposition and something anyone in the company can understand.

To introduce a scaling initiative, you could start with a user problem such as “our users lost trust in our system”

followed by some backing data like “our incidents have increased twofold compared to last quarter”

Next, tie the data to the engineering problem you want to solve “a large percentage of these incidents showed that scaling our infrastructure could have prevented them”

Step 2: Gain advocates early!

Many engineers jump straight to presenting their ideas to a decision maker.

The failure is the lack of peer validation.

Decision makers will often rely on validation from others that the idea is sound and adds value to our users.

This is because they have to place many ideas into perspective, compare them against each other, decide, and defend their decision by demonstrating they went through a good decision-making process.

To increase the chances your initiative goes through, present your idea to your team mates, and others in the organization willing to listen.

This is an excellent opportunity to get early feedback by asking if the problem statement resonates, if the message is clear, or if the pitch triggers any defensiveness.

Dig deep and change your messaging as you gain more feedback.

The excellent benefit of involving others early is that they usually tend to become your backers.

They have been involved early in your process and, through the back and forth with you, now have a lot of context on the problem you are solving and how your proposal will achieve the goal.

Step 3: Find alignment to the current strategy

By now, you are talking about solving a user problem and have advocates with the knowledge and willingness to vouch for your idea.

Typically, this is enough to get buy-in from your team, but there might be cases where your pitch doesn’t neatly align with a larger company initiative.

This is where you talk about how helping our users also increases revenue, reduces churn, helps with expansion, or increases our ability to introduce new products.

Reach out to marketing, product, design, engineering leadership, and other areas with high visibility into planning with questions about the current direction, stated goals, and the strategy to get there.

With this new set of information, you are now ready to turn your tech initiative into solving a user problem, with backing from your peers and alignment with the company’s strategy.

Alignment icons created by Eucalyp – Flaticon

strategy Time management

Working in multiple time zones

Recently, the subject of teams working across time zones has come up in three separate conversations, so it makes for an excellent topic to write about.

Here are a few guidelines I’ve seen applied successfully that will help work across time zones a bit easier on your team.

Default to public conversations in chat

Doing so allows the people to chime in, even when they are not the intended recipient. 

It also makes it easy to get caught up on what happened while you were out, including essential decisions or ongoing conversations.

By the way, on the subject of ongoing conversations, be explicit about leaving a buffer time for other time zones to participate in the discussion rather than closing the thread 🧵 as soon as you get consensus among the people in your time zone.

Question the need to have a meeting

Meetings are an essential aspect of our work, but questioning if you should meet becomes crucial with multiple time zones.

Here are some ways to move a meeting asynchronous

  • Status meetings turn into status updates to a dedicated chat or page.
  • Decision-making meetings turn into collaborative documents following RACI/DACI format.
  • Problem-solving meetings turn into collaborative documents following a problem-solving framework such as ADR (architecture design review)
  • Information sharing meetings can become a pre-recorded video shared repeatedly to the team or organization, with a dedicated communication space for discussion. 
  • Brainstorming sessions become a multi-step asynchronous process to generate ideas first, set success criteria second, and filter ideas through the last success criteria.

Record meetings

At some point, a meeting is inevitable. We thrive in social environments and engaging with each other; meetings are as close as we get to that experience while working remotely.

But working in different time zones makes it difficult to get everyone to participate.

To be inclusive of others and disseminate information accordingly, record the meeting and share the recording with those not in attendance.

Extra points if the meeting recording is shared in your public chat messages for even more exposure to the information 

Take notes during meetings

While recording a meeting is great, the content is usually not searchable.

This is where taking notes becomes more critical.

Doing so allows for the information to be searchable, easy to share and provides consumption options for those that prefer reading over audiovisuals.

Be inclusive of time zones

To include people working in different time zones than your own, try to find a time between the participants.

When finding an overlap isn’t possible, consider having the same meeting in multiple time zones.

Empower and trust

A big complaint of new organizations distributing work across many time zones is the wait times needed for decisions and discussions to move forward.

I already spoke about some asynchronous ways to get to a consensus and make decisions, but the easiest way to unstuck someone is to make sure they are empowered and trusted to make decisions.

To do so, we will need laid out processes and an evident sense of direction. 

When people know the goal, they can figure out their way within the existing constraints.

Time zone icons created by Freepik – Flaticon


Critical thinking — five why’s to the rescue

Have you been asked to create a report? Did you make a report? Did you stop and ask why the report is needed? What is the information that this report is trying to answer?

When thinking critically, we need to distinguish between causes vs. consequences.

In our report example, the requester might be looking for answers to a consequence rather than a cause.

If we solve mainly for consequences, other consequences are likely to show up, and we’ll inevitably continue down a cycle of process improvements that mask the real problem.

One tool to help you think critically and help you surface causes is the five why’s.

Imagine the report was about the number of people leaving a group within the last six months.

You have the info and can have the report ready in minutes, but if you asked, “why is this report helpful?” You might uncover that they were looking to determine the reasons for their departures to gauge if we have leadership, process, or compensation problem.

Asking why already uncovered deeper needs, getting you closer to a root cause.

You can continue asking why until you have surfaced the root cause.

Your report can be more practical and help fix the cause rather than the symptoms.

management strategy

Change management – taming the rumor mill

The rumor mill is hard to contain and impossible to stop.

After all, people are curious, and when they know change is coming, they want to know a few things

  • How am I affected?
  • When is it happening?
  • Is it good or bad?
  • How are those around me affected?
  • Who do I go to with questions?

As leaders, our reports will expect us to answer these questions and more.

To better serve them, get a document started, have a meeting, or go to a Cafe with your peers and figure out as much information about the change.

Consider main themes such as 

  • Reporting structure
  • Process
  • Direction
  • Compensation
  • Timelines
  • Documentations
  • Reasoning
  • Decision-makers

Next, consider the communication preferences and must-haves to disseminate the information, such as

  • Legal requirements
  • Communication channels — think meetings, documents, presentations, videos, phone calls
  • Timing on communication 
  • Chain of responsibility for communication

By now, you should have a proper change management plan to execute on and hopefully slow down the rumors from presenting an inaccurate future.

Icons made by Eucalyp from www.flaticon.com


Thinking strategically

Stay up to date on what is happening around you

Thinking strategically means having a more comprehensive view of what is happening within your company and industry.

Not only do you need to understand the vision and direction for your area, but you need to go above and beyond what you’re required to understand and learn the broader scope of where the company is going.

To make this easier on you, it is beneficial to block some time weekly or daily to read up on what is happening around your company, your industry, and your competition. 

Make it a point to attend conferences, sign up for trade publications, and connect with external contacts.

Introduce a habit of writing up ideas

Gaining a broader scope of your industry, your company, and your company’s direction leads to getting your ideas in front of others.

One proven technique to get started with this is to introduce a habit of writing up your ideas.

The goal isn’t to write the perfect idea or direction but rather to write consistently, Regardless of how good or bad you think your ideas are, consistency is the key.

Once you get into the habit of writing out your ideas, you can start sharing them, talking about them, bringing them up in meetings, and eventually owning the execution of one of your ideas.

After some time, others will notice that you’re thinking outside the box.

You will constantly bring up ideas instead of just providing opinions on ideas from others.

You will influence others towards your line of thinking, and this gets easier since you have the industry insights to guide your direction.

You will lead new initiatives, and see their impact on the company.

In other words, you will be thinking strategically.

Icons made by Freepik from www.flaticon.com