Monolith to Modular .NET

Are you struggling to maintain and extend a .NET application that has 500K+ lines of code?

Learn More

Learn how to make your application faster and easier to update

Subscribe to learn tips and tricks for updating an existing large system so it is easier to manage and update. Learn to how to add unit tests to existing code, no matter what the condition, to improve quality and security.

If you are managing or developing a large legacy project, do these problems keep you up at night?

  • Your team is big enough but you can’t keep up with the feature requests
  • Velocity is lower than it should be, but individual story estimates seem appropriate
  • Features built in one place introduce bugs somewhere else
  • Sprint planning takes a long time due to all the special cases that must be considered for each task
  • You want the advantages of Domain Driven Design, but don’t know how to get there
  • If you could deliver new features as Microservices, you would cut delivery time in half
  • No time for unit testing right now – we’ll start “next sprint”
  • People on your team are dedicated specifically to handling fires
  • The QA process takes forever because there are so many paths to test

Imagine releasing features quickly, easily, and safely

Imagine getting more productivity out of your existing team. The number of bug reports is going down, while velocity is going up. Feature requests get through Dev, QA, and back out to the customer faster than ever.

You CAN shed your dependency on those few super-hero developers on the team. You CAN start doing the unit testing you know you should be. You DON’T HAVE to be afraid of the final merge into the master branch.

Your team can do it,
they just need a plan

How your Technology Reengineering Plan will work

What will my Technology
Reengineer Plan contain?

Your team can do it,
they just need a plan

You know your team is good, but their hands are tied by the difficult state of your technology. You’d love to start from scratch, but you know there is too much value in your current code to throw away, and you couldn’t put the app in maintenance mode for 2 years anyway.

What you need is someone to come in and give specific, detailed, technical recommendations on how you can fix what you have while still delivering on feature requests. You need someone who can dig into the code as well as the development process to fix the problems and get your talented but technically hog-tied team back on track. Someone who is focused on delivering real business ROI. Your team can fulfill their potential – they just need a guiding hand.

  • Detailed recommendations on which technical problems you should fix, broken up into Fix Now, Fix Next, and Fix Later
  • Sprint-ready task descriptions so you can get your team to work immediately
  • Specific tasks that are self-contained so they can be introduced into normal sprints alongside standard feature requests. The amount of time spent on fixing vs. features can vary from one sprint to the next.
  • A process plan with milestones and an estimated timeline to inject up-to-date quality and structural standards into your legacy codebase.

How your Technology Reengineering Plan will work

Here’s how it works…

First, I arrive on your site for a week of in-person meetings and code reviews. I will attend sprint planning, scrum meetings, and Business Analyst meetings. I will sit with your developers to understand the hidden problems in the code, and meet with management to determine the business goals for the system.

After an intense week of meetings and code review, I take 2-3 weeks to do follow-up phone meetings and write up the results.

The process culminates in a meeting with management and tech leads to discuss what the technical challenges in the system are, and how they can be addressed. You get a step by step plan on how the code must be enhanced, examples of how to make the changes, and an estimated timetable on how long each part should take. I lay out the roadmap for specific tasks that should be done immediately, soon, and later.

What will my Technology
Reengineer Plan contain?

The document will be specific to your codebase, team, and devel­opment process. Past engagements have included:

Training Modules:

  • How to introduce Dependency Injection in an existing codebase
  • How to add the first Service (Logger)
  • How to Refactor to a Data Access Layer and Repositories
  • How to refactor for unit tests
  • How to use Mocking in Unit Tests
  • How to break apart Data Object classes


  • Database access problems and how to solve themt
  • How to migrate off of expensive data stores like MS Sql, onto
    equally capable but less expensive open source alternatives
  • How to break tight coupling
  • How to migrate to AWS or Azure to decrease costs
  • How to introduce unit tests
  • What Mocking is and why it’s powerful
  • Specific development tools that will put hours back into your
    developers day
  • How to organize the classes and projects for optimum usability
  • What security problems exist and how to solve them
  • When to use threading and when not to
  • How to update your API so it can easily change with technology
  • How to convert legacy code to use APIs to advantage
  • How to adapt old technology, like ASP Classic, to use new
    techniques normally reserved for other applications
  • How to safely integrate open source software so you can reduce
    the work your team must do

Programming Patterns:

  • Successful Project Structures for Domain Driven Design Applications

Dev Process:

  • Successful Branching strategies using GIT
  • Lifecycle of a Git Branch
  • How to implement Continuous Integration
  • Organizing Checkins for a large team

It may also talk about the development processes

  • How to get more productivity out of the team
  • How to improve the stories so developers can get down to coding
  • How Business Analysts should write requirements
  • How to improve quality by introducing a build server
  • What is the goal of a code review, and how do we get the most
    out of one?

Ready to get started?

The price for my Technical Reengineering Plan is $19,500, but I won’t take your money until I’m certain that we’re a good fit. Book a 15 minute consultation, and I’d be happy to answer any questions about the TRP, .NET, dev processes, and so on.

Book Your Call Now

My “No Pressure” Guarantee

This isn’t a sales call.
It’ll be just you and I chatting about your application.

Book Your Call Now

Social Proof

I led the official .NET dev group in San Francisco and San Jose for 3 years

Still have Questions?

No, just .NET. In this day of technology, one must decide to be familiar with a lot of languages or an expert in one. I started with .NET when it first came out and have focused on it ever since.

Yes, I can help with websites, web projects, APIs, Windows Applications, or anything else supported by Visual Studio. Note that I specialize in sites that contain a combination of ASP Classic, Webforms, and/or MVC.

Yes, a key part of the process is allowing me to inspect the code with analysis tools, and by hand. For that, I need to be able to build and run the application at my office.

There’s no need to be nervous. All information you share with me is kept in the strictest confidence. I’ve been consulting with companies for over a 30 years. If I had loose lips, I’d have gone out business years ago. I would also be glad to sign an NDA along with a signed proposal.

Yes, once engaged, I will be glad to sign an NDA before seeing or receiving any private information. For the initial call, however, it makes little sense to get lawyers involved.

The full review is $19,500. That includes

  • a full code review
  • all travel expenses to be onsite at your office for 5 days
  • all time for follow up meetings
  • Time to write of the document
  • The final document review meeting.

If you want to fastrack the improvements detailed in your plan, or think your team will need help implementing the changes, I have a team coaching program that could be right for you. Call me and we can discuss the details.

Still have questions? No problem! Please shoot me an email at

My Story

Hi, I’m Brad Irby. Since I began my career in Software Development 30 years ago, nearly every project I’ve worked on has been with existing code, not building from scratch. In working with companies like General Electric, Wells Fargo,and Bank of America, I have learned how to work with large legacy systems, and bring them up to date by injecting current development techniques into existing code. In fact I’ve done it so often, Addison Wesley ask me to write a book about it.

Learn More


Big Nerd Ranch Alexa Training in Visual Studio - Part 3

Automated Testing for Brownfield Software

Greenfield and Brownfield Application Development

Installing Spring Tool Suite into Eclipse

DDD is not Architecture

Should a Repository Log Exceptions

Testing EDA is Less Expensive than you Think

Migrating a Legacy System to CQRS

Logger Injection vs Static Logging