SitePoint Sponsor

User Tag List

Results 1 to 7 of 7
  1. #1
    SitePoint Evangelist
    Join Date
    Mar 2006
    Posts
    466
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Dealing With PHP Deadlines

    I'm not sure if this is the right board, so feel free to move it.

    I have a deadline for a big php project I've been working on for the past month. We made quite a few changes in the past few days that have set me back.

    Because of these changes, I've been trying to rush through the process of programming. I'm not exactly great at this. (I'd say intermediate, at best). Anyway, so sometimes I run into time consuming snags with even fairly basic code.

    I was driving myself crazy trying to speed along. It caused me more errors and just made me frustrated (which makes me fatique much quicker). Going fast seams to be okay when mowing the yard or doing some task that doesn't require 110% of my brain power, but it looks like I can't rush the process.

    Long story short, it looks like I'm better off not getting into a rush and just putting away. (Kind of like the tortoise and the hare fable). I was just wondering if anyone else felt this way or had any tips for dealing with deadline crunch time.
    Home Recording Forum -
    Make 60% Commission Pushing my new mega system
    Killer Home Recording

  2. #2
    SitePoint Wizard silver trophy kyberfabrikken's Avatar
    Join Date
    Jun 2004
    Location
    Copenhagen, Denmark
    Posts
    6,157
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Books have been written about it.

    Anyway - You might want to take a more iterative approach to development. You say that changes have been made, during the process, which have set you back. This is very common, since a great part of writing a piece of software, is to figure out what to write - Not actually doing it. You're deep into your current project, so changing your pace at this point, would be reckless. There will be other projects in the future though, where you could try to work in iterations, rather than the classical waterfall-model.

  3. #3
    Worship the Krome kromey's Avatar
    Join Date
    Sep 2006
    Location
    Fairbanks, AK
    Posts
    1,621
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    My two cents:

    Something like programming you can't rush. At least not in the same way as mowing the yard. As deadlines approach, I simply don't think about them and just sit down and code. Sure, things change, which put me into a panic because I can't see how I could possibly meet the deadline now, but when I sit down in front of my computer and open my editor, I just put that out of mind and focus on my code. Thinking about approaching deadlines is allowing yourself to be distracted, and a distracted programmer is a poor programmer. Don't distract yourself like that.

    It's very Zen when you think about it this way.

    For me, a lot of time spent on projects is spent learning - "How can I do X better?" "Is there a more elegant solution to Y?" "How do I even begin to approach Z?" When crunch time comes around, stop worrying about "best", "better", and "elegant" - so long as you have a "how", any "how", implement it. Write that kludge, attack that delicate problem with a sledgehammer. So long as your code works, you're on your way to meeting that deadline. Yes, this will lead to less-than-perfect code, but accepting less-than-perfect code is how you meet deadlines and keep the paychecks coming.
    PHP questions? RTFM
    MySQL questions? RTFM

  4. #4
    SitePoint Evangelist
    Join Date
    Mar 2006
    Posts
    466
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Great posts, dudes!

    The most gigantic lesson I've learned is to sit down with a pen and paper and try to semi-outline what I want to do. I still think that there will be changes along the way, but I'm 100% sure that at least taking an hour to ponder how each of my smaller scripts will interact with one another will make a huge leap towards saving wasted time.

    I have spent a lot of energy try to make my scripts "clean", "pretty", or what my guess at "effecient" (still learning that one).

    It's time now to simply get it finished.

    The way I see it, I'm cabable of successfully writing 10 units of php code per hour. If I have 1,000 units left, it's just going to take 100 hours. Too bad! It seams I can either change the number of units or I can change the deadline.

    Brandon
    Home Recording Forum -
    Make 60% Commission Pushing my new mega system
    Killer Home Recording

  5. #5
    SitePoint Wizard wheeler's Avatar
    Join Date
    Mar 2006
    Location
    Gold Coast, Australia
    Posts
    1,369
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by kromey View Post
    "How can I do X better?" "Is there a more elegant solution to Y?" "How do I even begin to approach Z?" When crunch time comes around, stop worrying about "best", "better", and "elegant" - so long as you have a "how", any "how", implement it. Write that kludge, attack that delicate problem with a sledgehammer. So long as your code works, you're on your way to meeting that deadline. .
    i'm guilty of trying to advance my knowledge too much rather than work within a deadline on a recent project, and subsequently I blew out the deadline by a full month - fortunately the client is the laid back type!

    Definitely something i'll have to keep in check in future projects, it is too easy to do!
    Studiotime - Time Management for Web Developers
    to-do's, messages, invoicing, reporting - 30 day free trial!
    Thomas Multimedia Web Development

  6. #6
    SitePoint Member
    Join Date
    Nov 2006
    Posts
    5
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Yeah, programming is such a great learning experience that its really easy to get caught up in that sort of thing. There's just so much to find out, its like one huge maze or puzzle, except a lot more interesting and unique. It's hard to explain, but I'll bet most of you know what I mean.

  7. #7
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    @brandondrury

    Pen and paper, second that! Got to the stage now where I bought an old architects drawing board and A0 flip chart paper! Wonderful, plus, I can say to myself "Oh, *hit, back to the drawing board ..." - then really do it!

    Off Topic:

    Awesome addition to the office, you can raise and lower it, angle it like a flipchart ... AND I get to move around the office, lean on it, stick my laptop on it and stand and code for a bit ... a well cool thing.

    Still, that aside, the latest thing I have learned how to do is UnitTest my code as I write it. This is without doubt the biggest godsend - the key components of my code can be isolated and tested ... need to suddenly add new functionality to classes or functions and want to be real sure its not going to break everything backwards of it? Get the original unit tests out and make sure they still work. An unimaginable amount of time can be saved when/if you have to go back and refactor, or "refactor as you go".

    Its a whole new way of thinking that I can really recommend (speaking as a former Spaghetti-code scripter).

    ps found this one : Ravioli code one of the wiki'd anti-patterns. LOL


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
  •