Practical Ways to Keep Cloud Costs Under Control

Although “keeping cloud costs down” may initially sound like clickbait, the reality behind this topic is actually important and has a genuine impact on businesses. In my experience, cloud expenditures aren’t just about picking the right provider, whether AWS, Azure, etc., but mainly about how a company manages its cloud provisioning and cleanup processes. Here are several practical strategies I’ve found that do help with this:

1. Simplify Deletion as Much as Provisioning

Companies often emphasise rapid and easy provisioning of cloud resources due to immediate demands from teams wanting resources quickly. Unfortunately, deleting resources is usually more complicated because of the perceived risks involved, especially the fear of mistakenly removing something crucial.

To address this:

  • Implement a straightforward deletion process at the same administrative level as provisioning; you can script or develop ways of checking if dependent or downstream resources have been used.
  • Introduce robust referential integrity checks to ensure resources are safe to delete.
  • Provide easy access to clear logs, making it simple to identify inactive or underutilised resources.

2. Enable Easy Resource Resizing

There’s a common misconception that the cloud will automatically handle scaling seamlessly. While autoscaling can indeed work beautifully, it’s not always as straightforward as it sounds, especially when third-party managed services complicate the process. This can lead to operations teams over-provisioning initially to avoid the hassle of scaling later, inadvertently inflating costs.

Therefore:

  • Create processes that simplify scaling resources without cumbersome workflows or downtime.
  • Reduce the complexity and risk associated with resizing, helping operations teams feel confident in provisioning only what’s necessary initially.

3. Ensure Supporting Infrastructure is Cloud-Friendly

A hidden factor often overlooked is how cloud-friendly your supporting infrastructure actually is. Legacy networks, IP addressing schemes, and particularly firewall provisioning processes can significantly slow down cloud agility. If a firewall rule change takes weeks to approve and implement, teams become reluctant to make cost-saving adjustments such as shutting down unused test environments.

Recommended actions:

  • Update your infrastructure and processes to match cloud agility standards, or at least highlight this as a risk and help them get budget to do so.
  • Automate firewall and network provisioning where possible, reducing administrative bottlenecks.

For instance, test and development environments often don’t need to run continuously. By implementing scripts or automation to shut these down when unused, substantial savings can be realised, but only if the supporting infrastructure can accommodate these quick changes, such as keeping firewall routes open when the environments are spun back up with new IP addresses.

4. Align Cost Management with Technical Expertise

Often, the individuals responsible for managing cloud cost reports, like project managers or financial controllers, might not fully understand technical details or which resources represent genuine value or unnecessary overhead.

To mitigate this:

  • Ensure cost breakdown reports are regularly reviewed by technical architects or senior subject matter experts alongside non-technical managers.
  • Facilitate regular discussions between these roles to identify redundant or temporary resources, like those used in proofs of concept, that could be safely decommissioned.

A Technical Person’s Guide to Providing Project Quotes (When You’re Not Ready)

 

One persistent challenge faced by technical professionals in many organisations is the pressure to quickly provide project estimates and quotes before adequate information is available. If you’ve found yourself frustrated by unrealistic timelines and vague project scopes, you’re not alone. so here is a guide to help navigate this common issue effectively.

Why Technical Teams Are Asked for Premature Quotes

Typically, this situation arises from organisational structures where business needs are quickly escalated to IT management, who then require immediate answers. The usual questions from management include:

  • Can this be done?
  • How long will it take?
  • How much will it cost?

Realistically, detailed and accurate answers to these questions can require extensive work: proof of concept development, regulatory checks, and feasibility studies, all of which take considerable time and money. Yet, management and the business often expect preliminary estimates within a very short timeframe.

How to Handle Early Project Estimates

Instead of frustration, here’s how you can approach providing an early, preliminary quote:

1. Use Realistic Assumptions

You will inevitably need to make assumptions. To do this well, aim for assumptions that reflect realistic scenarios. A helpful analogy is the question, “How long does it take to travel to Australia?” Although many variables exist, your immediate reaction should not consider extreme scenarios like walking. Instead, you naturally think about common methods, such as flying, use widely available flight times and costs as your baseline.

2. Clearly Document Your Assumptions and Contingencies

Explicitly document all assumptions and known contingencies. For instance:

  • Clearly state if the quote assumes completion only up to a specific milestone (e.g., arriving at an airport versus a specific city or location).
  • Highlight known potential blockers such as regulatory or security restrictions.
  • This approach helps manage expectations and protect against future misunderstandings.

3. Provide a Reasonable Margin of Error

