Jump to content
Larry Ullman's Book Forums

Development Cycl


Recommended Posts

Hi Larry,

 

This is more of a question out of curiosity. I was just wondering how you plan your projects? I was looking at the second part of the ecommerce book and there is clearly a lot of thought that goes into the MVC idea, especially the databases. I think so much of a good website boils down to the inital planning and the approach. Making sure you've thought of everything and its built in a way that it can be scaled or tweaked easily etc.

 

So I just wondered what your development process was like and how long the ecommerce example 2 took you to plan?

 

Thanks

 

Jonathon

Link to comment
Share on other sites

Hmmm...interesting question. Unfortunately, the examples used in the books aren't fair comparatives. With those examples, the goal is teaching certain skills. From a development perspective, it's an artificial starting point. Also, this is one of those places where there's no one right answer. Different people have different approaches and different solutions can work equally well. I can estimate that the second ecommerce example took me maybe a month to develop, although that was while I was writing the book. In the real world, I could have developed that in two weeks, plus another two weeks for testing and tweaking and such, I guess.

 

With actual Web (or other) projects for myself or for clients, I always start with the data: what information will need to be stored, what information will need to be presented? The content always distinguishes one site from another. So I try to find out everything that might be presented to the user and everything that the admin will need to provide and everything that the admin will want to later know (i.e., about what the users did with what). Then I design the database. Let's say that initially takes a week, with the understanding that the database will need to be altered somewhat based upon things that come out of the development process.

 

Then I turn to the Web framework. By that I don't mean an actual framework necessarily, but the basic files and structure: directories, includes, configuration, database connection, etc. Some of those will be fairly final and solid, others will be sketchy to be changed later. A couple of days there to start.

 

Next, I would, depending upon the site, either create the admin interface for populating the database or self-populate the database and work on the public side first. For non-ecommerce projects, most of the work is on the admin side for managing the content. For ecommerce projects, most of the work is on the public side: making it secure, tying it to a payment system, and so forth. After getting the one side done, or mostly done, it's a matter of completing the other side. And making lots of changes along the way.

 

That's how I really work. I will say two things about my own personality here. First, I'm not a designer, so I start with the backend and work my way forward. Someone with better graphical skills might be inclined to go the other way. Second, I'm a little impatient and I need to get my hands dirty. So I never plan things out as far as I should. I plan things out about 70% and then I need to start doing. That's not ideal, but it's how I work.

 

Hope that's useful for you and thanks for the question!

Link to comment
Share on other sites

No, thank you for such a thorough response. It's nice to gauge how the accomplished programmer thinks about things and the time scales they generally work to. I've sat there before just over thinking models and then questioning what ever direction I go in. I perhaps will relax a little more and be happy with my initial plan and just accept that alterations are a natural evolution of ideas and processes. I suppose very few people start out with the near perfect DB model and the greater the exposure to models the greater the chances are of finding cross over areas. Such as data that webmasters ultimately want (as you mentioned).

 

 

Thanks Larry

 

(I also can spell cycle)

Link to comment
Share on other sites

As Larry said, I start by planning the database. This way, I keep track of what needs to be stored and retrieved from the database.

 

I start by listing all information I want to display, and begin the normalization process to find primaries and foreign keys that needs to be used. The first part of the planning is on how to store data. Then I begin to write different views for displaying different pieces of information.

 

After this, I start with the basics like connection to the DB and how to insert, modify and delete these data. Here I focus on the best way to design the user interface for this. How to make it easy to work with these data. When that is done, I start by implementing site design and layout to make it look better.

 

I know most PHP developers with gain on learning some basic normalization to keep that integrity, remove most of redundancy and to plan the flow of the data in and out.

Link to comment
Share on other sites

 Share

×
×
  • Create New...