skip to Main Content

I’ve been a PHP/MySQL developer for a number of years now, but unfortunately have only worked with small projects up until now. I’m starting a new website now that is very complex and I’m starting to get confused with the workflow. I’m not sure which parts to take care of first, as they’re all fairly intertwined.

I’d love to know how some of you manage your workflow for a new website. I’m working independently, so it’d be easier to explain without multiple developers involved. Also, I’ll be using the CodeIgniter framework, so it’d be great to have the workflow involve the MVC model, which should actually make the workflow easier.

After some searching, I came across this helpful diagram: workflow chart

However, I’m not too sure what falls into each category. Here is a general rundown of what I understand so far. Please feel free to correct me when I’m wrong or when there is a better option.

Planning

Make sure you have clear goals for the project: What do you offer, and for whom? How will it be helpful for others? Etc

Sitemap

List all the pages and sub-pages that are going to be on the site.

Wireframes

Go through your whole sitemap and make a rough sketch of every single page. (How detailed should you get?) You can use pencil and paper, or programs like Axure or Mockingbird.

The next major category in the workflow chart is content, but I’m not sure what this involves. Is it all the text on the website? Database structure? Something else?

Artwork

The actual design/template of the website. Is this really the right place for this, though? I would think that the coding and functionality is more important, and make the design after that.

Coding

This step seems to all-encompassing, and I’d think it needs to be broken down. Is the database structure made first (or was that done in content, after the wireframes?) Do I make the outline for all the functions for each page in the sitemap? Do I just create all the necessary controllers and make comments of which functions I’m going to put and where? Do the models go after the controller outlines, or vice versa? When do I start filling in all the controllers and models?

Constant testing is involved to make sure your code works properly.

Content Population

Would this include the view files in the MVC framework? In other words, all the data that the controllers and models provided?

Final Testing

Make sure everything works in all browsers. Making tweaks and changes here and there. Go all out with numerous “what if” cases.

Production

Site goes live.

Conclusion

The above is what I understand to be an organized flowchart of the steps in developing a complex website, but my understanding could be greatly improved. What should be changed? I could use all the suggestions possible. Thank you.

EDIT: Someone here mentioned “agile development”–from what I’m reading thus far, it doesn’t actually have a structure. Correct me if I’m wrong. As I commented on that answer, is it really possible to develop in such a way for complex sites, such as Amazon or Ebay? The workflow process, in my un-knowledgable opinion, should have a clear plan, or else there would be no focus in the project.

FINAL EDIT: Although this question was closed, I’d like to add some info for those that may find this later. I found the following workflow useful: http://www.webassist.com/free-downloads/tutorials-and-training/web-dev-workflow.php. A PDF of the general workflow: http://assets.webassist.com/how-tos/Short-Dev-Checklist.pdf. Agile development can also be used of course, but this could be a good starting point for those that don’t know where to start. I may add additional workflows and examples here as I find them.

3

Answers


  1. The R&D world is moving towards agile development, where you don’t do so much planning and write everything down from start to finish, but rather do small iterations and make small changes so that you always have one clear goal in front of you, and you can adjust your direction as your understanding of the requirements improves (real ones, based on user feedback, not estimated guess work based on what you think the customers will want/use)

    I suggest you research Agile development, and Lean startup methodologies, it changed the way I build online services, and will make you much more efficient and productive.

    I can tell you that my online service went live about 2 days after I started coding. That does not mean that you open it to real users right from the beginning, but you can get immediate feedback from the real world instead of keeping it all on your dev machine until you’re “ready to go live”.

    Login or Signup to reply.
  2. Agile development is definitely a good idea for websites (as, typically, the coding is both relatively easy and independent). The main point about agile is that it allows for changes, and it also allows for adjusting for “it took longer than expected to do Feature B, so C and D will be delivered in another iteration”. As you are probably aware, planning larger projects can take a lot of effort, and is almost always longer than you’d expect. With agile, you do each bit as a “vertical slice” – meaning anything done should contribute something useful to the product, all the way from adding a ling on the front-page [or wherever it belongs] to adding the code to handle it and the database model to store/retrieve relevant data.

    I’m pretty sure that you still need to do a fair bit of planning for a large site with lots of pages, and lots of database tables, etc. But as long as you have a reasonable grounding in general website/database design, Agile methods will let you design “walking skeleton” (somethig that works in the basic concept, but need more meat on the bones to be a working product). Then you flesh out the sketch with more features, each feature is “complete” in itself, and adds something the customer needs. That way, you always have something you can deliver to the customer after each workitem is finished.

    I’m also convinced that Amazon or Ebay has A LOT more than 20-30 tables. I work with a site called http://www.planetcatfish.com, and it is MUCH smaller and simpler than Amazon or Ebay, and it has 25 tables (besides the phpbb tables for the forum, which is also used for the site specific user functionality). And that was written over many years, using mainly php, a little javascript and a fair bit of mysql inside the php code.

    Login or Signup to reply.
  3. TheZuck’s answer is good and very helpfull so I’ll just add some of my own experiences, which doesn’t necessarilly mean that you’ll go through the same thing, and probably won’t if you have half a mind for business (which is what I’m lacking. :S).

    Content has always been a problem with my clients, so I’d say get them working on that early! If you’re working with a copywriter I guess thats not a problem. But there should be some sort of penalty for not delivering the content to you in time.

    It is also worth noting that your clients will only really start thinking about their website once they start thinking about the content. Expect to hear about them wanting some changes when they’ve started working on it.

    If you’re clients are small businesses, then they tend to not understand what it is that actually takes time. Even though agile development is really nice I believe that this will be hard to implement towards small businesses since they don’t have very much money to work with and will probably want a fixed priced for a finished product. And if it’s fixed they’ll just get pissed if they’ve used up all their time or whatever it is that they’ve paid for without giving them a finished product (working deliverable, is not the same as a finished product!).

    Clients tend to be IT-illiterate, sometimes to the extreme. Count on you having to put some or quite a lot of time into explaining “obvious” things to them.

    Don’t overestimate yourself and your abilities, since this will probably mean that you’ll charge less than what is actually reasonable. A quality website should cost money, but I for one will understand if you charge to little, you know just to get a few clients.

    I realise that this isn’t really an answer to your question but I hope it will help somewhat.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search