Include explicit language that highlights the preliminary nature of your estimate. Use clear, standardised statements like:

  • “This estimate has a potential variance of up to ±20%.”
  • “Final quotation requires a proof-of-concept phase of approximately two months.”
  • “Security approvals and regulatory checks may significantly impact timelines.”

If you find these notes are frequently removed from presentations by management, formally document these conditions elsewhere (e.g., in emails or follow-up notes).

Common Pitfalls to Avoid

Avoid Extreme Responses

Resist giving overly pessimistic or overly optimistic quotes, as both extremes tend to be ignored or cause pushback from management. Instead, offer balanced, evidence-based estimates.

Don’t Delegate Estimates to the Most Optimistic Team Member

While it’s tempting to delegate unpleasant tasks like estimation to the most helpful person on your team, this often results in overly optimistic estimates. It’s better to have slightly sceptical or more conservative team members lead estimate preparation to ensure realism and accuracy.

Handling Negotiation and Scope Creep

Be prepared for negotiation. Management teams naturally approach quotes as negotiable, even when your technical estimate is realistically calculated without any intentional padding. Counteract potential scope creep or budget reductions by clearly outlining consequences, such as failing compliance or security standards if corners are cut.

Final Thoughts

Early quoting isn’t ideal, but with thoughtful handling, you can provide meaningful preliminary estimates that guide decision-making effectively. Clearly articulated assumptions, contingencies, and evidence-based reasoning can position you as both helpful and realistic, qualities that reinforce your credibility. This means that when inevitable changes need to be made to quotes further on, people are more likely to assume they are reasonable needs.

Corporate term: “Watermelon project”

Definition:

A “watermelon project” is a term used to describe a project that appears healthy and trouble-free on the surface, signified as “green” in project management status reports, but internally is experiencing significant issues, symbolised by “red.”

Explanation:

In many corporations, especially large ones with numerous simultaneous projects, stakeholders and senior managers often rely on simple visual indicators to understand project status. Projects marked “green” typically receive minimal attention, as they signal smooth operation and successful progression.

Conversely, projects marked “red” or “amber” immediately attract scrutiny, potentially triggering managerial interventions and escalations.

Because of this, project managers might intentionally represent their project’s status as green to avoid negative attention or perceptions of incompetence, even if substantial internal issues exist. This leads to the creation of a watermelon project, green externally but problematic internally.

This phenomenon highlights a significant flaw in simplistic project tracking methods and emphasises the need for deeper, more transparent project health evaluations rather than relying solely on surface-level colour codes, as well as removing the shame associated with letting your project move out of “green”.

Disclaimer: As always these posts are not aimed at anyone client or employer and are just my personal observations over a lifetime of dealing with both management and frontline associates.

 

The Three Year Cycle of Tech Debt

 

I’ll admit upfront, this post carries a slightly cynical tone, but it’s grounded firmly in experience. I’ve observed what I call the “Three-Year Cycle of Tech Debt” happening at nearly every major corporate IT organisation I’ve worked at.

What exactly do I mean by this?

In corporate IT, tech debt accumulates primarily due to the incentives and pressures placed on project managers. A project manager’s core objective is simple: deliver assigned projects on time, every time. Their evaluations, career progression, and even jobs/contracts hinge solely on timely project completion, not on long-term system sustainability.

Given these incentives, project managers naturally prioritise immediate results over future maintainability or standards. Consequently, they regularly make compromises, accompanied by familiar justifications such as: “We’ll fix that later,” or “Let’s deploy it now, and we’ll address the issues retroactively.”

But, we all know these promised future fixes rarely materialise. The reason? The subsequent projects, managed by yet another PM under the same constraints, face identical pressures. Thus, the can gets kicked even further down the road.
This process continues unchecked until a significant breakdown or catastrophic system failure forces everyone to finally confront the accumulated technical debt.

Interestingly, there’s often an organisational rhythm to this process, tied closely to executive turnover. High-level tech executives, CTOs or equivalent leaders, frequently rotate about every three years, moving onwards to new opportunities or being recruited to resolve major issues elsewhere.

With each new leader comes fresh motivation and the desire to make a visible impact. Newly appointed executives naturally shine a spotlight on previous inefficiencies or mismanagement. It’s the ideal moment to surface and tackle the accumulated tech debt.

At this time, you’ll often hear cry’s of, “This infrastructure is unacceptable,” or “These issues should’ve been resolved long ago.” Subsequently, radical overhauls and aggressive debt reduction initiatives ensue, reshaping systems “root and branch.”
Yet, deep down, everyone in the organisation seems to understand and implicitly accept this pattern. People grow accustomed to tolerating significant levels of tech debt, comforted by the expectation that sooner or later, the cycle will reset itself with the next executive shuffle.

