Fog Creek Software
Discussion Board


I have this friend...let's call him "Me"....
He recently started a new job, his first as a "real" developer. Granted, "only" a web developer, but still a developer nonetheless.

He's been assigned his first project, and basically it's to move the one critical department function to a web-based application. Currently implemented as an Access application, it has about 15+ users and is a correspondence tracker (phone calls, letters, emails and the people/orgs that send them) that logs/tracks about 50,000 individual correspondences per year. That number is expected to double in the near future when we take on another department's similar workload.  (It also is used to produce canned responses/mass mailings to those letters, etc.)

My boss took this project to our company IT department and IT said "it's a 6 month project at $XX,000 dollars." My boss didn't like that answer at all, so decided it could be done in "four weeks, but don't kill yourself," and slapped it on me, "under the radar, you know, don't make a project out of it or anything." Which is why I'm here..... I don't even know where to start. What the hell should I do?

I had a meeting with the boss, and here's what I got out of it:
1. Don't do any screen mock-ups until the boss goes through the Access system and decides what they "really need".
2. Don't do any database design until the boss tells me the "critical fields".
3. It "would be nice" if the two main Access screens (each with about 25 fields plus a record display) were merged into one web form.
5. Every correspondence needs to be searchable.
6. The current system doesn't really handle e-mails, but the new system must.
7. The new system "will probably" interface with some "Powerbuilder application" in another department. How? Good question.
8. Reporting capabilities need to be "flexible" so the boss can make up their own reports as they go.
9. An "online project tracking application" would be nice so the boss can keep track of progress.
10. "Don't talk to the users, go through me."
11. No, I can't have Access installed on my local machine to inspect a copy of the database, just the Access Runtime so I can see what the application looks like to the users.

Oh, and did I mention 4 weeks? Those are just some of the highlights. But at least I got them to set up a test server (They had been coding to the live server).

Part of me wants to just run with it, because if I really only have 4 weeks for this, I can't wait on the boss. But another part says if you barge ahead you'll just have a bunch of wasted effort.

I'm also grasping in the dark at trying to "project-ize" this with specs and timelines and tasking and requirements, but again, I don't really know what I'm doing in that respect. When i got the job, they asked what I considered myself: a coder, developer, project manager, architect? I said coder, which is true, and they hired me, saying "good, that's all you'll do." But now it seems they want me to be a project manager, and with no help.

I'm half-way through "Code Complete" (started reading before this job), and think "Maybe I can apply some of these ideas?" But it would take me 4 weeks just to get through the next chapter. So I just started writing an outline and creating an Excel spreadsheet for tasks. That's where I am now.

So, any advice from you gurus? Specific advice (like "use this project-management app" would be most helpful).

Man, i hope my boss doesn't read this forum.

pleading the fifth
Wednesday, January 21, 2004

It probably can't be done in 4 weeks, you should probably allocate 2 - 4 months for a complete product design to post mortem cycle. But if you had to do it this way you'll have to make sure only the barest minimum is implemented and that changes are carefully managed. You have to manage expectations and not over-promise. You need to flesh out the spec in the first week and spend one week coding the solution, and the third week for testing and debugging and the final week for training and deployment.

Li-fan Chen
Wednesday, January 21, 2004

All right! A solo death march! Those are always fun.
You're so screwed, but don't worry. Everybody has been through one or two of these. It's like a stupid rite of passage or something.
Document your estimates of how long you will think everything will stuff into your emails that you can use as a paper trail later. Resist overpromising with every fiber of your

j b
Wednesday, January 21, 2004

If you planned the way I talked about in the last message, it will be pretty clear you'll be kidding yourself if you try to code the entire solution in one week. Especially if this is your first crack at being a professional programmer. Your boss didn't give you any ramp up buffer zone at all, instead throwing you into an impossible project from the outset. I am not saying you can't pull it off, you have to look at yourself and ask yourself whether you can know how to do all the parts, whether you can still make the deadline without writing unmanagable spagetti code. To make a deadline like this means you have to make sacrifices, like leaving code maintenance for version 2 (meaning the time you shaved this round of code writing will cost you in the next round of revisions--just as Code Complete would explain).

Li-fan Chen
Wednesday, January 21, 2004

Sounds like a busy four weeks, but why are you writing a single line of code?

I haven't checked lately, but there must be a few dozen applications out there that do this quite well.

