2

Management thinks that it would be lucrative to take over a fairly complex solution from a startup founder. Apparently the client has fired the tech company that had built it due to "poor quality". It is already live but he desperately needs to get a few more features up.

I have asked my lead developer to take a look at the codebase and there's quite a few large components:

  • User facing Android (Java) and iOS (Swift) app
  • Merchant facing Android (Java) app
  • API Backend in Laravel (PHP)
  • User facing website in PHP
  • User and merchant facing admin interface in Laravel (PHP)

According to my lead developer, the code is pretty readable, modular and clean. He does not get what is the issue with the quality of the solution. The apps themselves visually look good and seem to follow standard UI guidelines. He thinks this could be a potential red flag with the client. How can I find out if this is the case?

Furthermore, management has tasked me to come up with a profitable maintenance contract with the client. My developer says that we'll probably need quite a substantial effort to get up to speed with the whole thing. It will be at least a few weeks to get familiarised with the codebase and the business logic before we can even start building new features. We are also not familiar with Laravel which will add to that effort. The client does not have any technical documentation either.

Given all of this, it is seems that it would be a huge risk to take on this project. However, management seems to think that it's easy money. The work is "already done", we just have to do "a bit more" for this client. A team consisting of an Android developer, an iOS developer and PHP developer is being put together to work on it because "that's the technologies that the solution is built with". How do I convince management it's not just about the technologies? If management decides to go ahead with this, how do I price this responsibly?

4

Your OP reads a little bit like you're looking for reasons not to engage in this proposal. I am bringing this up because if I am picking up this tone in your writing--and if I am right in my interpretation--then your management will likely also be picking up on the negativity from a business development point of view and that will inhibit your ability to raise risks in a legitimate, believable way. Raising risks during proposal time already hits against a ton of optimism biases so you need to be viewed as a credible contributor versus a negative boat rocker; else, you'll be dismissed before you even sit down at the table.

Approach this like you would with every proposal. Build up your costs, including time to train and become more acquainted with the code. It might also include hiring new talent. Do a comprehensive risk analysis with this proposal; identify all the risk factors you can find, assess its impact and your exposure to this impact, and build in your costs the mitigating and contingency dollars you need to manage these risks. Add your profit. If the resulting price is too high to win the engagement, then you have a strong indicator that this is a no go proposal. Present your case in an unemotional, logical way.

All that being written, management is ultimately accountable for making this decision. Your role is to make them aware of the risks you see and making a recommendation. If they choose to go, you go.

  • Thanks for the answer. I realised I've taken the side of my developer because he has been very passionate with his arguments. However, I just had a long talk with him to figure out why he is against such a project. It turns out that the development team is tired of doing maintenance projects and they want to build something new. – Jessica Sep 19 '17 at 15:36
0

I would start form risk analysis session. Invite management and developers and obviously take part in it. Ask someone unbiased to run it. I usually use this matrix: https://www.risk-assessments.org/risk-assessment-matrix-3x3.html After an hour meeting you might get quite interesting results!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.