Skip to main content

Huge technical debt and small team. How to deal with this

Last post 12:16 am January 13, 2017 by Nicko DeBeer
8 replies
12:08 pm January 8, 2017

We have a large project with an existing user base that we can't loose as its our main financing source.
However the project has no sound engineering base and it grew with a "add-a-mini-feature-here-please" logic over the years.

We managed to get some small funding, some personal investment and keep going.
Now it's obvious to me (as CTO) that this is not enough anymore.

We reached this year the right size for "scrumming" and I immediately involved all developer and management in Agile and SCRUM methodology through external training.

However it's still very clear to me we are too few developers for the project at hand. Maybe, but maybe, with a better engineering the project would be more manageable but we have a lot of external dependencies (third party integrations), a lot of graphical and UX development on which we are not very skilled, lot of testing (mainly UX testing, not easy), no testing automation at all.

Even so, main reason we are struggling is with sales, actual and potential customers are not complaining a lot for bugs or old fashioned graphic.

The spectre of refactoring or rewriting is lingering over us.
New customers must be set up at the same time and wishes for new requests must be fulfilled.

Apart from running away as soon as possible, what would you suggest to me as CTO, now beginner scrum master?
We are trying hard to find more funding, but probably marketing and sales will take a big part (and it would be correct as we almost spent anything for marketing)






01:38 pm January 8, 2017

It sounds like you need to work with marketing and validate an MVP for pivoting to a new architecture or platform. The Lean Startup by Eric Ries is a good source of ideas.


09:32 pm January 8, 2017

If I understand correctly, your company has a Commercial Off the shelf product that has been tailored for several clients. The main focus has been on working on the tailoring and little focus has been given to your Base Commercial product. Your team is small (even smaller in the past).

The Commercial product has now become more or less 'out of fashion' (e.g. Graphics, platform etc) and finding new customers is therefor difficult.

Your existing clients are pressuring for an updated version of their package as well. Your responsibility in it all is to:
1. bring the commercial product up to date.
2. bring every tailored version up to date.
3. get rid of the backlog for the commercial product.
4. get rid of the backlogs for the existing clients
5. be able to tailor the commercial product for any new clients.

Monumental task with a small team strapped for cash...


03:57 am January 9, 2017


I won't recommend to go for a big bang re-architecture approach. I believe the Emergent Architecture concept can work in your case too.

1. Identify what all needs to be re-written
2. Estimate them
3. Work with Marketing, Sales and other departments to share the Cost vs Benefit
4. Prioritize the re-architecture work along with the new features and new customer on-boarding
5. Pick up one small item at a time, preferably an End-To-End piece


04:33 pm January 9, 2017

Hi Marco,
I agree with Ian here, although he hasn't taken a lot of time explaining you the details.

You are undergoing the typical product replacement or transformation challenge which any organization undergoes as sales and marketing does not realize the potential damage the outdated product can cost. It may look working all ok at the moment but is not up to where the market is and soon might not be fit for purpose (look how we are evolved from the world of DOS to Desktop and to Mobile Apps fairly quickly).

You stated, 'actual and potential customers are not complaining a lot for bugs or old fashioned graphic' and they may not until you ask them specifically or they may not even bother complaining, until you realize they already left you.

So the trick is to convince the sponsor how badly the existing product is engineered (might have done years back) and what advantages the new one will bring by transforming to new standards, what's current pace of delivery and what will be the new pace, what flexibility it would offer etc. etc.

Once MVP is agreed, best is to pilot with few selected user-base and key is to get feedback, inspect and adapt the PB. This would also mean, you will have to run both old and new product in parallel for certain time, the situation which you cannot avoid but it will lower down the risks significantly compared to big bang approach.

Initial funding could be only for MVP and Pilot - you can control it by keeping the scope really to MVP as the name suggests.

Let us know how you get on.

Pankaj


09:15 pm January 11, 2017

yes...nice summary of the situation...the point is to estimate in some way this Monumental task...and get funding


09:23 pm January 11, 2017

@Pankaj & @Ian
I like the concept of potential damage and cost, marketing & business will understand it.
I would love to convince the sponsor about how bad is engineered the product because it happens to be true, but ehm I should find another language to express it, since I engineered it myself...
It's not really a matter of pride, context was different, scope was not clear etc, bla bla, it's probably a matter of trust...
I could I tell the CEO that the software he founded for many year is so bad that needs to be rewritten completely and that I would like to do it AGAIN...

But yes the approach you describe seems to me the best one....


04:38 pm January 12, 2017

Yes @Marco, good luck with the right wording. Words like toxic and 'unfit for future' are usual ones used these days. What was done in past was fit for that time.

Cheers


12:16 am January 13, 2017

In a more Marketing Language:

You're running a Hotel and the bathrooms, decor and furniture are outdated. Next door a new Hotel has opened which is modern and is taking a lot of your potential guests.

You decide to renovate. You have the following choices:
1. close the hotel for some time and renovate all rooms. Have a grand opening event after.
2. renovate room by room. Market the new rooms and let new guests stay in the renovated rooms. All new rooms can have slightly different furniture and wallpaper.

It all has to happen with minimal disturbance to the existing guests, some of them are long-term residents...

How would your Marketing division handle this situation...?


















By posting on our forums you are agreeing to our Terms of Use.

Please note that the first and last name from your Scrum.org member profile will be displayed next to any topic or comment you post on the forums. For privacy concerns, we cannot allow you to post email addresses. All user-submitted content on our Forums may be subject to deletion if it is found to be in violation of our Terms of Use. Scrum.org does not endorse user-submitted content or the content of links to any third-party websites.

Terms of Use

Scrum.org may, at its discretion, remove any post that it deems unsuitable for these forums. Unsuitable post content includes, but is not limited to, Scrum.org Professional-level assessment questions and answers, profanity, insults, racism or sexually explicit content. Using our forum as a platform for the marketing and solicitation of products or services is also prohibited. Forum members who post content deemed unsuitable by Scrum.org may have their access revoked at any time, without warning. Scrum.org may, but is not obliged to, monitor submissions.