Assuming that your time is worth money (it may not be if you're not busy, in a way), it must be a lot cheaper for you to purchase it and spend a day or two installing.

Is there a reason why it's being developed in-house?

Wednesday, January 21, 2004

your boss sounds like my boss.

I want some software that does this and that and this and that and automatically display all the reports as I think about them.
Okay show me the list of software packages that you think might do the job.

But wait, you didn't go down to the local office works. Go down there and see what they have, and go to the newsagents and buy a copy of 'shares' magazine (you never know how many home base share traders would want to buy a fully fledged investment system capable of handle 100 entities).

...oh and wait, I have some more things to add to the specs....It won't throw you out, you won't have to review anything, look it is just two things....

Okay so this comment isn't helpful at all, I am just sympathising.

Aussie Chick
Wednesday, January 21, 2004

"why are you writing a single line of code?"

because they've asked me to? I think they think it is cheaper to pay me than to buy a shrink-wrapped solution. Who am I to argue?

1 week to code it huh? Luckily this is a government agency, so there's not really a "bottom line" and the accompanying pressure. It's just your money. :)

pleading the fifth
Wednesday, January 21, 2004

You think this is bad, wait until someone needs a word processor for their work.

Maybe they'll give you five weeks for that.

Wednesday, January 21, 2004

The first thing you need to do is violate rule number 10. "Don't talk to the users, go through me."

You probably need to understand how the current standalone desktop application works.  I would also try to find out if any documentation was created. 

The second thing I would do is write up a proposal for your boss where you basically regurgitate what he has already told he wants. Note: you won't be able to finish this document until your boss gets back to you and tells you want he really wants the new web app to do. This document will serve as CYA document for you and it might help you clarify your understanding of what needs to be done. The only PM work I would do is write a task list and include it inside the proposal document.

These two tasks should keep you busy for a day or two.

One Programmer's Opinion
Wednesday, January 21, 2004

The only thing you need do is what he's asked you to do, just look at the application as it is now.  He hasn't said get started, write this, write that from what you've said.

If anything it sounds like he's talking aloud, he certainly has no budget for it.  He's balancing the effect of a coup for his department, delivering something with a (forgive me), cheap resource when they said it would be expensive with the possible downside of it getting in the way of what your department is supposed to do and getting egg all over his face.

Simon Lucy
Wednesday, January 21, 2004

Disclaimer: its not meant to be an advice, its just what I would do if I were in your shoes.

1. Clearly there are many existent solutions on the market, which are much cheaper than your month's salary (unless you are in Vietnam, China or India, but software is rarely bought there anyway). I would spend 4 weeks looking for right one, installing, trying, choosing and converting existent data into it.

2. If first is not an option and I had an opportunity to get a new job I would just leave. Probably your Boss knows the way of doing it properly in 4 weeks while being cut from all information sources. I don't.

3. If second is not an option - start looking for another job, you have 4 weeks. There are a bit of ethics envolved - is it fare to pretend something is possible, while its not?

4. If third is not an option - just knock something up really quickly, work late nights (anyway you'll have insomnia having such "project", which you're prohibited to call project).

From my point of view such job is worthless when it comes to learning, because you're thrown on your own and there are no one to learn from. Your boss will never stop giving you "quick tasks" ("and don't start any project, you know what I mean!"), I won't learn how to do things properly.

Being greedy to buy off-shelf solution they won't pay you deceint salary either.

Having failure after failure won't inspire you.

Vlad Gudim
Wednesday, January 21, 2004

To add onto the comments above (which are great). You don't necessarily need to look for a paid solution. Take a look at for many open source solutions. I have been in a position where our IT dept could do it faster and cheaper (or so they thought) than another and tried to do it under the table. These type of work leads to wasting the companies money. If every low-level manager worked on his "high priority" pet project, nothing that is truly a high priority for the company would ever get done. I have seen countless dollars wasted this way. This is obviously a bad situation for you, but think long and hard about what the positives are in this job and focus on that spin.

Good luck!

Wednesday, January 21, 2004

Going off on a tangential direction from the other advise so far...

Looks to me more of an ego hassle between your boss and the IT department (maybe the boss of the IT dept). Your boss wants to do a one up on the IT department boss. And is using you as a pawn in that game...

