5

I am a sole developer responding to a Request for Quote. The project is significant, and will take me more than 6 months to complete, (if I am the successful bidder).

One of the questions that I need to answer relates to 'knowledge transfer between employees', which is obviously difficult to answer for a sole developer. As a sole developer, how do you help customers understand that the "developer as single point of failure" is no longer such an issue?

Here are some of the points that I will make:

  • I am using mainstream tech choices, such as PHP, Laravel
  • Skills for these are technologies are very common in the marketplace
  • My software architecture follows best practices and uses many OOP design patterns
  • The code is very well documented
  • All project documentation is stored in a Wiki
  • Code is stored in an industry-standard VCS (github), under the control of the customer

Given the above, I think it is reasonable to say that any competent Laravel developer could be working productively on the application within a couple of hours. (Contractual issues aside, of course).

Is there anything else you can add? (I will also present an option where a second developer spends time on the application throughout the 3 year maintenance period, but this will obviously drive the cost up).

4
  • 1
    The "any war stories / success stories appreciated" part is off-topic and could cause a good question to be downvoted. Commented Apr 29, 2017 at 1:24
  • 1
    could also make a good answer an interesting answer
    – Ewan
    Commented Apr 29, 2017 at 1:32
  • 2
    I doubt if your software uses many OOP patterns, it follows best practices (except you are building something like a framework).
    – Doc Brown
    Commented Apr 29, 2017 at 6:12

4 Answers 4

8

I think the other answers, as well as your own suggestions, seem to make some unjustfied assumptions about what kind of answer your customer is expecting. If possible, try to find out what the intend of that question about 'knowledge transfer between employees' really is. Is it asked this way, because

  1. your customer expects a team (and not a solo developer) for this kind of project? Maybe he just wants to avoid a bus factor of 1?

or

  1. he wants to know how you can transfer the knowledge to his people? That is what your suggestions seem to impose - but, why didn't he ask about 'knowledge transfer to him' instead?

or

  1. he has a standard list of questions he always asks for every kind of project contracts, if the question makes sense or not to this individual case?

If you have a chance, try to ask and find out what he expects before you answer. If it is case 1 and a "bus factor > 1" is a hard requirement, it will be hard for you as a solo developer if you are competing against bigger organizations. In fact, I think your statement "the developer as single point of failure is no longer such an issue" very debatable.

In case 2 your suggestions are fine, but you should clarify if your customer is actually interested in getting the knowledge for maintenance for himself.

In case 3, you can probably can give an answer about the size of this project, which in your eyes is small enough to be handled most efficient by a solo developer, and so the question simply does not apply.

1
  • Definitely the best answer, and I'll expand that no matter how good the OP thinks he/she is, the bus factor representative TS a risk to the client. Even if it's easy to find someone who can run with the technology (leaving aside the snarky PHP comment that wants to bubble up), no matter how well done the wiki and commit messages in git are, it is a non-zero impact to the schedule to replace you with someone coming in cold. This is why if I'm asked for 1 FTE, I always negotiate for 2 devs at 50% each.
    – Paul
    Commented Apr 30, 2017 at 21:42
5

One of the options that I have seen used, in addition to the contractual requirements for documentation, standards, etc., is to offer one or more training periods for the customers own staff in maintaining the resulting code base. This is sometimes specified as two prices & lengths, (with prerequisite training or with just aptitude). I have been the one to provide such training on numerous occasions and given that the customers were scattered around the globe it provided interesting breaks from developing and a lot of stamps in my passport.

I have also seen options for periodic or part-time "co-working" on customers site or developers to ensure that the customers own staff, or nominated external resources, are up to speed during the project.

1

Your positive answers are good, I have an additional negative one. What I particularly had to argue with as a lone developer was agencies with multiple people on the payroll making the point that they would be able to provide a replacement quickly, were the developer working for the client to drop out for some reason. As if they were the only source for developers and as if all developers being on their payroll would already know anything about that particular client's project. This is not the case of course and you may want to point that out, that it is a moot point and there is always a small risk of discontinuity.

Still some clients get a comfy feeling from the idea that a bigger entity is behind the effort. And it may be risky to distort that lul with any negative message, you would be the pesky one to pop their bubble. You should bring it to them gently. And do not forget to keep smiling as you go.

0

I've always been able to talk myself out of this one by saying I'll provide the full source code and not to worry.

However, this probably isn't a good solution. I have a feeling that a sales person would love this question from a client as it would enable them to sell a whole ton of extra stuff to the client. Documentation, hand over sessions, support contracts etc etc.

As a developer of course these things feel worthless and annoying, but it might be a good idea to shove those feelings aside and add them to your quote.

A support contract, limited to email question answering with no SLA for example doesn't really commit you to anything you wouldn't do anyway, allays the customers fears and gives you a constant income

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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