Skip to main content
sinious
Legend
September 4, 2015
Question

while (true) {

  • September 4, 2015
  • 2 replies
  • 2928 views

Perpetual thread on what you either learned today, is haunting you or just what you need to get off your chest.

Just let it fly..

So today our client, mid HTML5 project, handed us a random PDF to assure our single page application conforms to for their CMS. It is a simple project that is replacing a simple Flash animated page, designed responsive.

We gave a nice pencil sharpened estimate for the project to hit it head on the nail. We sharpened so much because they had us remove all SEO costs like direct URLs, etc. Got approved and moved forward. Too good to be true, just replicate their supplied design exactly, mostly solid colors. Woohoo!

A month later (it's a 40 page app) we showed results and then received this strange requirements PDF. Our SPA done with AngularJS and jQuery, now had requirements like:

- Direct URL for each of the 40 pages (this was formerly removed as a requirement as mentioned)

- Must run within a layer over the original site, over a shaded layer to modally pop it forward

- Must conform to a specific file structure

- All files must conform to only using lowercase a-z and 0-9, not including the dash.

- Must have a fluid design to fill any screen

- On and on, you get the idea....

Over half way through development! Are you serious? Restructure and rename everything, change all layout from responsive to fluid, work with full animation performance in a LAYER over a whole website shaded out?!

Of course, for the same price...

I can live with scope creep, but things like an entire file name and structure requirement along with responsive to full fluid design swap?

Am I crazy to think they should understand what (our estimate explained) a responsive design is versus fluid? This is full, phone to desktop.

Do you get these crazy project scope changes last second? How do you handle it?

    This topic has been closed for replies.

    2 replies

    Rob Hecker2
    Legend
    September 5, 2015

      Is this a repeat client? If yes, you might be able to recoup some of this loss on a future project for them.

    Right thinking. I once let a client really screw me out of $500 and took it on the chin with a smile because I foresaw a lot more business was ahead. But if I had quibbled over the $500 I would probably have lost that future business.

    sinious
    siniousAuthor
    Legend
    September 6, 2015

    That's always my gotcha. If I mention it and my client needs to get more budget, their boss will see it's their fault for failing to give a stack of requirements. Now they're not in a good place, thus neither am I with my client. That can cost us the next job just out of spite.

    For our size clients we're just a tiny vendor and only as good as the last job (mostly).

    My end of last week peeve was different though. Two things I really wish more coders took a brief second to do is:

    1) Please put a comment at the end of any fairly large block of code (more than halfish or more acreen) indicating what it is closing. HTML or code, it really helps, especially when loops start nesting.

    Just this easy:

    function Foo() {

       //.... Lots of foo

    }// func Foo

    2) In consideration to #1, in those nests and nests of loops, can we strive for a variable other than 'i' to iterate on? And longer, descriptive references as well? It becomes pretty hectic when you're inside a triple nested loop looking at r.cb(m(r.id),r.data);.. Yes that's nonsensical seeming, but mid dev, I've seen strugglers start cutting down on sane things.

    If my IDE didn't support scoped refactoring or begin/end brace highlighting, I'd be nuts.

    Rob Hecker2
    Legend
    October 7, 2015

    I agree, but in highly atomic environment where you're building just one widget such as I was trying to illustrate above rather than the fundamental building blocks of an outer layout, there are no tags that really cover these complex DOM structures. They are the tagless masses, which is why I rather enjoy AngularJS's directives, so all of the above looks like </highlights> in the source but a </div> storm in the developer tools..


    Yes, of course in the environment you describe, you would not want creators of plug-ins, classes, or modules to use semantic tags. That prerogative belongs to the fundamental site layout development.

    Nancy OShea
    Community Expert
    Community Expert
    September 4, 2015

    <Of course, for the same price...>

    Uh, oh.  All this should have been laid out in the planning phase, not midway when most things are already completed. I would politely explain they will have to pay extra for widespread changes.  When they ask how much more, quote something close to double the original price.  Then negotiate to bring the changes down to an acceptable level that you can both live with.   You've got to stop scope creep in it's tracks.  Otherwise they will own you & you'll resent them forever.

    Good luck!

    Nancy O.

    Nancy O'Shea— Product User & Community Expert
    sinious
    siniousAuthor
    Legend
    September 4, 2015

    Thanks Nancy,

    I wish it was that simple, but to your point, they do understand it will add to the estimate. They just HATE to hear that because they need to tell someone above them that their vendor project costs more. You know that blame comes right back to the vendor. And you also know the vendor is not at fault.

    I wish the agile process was far more popular with our clients. I want them to see faster updates to correct and adjust time more appropriately. Unfortunately my clients all have no idea what they want in the end, for a fixed budget price.

    *facepalm*

    Luckily my company is considerate and had always dealt with this. Our job, #1, is to make the client a rockstar.

    Tough to do free work.

    Nancy OShea
    Community Expert
    Community Expert
    September 4, 2015

    I hear ya!  Is this a repeat client?

    If yes, you might be able to recoup some of this loss on a future project for them.  Client saves face this time around understanding they will need to pony up more next time.

    Nancy O.

    Nancy O'Shea— Product User & Community Expert