Pencils Down

This weblog is about my experiences in software development

Browsing Posts tagged Clients

At my current workplace we are automating a lot of tasks that were done using Oracle Forms to perform under a web interface. Sounds good so far.

One of the forms invokes some tens of thousands of lines of SQL code on the backend touching a large number of tables and invoking a good number of stored procedures. In order to automate this someone on the web team has to understand all that code. Again, from a programmers point of view, doable – might take a while.

Ok, now how to explain the size, scale of the problem to someone who knows nothing about programming?

I threw out the idea of going to the library, reading a novel that was several hundred pages long and having to understand exactly what happens to every character portrayed in chronological order.

Thinking about that later I wonder if I was very far off:

  • A typical page of a novel has 50-60 lines which equates to several hundred pages.
  • A line of SQL does not correspond well to a line in a novel, but given the power of the syntax it may have as much meaning
  • The chronological importance is important in both cases, more so for the SQL.

Maybe it’s not such a bad analogy to use.  Maybe even the PHB might get it:)

I think in most cases you can try bugging the client for a while.  Then usually have to resort to hiring a collection agency.  That’s been my course of action twice now.  (Kind of interesting that given the economic conditions it has only happened twice)

A colleague of mine had a different idea.  She is a designer.  As such she produces logos, buttons, visuals, etc…  Since she was not paid she is revoking the client license to her art work.  Art work comes under copyright law.  If the client attempts to use any of her work in their product she can invoke copyright infringement!  Pretty cool stuff.

Then I was thinking it has always been murky as to what programmers produce.  I know the term intellectual property is thrown into the mix, but I think the same case could be made for actual code produced by a programmer as their artwork with copyright protection.  Isn’t that what many of the code theft cases come down to?

I wonder if I can enforce copyright infringement on code produced, but not paid for?  Due to wonderful things like source control it would be pretty easy to determine exactly what statements of code I entered into a system and whether they were still intact in the product.

Any lawyers out there interested in making headlines?

At a recent design review one of the client team (that we were supposedly partnering with) decided to lambaste the design producer.  Things like “I could have done more in 15 minutes than you did in 2 days”, “why didn’t you check out x”, etc…

This went on for several minutes before the producer just said “I don’t know how to respond to you”, really meaning I don’t know how to react to your abusive spew.  You are the client.  You are right.  We are supposed to be collaborating.  I don’t think this is.  I’m trying to be a team player, you are not.

Our side  had all thought the design in question to be a done deal, a formality.

Thinking about it later this behavior is condoned by the lead.  In a previous meeting the lead had applauded the same spewer for an overreaching design that stretched a phase of the project by 50%.  Any dissenting opinion as to possibly pushing off some features to a later release was quickly shot down by the spewer with explicit approval of the lead.

So, we have a lead showing how to behave by example.  There is always someone in a team that would be silly enough to follow such an example.

The problem is the project has really just started.  We have months of work ahead of us.  Won’t this be fun for the next piece that we provide for review?

Which is worse?

No comments

I heard about a big software project that took a couple of dozen developers a few years to build.  The project had difficult security requirements that ended up having a login take over an hour to accomplish due to all of the verification between systems that had to occur.

The team went into a client review cycle knowing this was a big problem.  The client sat through the entire presentation and demonstration without a question.  Always a bad sign.

As the meeting was closing and everyone was gathering up their things one of the developers asked if the login time was a high priority or not.  (Duh!)

The client lead, while still gathering their things and not even looking up, said, “No.  We have a contract.  We will pay you for the software.  But, we are going to use something else anyway.”

Payment Plan

No comments

I usually have one or two side projects running at any time.  Most are pretty small, so just pay me the few hundred when done.

Once in a while a bigger project comes along in the 5-10K range.  In these cases I ask for 1/3 upfront, 1/3 on code complete and 1/3 on acceptance.  I think this is pretty reasonable.  This avoids dreamers who have no money and a**h****s that don’t plan on paying.

Why is this a surprise to the project sponsors?  Could someone get a carpenter to come to their house for nothing?  Some people appear to get really upset and walk from the project and I don’t think they fit into the cases I was trying to exclude above.

We have a client that asks for changes to a portal regularly.  They pay so we do pretty much whatever they want.  Once in a while we can offer a better way of solving the problem.

Lately there have been a couple of changes that sounded difficult to pursue.  Upon further investigation we realized: our software can do this now, we have the data needed to provide the solution and (this is the best part) we had originally developed the feature that way and the customer told us to shut off that part n months ago.

Of course, we turn the feature back on for them.

It just must be nice to have so many resources (time, money, us) available to you that whimsical changes are acceptable.  And I thought you had to win the lottery to do that.

I got into what should have been a very small programming adjustment to a fairly large site to just expose an Excel sheet.  Very common type of stuff.  Agent got me FTP access and sample file.  Grabbed what appeared to be the creatives on other pages and put the page together.  Tested on my server no problem.

Push code onto the FTP given and I can’t find the file I just uploaded by hitting the web site?

Upon further checking found that none of the directories or filenames that I see from FTP correspond to any of the url directories or file names from hitting the website with a browser.  As part of FTP exploration find cold fusion references, some archaic authentication server reference, lots of jumbled up code going back to the mid 1990’s.

I have the agent ask if there is some other FTP access to the site (mentioning what I found above).  His comment “We’re paying you, figure it out!”

How do you qualify clients?