How to price applications perfectly

May 15, 2006

Wondering if you could have squeezed a few more pennies out of that last client? Wondering if you charge too low? Well then this how-to if for you!

Here is a rough outline of what you need to do. The Green line is Client’s Patience, this starts off flat, or unchanging over time. That’s because they have a certain expectation of a schedule and they’re patient up to the delivery date.

You’ll notice that where the Orange dashed line and the Client’s Patience line meet the Patience line starts to drop off. This is because the Orange dashed line represents the promised work schedule. In a perfect world, or just one where you manage projects effectively, this is where you would price your application and deliver. But in our world, the business saavy world, you can mismanage the application and allow for many changes that push delivery date back. This is the Red line, the Actual Delivery Schedule.

Now we’ve promised the timeline of the Orange dashed line, and we know we’ll be doing something like the timeline of the Red line and that brings us to the Yellow line. You see you don’t have to focus on one client with this strategy. You can have multiple client project OF ANY SIZE, at the SAME TIME! That’s the beauty of this system!

The Yellow line is Productivity, in the beginning you already know, due to the nature of the business, you’re not going to hit your promised delivery schedule you don’t have to actually work on this project untill just before promised delivery date/client patience dips! Then focus more on this project and eventally ramp up to full capacity to meet you new Actual Delivery Schedule (Red line).

Now the Highlighted area, this is your pricing zone. You can set your price at the left side and get paid too little, or you can follow our secret and price to the right. The optimal pricing is the point where client’s patiences meets your actual delivery schedule.

perfect_price.jpg

Following this simple procedure will insure that you will be able to fleece your client for as much as they are actually willing to pay before they get frustrated and walk away from the deal. An added bonus to this system is that since there was such a rush put on in the end, you will have bugs and will then be able to charge to fix them!


“I don’t have time for this”

May 15, 2006

Today I get a call from a client who wanted to send over some stuff for their website but her emails kept getting bounced. Why? Because she was sending attachments that were over 5MB (we have a 3MB limit) and she didn't understand.

"[The Boss] said email was OK. "

"I thought you were an internet company…"

So I ask her if she had zipped up the files.

"I don't have time for this…"

OK. How was she sending the files? A big o'l group of them? If so why after getting a bounce, didn't she sent two emails, breaking up the attachments? After all isn't this how you would handle the situation if it were a floppy disk or CD?

I tell her we have an upload page for large files and that I'd send the information to her. I ask her email address and she tells me. But not the whole thing, just the username.

A pause.

"Uh.. Could you spell that?"

It's a good thing too, because I'd would have never got that right, and not because I can't spell but because there where a couple of doubled up letters.

Then she tells me the hostname and rattles off the spelling so fast I didn't even catch it.

Before hanging up she tells me to send over the information and that she'll try that if the zipping doesn't get it small enough. All in a exasperated, end of rope voice.

Sometimes knowing how something works is a punishment when very few other people understand that thing.

Like D says, taken out of context, "OH, we're being punished for something."


This is a sharpie

May 1, 2006

Today I got interrupted with this;

Boss: "Hey, This is a Sharpie. I borrowed one from you a while ago, but it got a little messed up, so you can use this marker. We can write on the cd's with this."

Me: "OK" — takes BIC (not Sharpie) marker and puts in pen holder.

Boss: "Did you burn those DVDs yet?"

Me: "Yeah, right there."

Boss: "Oh these are them?" — looks at DVDs

"I think we should put the date on there. Let me see that marker again."

And with that he took the marker back into his office.

Thank you for interrupting me to tell me what we can do with a marker.


More ASP.NET gems

April 28, 2006

So Contractor E, you remember him, the one for the ASP.NET project, well he says to me the other day, "I changed this and it didn't work, then I copied over my stuff with the stuff from dev and it still doesn't work. Any Ideas?"

"Did you recompile?"

"I have to recompile?"

I swear to god on this man's resume is the following; ASP.NET, VB.NET, Visual Studio.

He was going to type "breakpoint" into the Visual Studio editor when I told him to try something with a breakpoint to see if the app even gets there. 

I said something about modifying the DOM and he asked twice if you have to manually build a "Document Object Module" for each page with the javascript. 

Now me and Employee D sit and tell him what to type.  The Boss has already asked me if I would go back to this project for extra cash in my bonus.  He's asked Employee D how much it would cost for him to do it.  I dread this and will ignore it for as long as possible.


