9

The long and short of things is that my manager has me working on a project that has the most limited time scale I've ever seen. The timeline was given by the client, not determined by the project.

He wants a full fledged enterprise level app in just under 3 months that can host 10k plus users. I am the only dev working on it and although I've approached my manager about needing help he hasn't been receptive. I've gone over with him several times that I don't believe I will be able to make the deadline and his response to this has been to cut every possible corner I can. I have written 0 tests and much of, if not most of, any user input isn't undergoing any validation. I'm honestly writing code so quickly that I don't have a lot of time to think about architecture either.

He has stated that the company we are building the program for has a demo scheduled with their board of directors and that the deadline absolutely can't be extended and must be met. I'm incredibly nervous that I'm writing code which is introducing long term bugs that will be hard to track down and fix. To say this is putting a lot of worry on my place in the company is understating it.

I've read a lot of questions about how missing deadlines is very common in the software industry and I wondered how other devs go about preparing someone senior to them for that news without getting fired themselves, especially if that person isn't a technical person?

  • sorry to hear that Jeff. So, you have managed to finish all the given tasks/tickets, but still say that the system requires debugging before being completely usable? – DarkCygnus Jun 25 '18 at 20:49
11

Make the worry your manager's, not yours.

"The timeline was given by the client, not determined by the project" is utter tripe. You (or, more accurately, the company you work for) agreed to that deadline - so make sure it's not you personally that takes the fall for such a ridiculous requirement.

Cover your behind, do so in writing, and certainly don't accept "just cut all the corners that you can" as a reasonable basis to work from. At the moment, lines like this:

He has stated that the company we are building the program for has a demo scheduled with their board of directors and that the deadline absolutely can't be extended and must be met.

...are making the problem your issue. Push it back on him, but specifically state what you can and can't do (rather than just saying "I can't do it, it's too much work.") Instead, something like:

I've drawn out a timeline, and believe I can cover x functionality in the number of hours we have available; but it certainly won't be tested thoroughly and won't scale to any more than a handful of users. Alternatively, I can cover (subset of x) and have it much more thoroughly tested and production ready. Which would you like?

If your boss still says "I'm afraid we need it all done", then just state something akin to:

I'm afraid I simply can't get that done given the timescale. I'd be happy to work with more developers / testers to make better progress, or take any advice on board in terms of dropping additional functionality.

If it still goes on like this, then be prepared to share any timelines or breakdowns of estimates you've come up with, and ask specifically for a revised timeline. Keep the email chain going until you feel you have enough of a paper trail behind you so that if the whole thing blows up, you can squarely and solidly CYA.

3

The key here is constant exchange of information and constant progress updates to the manager - if necessary updates every day on current progress and also updates every time you finish a task and start another.

Do you have a dedicated tester? If not, get him do the testing - tell him best practice is that the developer does not test their own work. At the very least, this will keep him abreast of current progress and he will actually see with his own eyes what is working and what isn't. If necessary, you can spin this to him as allowing him to be familiar with all facets of the application prior to him demoing it to the customer.

When requests for new features come in, you need to sit down with him and go through what you can do. Tell him how much time it will take and you ask him what priority each feature has and what features should be delayed to accomplish the change.

0

If you work in this field long enough you will run into these situations. One book that discusses this is "Death March" by Edward Youdan. It's available on Amazon.

Document everything in writing. If your manager tells you something verbally respond back with an email reflecting clarification.

You need to have a discussion with your manager as to what 'success' means in this project. If the goal is to have a prototype for the board meeting then that's what you deliver. If it's a complete finished system then you need to specify using the matrix of time, cost, performance and have him pick two (in your case sounds like time and cost).

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.