I still, after 25 years doing this sort of thing, have no idea why people behave like this. Perhaps it’s the relentless focus on short-term outcomes or the cultural insistence that project timelines must never be compromised. Whatever the underlying reasons, the three-year cycle of tech debt is undeniably real and you will find it all over the place.

Recognising this cycle is all fine and everything, but addressing it requires genuine organisational change, aligning incentives not just with immediate results but with sustainable, long-term success, and you as a contractor are not going to be able to do that.

But what you can do, is properly document the true solution as well as a suggested method of getting from the current short term situation to the proper intended solution so that the people that come after you know you did not deliberately leave them with issues and you have helped them as best as you can.

Getting Agile Project Management to work with Fixed Price Goal Based Contracts

 

The integration of goal-based or outcome-driven contracts with agile project management methodologies has become increasingly common, particularly in interactions between large corporations and their vendors.

While this trend may seem like a recent innovation, it’s just a new iteration of a long-standing challenge: balancing flexibility in doing a project (dealing with scope creep, fixing crises, and the like) with the financial certainty that fixed-price contracts provide.

The shift toward goal-based contracts (essentially fixed-price agreements under a new guise ) is primarily finance-driven. The reasons are clear: corporations aim to minimise scope creep and cost overruns.

As project managers, our role involves accommodating these financial constraints while delivering successful outcomes. However, agile methodologies, now the default expectation within many organisations, inherently conflicts with fixed-price agreements (which are better fit to the waterfall methodology).

So how do we reconcile these two seemingly incompatible requirements?

I have found several practical ways to make this work (rather than just saying “Use scaled agile framework (SAFe)” or some other boring reply):

1. Clearly Defined Initial Cost Boundaries
Initially, costs must be explicitly fixed. This non-negotiable stance appeases finance departments, preventing early-stage roadblocks. While we know additional costs might arise later, establishing a firm baseline from the outset is crucial. Once you have got the project started, you can get ready to handle extra costs with separate statement of work agreements, but managers and such can get on with these while real people get on with delivery.

2. Shifting Goal Definitions
A potential (though problematic) solution involves redefining goals as effort-based rather than strictly scope-based, that is, hire a vendor for a defined period of time with a certain number of people to do the job. Although appealing due to its simplicity, this approach may lead to compliance risks (e.g., IR35 concerns 1 ), particularly for smaller vendors, and can diminish vendor motivation as they know they will not be held to account for anything.

3. Breakdown deliveries into Smaller, Goal-Based Items
Another viable approach is segmenting the statement of work into smaller, individually priced items. This method simplifies justification of outcome and billing but can also result in significant administrative overhead and ongoing negotiations.

4. Categorizing Goals by Priority
A beneficial strategy involves dividing goals into mandatory and optional categories. Mandatory goals must be completed first, while optional goals can be adjusted or omitted to accommodate scope creep or unforeseen issues without compromising the fixed-price arrangement.

5. Internal Readiness and Client-Side Accountability
Implementing an internal readiness firewall can protect vendors from being unfairly penalised for client side delays or process inefficiencies. Clearly defined client-side responsibilities and associated SLAs ensure transparency and accountability.
Including explicit provisions for what occurs financially if these SLAs are breached helps maintain fairness.

6. Pre-Approved Contingency (Positive Change Budget)
Creating a “white-listed change budget” of approximately 5-20% of the total cost serves as positive contingency. Unlike traditional contingency funds viewed negatively, this budget is openly acknowledged, pre-approved, and requires minimal paperwork, making it much, much easier and less “finger pointy” to roll with a cost overrun.

7. Streamlined Escalation Pathways
Setting up non-confrontational, rapid escalation channels reduces friction. Both vendor and client teams should have clearly defined pathways for quickly addressing blockers without resorting to finger-pointing or aggressive tactics; this lets you behave far more in an agile way but within a waterfall-style contract.

8. Positive Incentives Rather than Penalties
Contracts should ideally balance penalties with positive incentives, rewarding early deliveries, high test pass rates, and other performance-enhancing milestones. This approach helps collaboration and productivity rather than defensiveness.

9. Separate Internal and External Retrospectives
Conducting internal retrospectives independently from vendor-involved sprint retrospectives can significantly reduce vendor frustration at fixing someone else’s issues while on a tight timeline and enhance internal process improvements. It allows teams to critically evaluate and address internal inefficiencies without placing undue burden on external partners.

10. Be Transparent
Finally, treating a Statement of Work (SoW) as an “outer fence” while operating internally through agile backlog management, fixed team capacities, and friendly releases helps prevent defensiveness, promoting clear, blame-free visibility of progress.

  1. This is a form of UK-based disguised employee legislation []