Connecting Tech Pros Worldwide Help | Site Map

Scalable and flexible application design resources

Newbie
 
Join Date: Dec 2008
Posts: 1
#1: Dec 20 '08
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's Avatar
Member
 
Join Date: Sep 2008
Posts: 33
#2: Dec 21 '08

re: Scalable and flexible application design resources


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.
Reply