Scalable and flexible application design resources

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • CyrexCore2k
    New Member
    • Dec 2008
    • 1

    #1

    Scalable and flexible application design resources

    Hello all,

    Apologies if this is the wrong forum. This one seemed to be the most appropriate.

    I'm looking for resources pertaining to developing scalable and flexible application designs. I recently took on a contract job for a social networking start up as an application architect and I've nearly completed the first phase of their product. The investors are interested and phase two is now in the works.

    The issue is that phase two includes changes that will require me to scrap huge portions of the code from phase one. (I'm considering scrapping the entire project and starting again.) I'm aware that a lot of the time that's just the way things work but I'm just trying to get some more information on some common pitfalls I might be making that I could easily avoid by altering my design strategies.

    For example, the application has a "Create Item" functionality with various pieces of data that the user can enter. The client has changed these pieces of data drastically. Since each piece of data was stored in a specific table's field this means I'm going to have to re-think the database design. I'm sure I'm not the first to encounter this situation and it seems like there would be some good resources on the subject... somewhere?

    Ideally I'd be able to sit the client down and force them to lay everything out to the letter but unfortunately I don't believe that's something I can hope for.
  • Breezwell
    New Member
    • Sep 2008
    • 33

    #2
    Hello,

    I don't have tons of experience in this area, but here is my two cents that I hope may help.

    Having a client lay everything out at the beginning is a rather unrealistic expectation to be honest. Most times, at least from my limited experience, many clients cannot articulate what it is they exactly need because they just don't know in the beginning. Expectations and needs will change as the application is being built. Most clients have a good idea as to what they 'think' they need, but as a software designer / programmer, I have found that it is our job to guide them based on what we can deliver with our particular skill set and the clients willingness to take a proactive stance in the entire development process and guide us from a business perspective.

    Agile software development may be exactly what your looking for. I have recently discovered this methodology and it has helped me tremendously with clients that change directions frequently. The key for me with the XP (Extreme Programming) methodology was frequent software iterations and client interactions.

    Agile software development - Wikipedia, the free encyclopedia

    Best of luck.

    Comment

    Working...