SitePoint Sponsor

User Tag List

Results 1 to 8 of 8

Thread: SO slow....

  1. #1
    SitePoint Guru OfficeOfTheLaw's Avatar
    Join Date
    Apr 2004
    Location
    Quincy
    Posts
    636
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Red face SO slow....

    I guess you could day I've become something of an OO zealot a bit these days, doing all my code completely object oriented...

    I'm currently finishing my first project that I utilized MVC, an online application processing system that has all kinds of features. ANyhow, the original quoted time on it was 53 hours... I'm now at 62 with only the user side done (haven't even begun the administrative section for HR to access).

    I spent ALOT of time planning, perfecting the database diagram and classes as much as posisble, not to mention building code, then later spending a good 2 or 4 hours refactoring it. In all, it's taken alot longer than it would have just to procedurally do it all, but at least now I have a completely reusable set of objects, error detection is easy, and if I wanted to set up the same system for a new client, the only time spent would essentially be making new templates and editing the config file.

    I guess my question is, when you code for reusability and, naturally, it takes ALOT longer the first time around than it would procedurally, how do you justify this cost to the client? Do you leave it out?

    I guess the problem is this project was done in cojunction with another web firm that's used to procedurally written code, and their really complaining about the time it's taken. How do you get folks like that off your back and keep them happy?

  2. #2
    SitePoint Guru
    Join Date
    Dec 2003
    Location
    oz
    Posts
    819
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    how do you justify this cost to the client?
    You don't justify it to the client. You eat the cost the first time. Then the second time you charge for the 53 hours even though it takes you 15-20, so you essentially tripple you earnings for future projects. Your first client shoudn't pay for your investment into saving time with future projects.

    Well, as far as the time issue, I make sure to double (and sometimes tripple) the amount of time till delivery so that if you finish early or on time, you can still move onto another project and even make the client happy that you finished earlier than expected, but if you take a bit longer than you expect, then you will still be within the estimated time you told your client.

  3. #3
    SitePoint Enthusiast
    Join Date
    Sep 2004
    Location
    Blackpool, UK
    Posts
    67
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If the application is complex and/or large enough to warrant this style of approach then you're correctly exercising a duty of care to the Client to architect it properly and make future development and enhancement more straightfoward which benefits them in the longer term.

    The key is estimating/quoting correctly which comes with experience (we still under-quote far too often), and as the previous poster says, you then have a reusable set of objects you can use next time which is where you'll make the money.

    A less competent developer might glue the application together with scripts which might well work at first however if the Client asked anyone who knows what is and is not good practice to take a look through it in depth they could justifiably complain that the job wasn't done properly. If the Client is not willing to pay the cost of doing it 'properly' it is their choice and may well come back to bite them later.
    dt digital : internet design & consultancy

  4. #4
    simple tester McGruff's Avatar
    Join Date
    Sep 2003
    Location
    Glasgow
    Posts
    1,690
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The world can't run without software: we are the high priests of the information age...

    Demand unquestioning compliance with your every utterance and heaps of money, just like all the other clued-up religions do.

  5. #5
    SitePoint Zealot David C's Avatar
    Join Date
    Nov 2003
    Location
    New York!
    Posts
    105
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The problem isn't that you're charging for the OO framework -- any company with any technological knowlege would see the benefit, at least if they have to maintain the application. The problem is that you've promised too much. If you had to quote the client today, you could add a few hours and probably justify the cost.

    But, anyway, you didn't. You'll just have to eat the cost this time and make up for it next time. The client wouldn't like your telling him that it's better than what you quoted for, because he'll ask why you quoted for a substandard system.

    Anyway, eat the cost, develop a killer framework, and make up the difference next time.

  6. #6
    Sell crazy someplace else markl999's Avatar
    Join Date
    Aug 2003
    Location
    Manchester, UK
    Posts
    4,007
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    "You can have it on time, or done right, you choose."

  7. #7
    SitePoint Guru dagfinn's Avatar
    Join Date
    Jan 2004
    Location
    Oslo, Norway
    Posts
    894
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by OfficeOfTheLaw
    I guess my question is, when you code for reusability and, naturally, it takes ALOT longer the first time around than it would procedurally, how do you justify this cost to the client? Do you leave it out?
    You could do less coding for reusability, just keeping the code clean, simple readable and free of duplication. That's likely to be faster than either of your alternatives.
    Dagfinn Reiersøl
    PHP in Action / Blog / Twitter
    "Making the impossible possible, the possible easy,
    and the easy elegant"
    -- Moshe Feldenkrais

  8. #8
    SitePoint Enthusiast Refresh's Avatar
    Join Date
    Jul 2004
    Location
    Lausanne, Switzerland
    Posts
    46
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by OfficeOfTheLaw
    I guess you could day I've become something of an OO zealot a bit these days, doing all my code completely object oriented...

    I'm currently finishing my first project that I utilized MVC, an online application processing system that has all kinds of features. ANyhow, the original quoted time on it was 53 hours... I'm now at 62 with only the user side done (haven't even begun the administrative section for HR to access).

    I spent ALOT of time planning, perfecting the database diagram and classes as much as posisble, not to mention building code, then later spending a good 2 or 4 hours refactoring it. In all, it's taken alot longer than it would have just to procedurally do it all, but at least now I have a completely reusable set of objects, error detection is easy, and if I wanted to set up the same system for a new client, the only time spent would essentially be making new templates and editing the config file.

    I guess my question is, when you code for reusability and, naturally, it takes ALOT longer the first time around than it would procedurally, how do you justify this cost to the client? Do you leave it out?

    I guess the problem is this project was done in cojunction with another web firm that's used to procedurally written code, and their really complaining about the time it's taken. How do you get folks like that off your back and keep them happy?

    I approve of the people who advise you not to charge the client one cent more. *BUT* remember: the web site is *BOUND* to change sometime, and *THAT'S* when you'll get (at least some of) your money back! Thanks to reusability, you'll end up adding new features and stuff very easily, but the secret will be to have these features generate a profit :-)


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •