
Our tech team have been using a new architecture – MVC our website, so for other non-tecchie product managers who might be involved in using this, I thought I’d try and explain my take on it and give an example of what our team has built.
Apparently one of the benefits of using MVC is that development is quicker because there’s less code to write and code can easily be reused, more easily than when using N-Tier.
So what is MVC? I’m no expert but Colin (our in-house pro) has explained it, (and he has written some really useful tips on his blog including how to upgrade your system to use MVC) so I’ll try and write it down as best I can.
So, MVC stands for model view controller, which represents the 3 different parts of the architecture.
Model
First of all is the model. This contains the entities, which are like templates for how the tables in the database should look. In the N-Tier process, a whole load of stored procedures would need to be written to tell the Data Access Layer what to pull from the database. However, we’ve used Entity Framework which simplifies access to the tables because it ‘understands’ how they are structured, so negates the need to write bulky stored procedures and mapping.
View
Then there’s the view, which shows how the page will render using HTML. This is the part that the designer will style.
Controller
The controller gets requests from the user and gets the relevant data from the view and the model to display on the screen.
The diagram from Wikipedia is a handy way to visualise the flow of information in MVC

“Model-View-Controller concept. The solid line represents a direct association, the dashed an indirect association via an observer (for example).”
Colin’s built our new feedback forum for the online banking part of our website. It works really quickly.

This is the main landing page for feedback for online banking. As you can see, there’s a distinction between public and private threads.

Users, if logged in, can start a discussion (pictured above) and reply to threads (pictured below), tagging them as ‘Helpful’ if they found them so.

In terms of breaking down and estimating the work, it seems like it got broken down a lot more that when using N-Tier.
Here’s a sample of the kind of tasks the work was broken into:

As you can see, most of the work is 1 or 2 hour chunks, instead of hefty ‘stored procs’ work for example.
The great thing about using MVC means that if any other areas would like their own feedback forum, it’s now a pretty simple job, a case of changing a few headers instead of writing and testing lots of new code.
Nice!
Tags: feedback forum, mvc