(Trying to get into the boss's head)
Boss thinks...
    1. Obviously this can be done in 4 weeks and when I tell them this and show them the demo they'll just crap in their pants! <insert evil laugh here>
    2. Hell, even if this doesn't happen, no loss done. I can always negotiate with them and get the work done from them.
    3. I can always give this guy some other work and get a point against him whenever he tries to get smarty with me <insert evil smirk here>

If you're seriously interested in getting this thing done, then you've received some very good advise so far. Only adding to that one is to do some social engineering, get in touch with the IT dept. They already know what the project is about and can give you some really good inputs. But this is risky since your boss doesn't want anybody else to get a wiff of whats going on. So do this only if you have some very secure connections in that dept.

Otherwise, ... you're walking a very tight rope here and need some seriously good people management skills to wiggle out of this one. The approach I would take is to sweet talk the boss (bad mouth the IT dept if you must) and upward delegate as much of the task as you can at the same time not sounding like a lazy-work-shirker-kind-of-guy.

Something like:

> 1. Don't do any screen mock-ups until the boss
> goes through the Access system and decides what
> they "really need".

Get back with something like, "Yo boss! Won't move a finger till I get a signal from you". Or "I'll draft the specifications and general layout of the application the moment I receive input from you" or something to similar effect.

> 2. Don't do any database design until the boss
> tells me the "critical fields".

Another oppurtunity: "As soon as you identify the "critical fields", I'll start designing the database architecture. Just send me a mail with the fields and their description and why they are critical."
And please don't forget to start and end with "You're a genius boss. Those stupid IT dept people don't know a thing." or "Where would this company be without your dynamic leadership" (Just don't overdo this bit, OK?)


> 7. The new system "will probably" interface with
> some "Powerbuilder application" in another
> department. How? Good question.

"No problem boss! We can integrate with anything as long as we have details about the interfaces of that application. Surely they must've documented their interfaces and how we can use them." "What, they haven't? Man are they lazy. Why can't you get them to do it!"

Pray and hope that this is one of your boss's whims and blows away in a day or two.

Overall assesment: 'tis mighty difficult to get this done in 4 weeks. Can be done if this is only about 1 access table and 2 forms, but integrating with some "PowerBuilder application" and stuff makes me wonder (just like you) whether the whole thing would be worth the effort, especially since even your boss is not very sure what he wants to do.


For future reference read "The Joy of work" by Scott Adams

<a href="">The Joy of Work</a>


"Dilbert and the Way of the Weasel" again by Scott Adams

<a href="">Dilbert and the Way of the Weasel</a>

*Warning* - Don't take these books too seriously but they'll definitely help in such scenarios (with such PHBs).

my 2 cents

Wednesday, January 21, 2004

hotscripts is your friend. ditto for sourceforge and freshmeat.

Spend the time while the boss is faffing around looking at what they have on

I would particularly look at the offerings in these categories
*content management
*customer support
*database tools
*email systems
*portal systems
*search engines

You probably won't find exactly what you are looking for in the language of your choice, but you might find something close enough to give you a head start once the boss pulls out his fingers.

Wednesday, January 21, 2004

thanks for all the comments. some of you were spot on....

"If every low-level manager worked on his "high priority" pet project"

that's exactly what this is. the boss was just waiting till they got some cheap labor (me) to be able to implement it.

"anyway you'll have insomnia having such "project" "'s already started! i couldn't sleep last night thinking about it.

I don't think there's any chance they'll but a solution, and I'm not going to look for another job.

like i said, i just started here, so i don't even know the IT department and "social engineering" is probably unrealistic.

Judging by the boss's wish for a "project tracker", they want something tangible to see, so I figure I'll grab one of those off hotscripts, put a task list on it, and regurgitate what i've got so far from them. I'll throw in some middle-manager speak for good measure. that'll keep me busy until i get some direction.

thanks again.  i keep telling myself it's just a job.

pleading the fifth
Wednesday, January 21, 2004

s/but/buy a solution :-)

pleading the fifth
Wednesday, January 21, 2004

Post your boss' name, phone number, and email - let us talk to him.

The masked avenger
Wednesday, January 21, 2004

Hey, do let us know how it went!

Best of luck!!

Thursday, January 22, 2004

I love T-90 comment. Yeah, there are clearly incompetence and politics involved.

Vlad Gudim
Thursday, January 22, 2004

now the boss says, "just recreate the Access application on a webpage, same fields, database, everything...." i wanted to say, "but the reason you're moving it is because it sucks. now's the time to make it better."  but i didn't because i guess it makes my life easier in the short run to just recreate their crappy application. in the long run, i'm sure i'll get to maintain the crap and defend creating it.

pleading the fifth
Thursday, January 22, 2004

*  Recent Topics

*  Fog Creek Home