Wanted: ASP.Net rookie needed to sharpen teeth on horribly scary code.

April 19, 2006

We have this client with a project written in vb.net. This is one of those projects constructed by the genius mentioned in a previous post. It was basically his Asp.NET sandbox. Anyway, this project is such a headache that every time you modify the most basic, seemingly harmless bit of code, it blows away something somewhere else. This thing is a giant mess.

Employee D has refused to take this and has basically said that he'd raise his rate to what ever they'd be not willing to pay. So I've had to take on this monster for a few months. I quickly developed physical reactions to this client calling (increased heart rate, things like that. Things like fear.) and had to request being taken off this project. Multiple times.

So in the search for a replacement programmer, they bring back in Contractor E who was part time here about a year ago. During that time they wouldn't let him program at all. Not even javascript. So now he's perfect for this pile VB.NET application? The Boss said hiring a ASP.NET expert would be too expensive, and that will give this a try. I don't know, but after hearing how important this client is to our existence time and time again, I'd think we'd work a little harder at finding a perfect fit.

Fast forward to yesterday, where after having 6 weeks to do something on a difficulty scale of 1 to 10, 10 being super hard, total rewrite stuff, a 4, saying to us "I'll be the first to tell you I've never done Asp.net before.", and "I understand the flow, I just don't know how to do anything." Oh No.

As you can see, choosing Contractor E was a very good choice. Now, I have the dilemma of telling the Boss what he said, and having to do this stuff myself until the next flunky comes along or just letting Contractor E suck up time and learn it himself. After all, Employee D and I didn't know ASP.NET when we started, and that seems to be our business model as of late, sucking our clients dry.

We're Internet Developing Vampires. IDV.


Ftp. That’s probably too hard.

April 5, 2006

So the boss is trying to ftp onto one of our client's servers. I went over this with him only last week.

He comes over and says he's getting some kind of file not found error, and he's doing exactly what he did last week. AND it didn't even work with his FTP client!

So I try and get right in. No problem. He's looking over my shoulder and says, "Oh do I need the 'www'"?

But wait, after that we're talking about a consultant to this client who thought she had ftp access too, but turns out it was only a login for the admin portion. He says she told him she'll get the ftp access and he says to me "I though, 'Nah, I'd be too much trouble for her and me to explain it', so I told her we'd just cut a cd for her.'

"Cut a CD", his words. Really. He's full of those gems. So here I have a man with "15 years in the business" screwing up FTP then moments later telling me FTP would be too hard for him to explain to someone else.

Like D says, "Thank God we don't work in a technology firm".


Self heating soups

April 5, 2006

Today, Employee D opened another can of this self heating soup. He didn't really like it before, so I don't know why he got another one…

Anyway, the idea is to push down the top and some chemicals mix and 2 minutes later you have warm soup. Well, this stuff was on sale and had a little rust showing and when Employee D pushed the top, some smoke puffed out. The first ominous sign.
2 minutes later there was the scent of chemical in the air. Employee D put his garabage bucket upside down over it and when he did it started hissing. Naturally we took cover behind a half wall and told the only girl in the room to go touch it.

After we stared at it for a good amount of time, D decided he wasn't going to eat it and it remains on his filing cabinet, covered by a waste bin.


Mark of a genius

April 4, 2006

How does one prove his or her genius in the world of software development? Simple, do a whole project in a framework you don't know.

I'm personally involved in a certain project written in VB.net by someone who's never written a web application in asp.net before. There's no use of session, complete rewrites of ado.net, an overabundance of javascript (bad, IE only javascript at that), zero documentation, and a little mix and match of everything that asp.net provides. It's such a total mess that I have requested to be removed from the project and the other developer, call him Developer D. has refused to work on it at all. The man who wrote this also wrote a craptastic rewrite of J2EE and custom tags. I assume all of this was to pad his resume.

How is this man reguarded amongst management? "Oh he was a genius"

Developer D is working on a different project dropped by a programmer who was "in the top 1%". What's his project? A struts application, but Mister 1 percent didn't know struts.

Well there you have it. Want to be seen as a genius by upper management? Want to have a super duper resume? Pick something you don't know, write an application in it (billing the client for your learning of course), then move on leaving your heaping pile for the next sucker.