Question

I am looking for some good information on the best way for a design and development team to work together. I am a WinForms developer and I have very little experience in .NET web development and I have been asked to take over responsibility for the website development.

Currently they are using Visual Sourcesafe, the websites are not in a solution and the whole thing is just a complete mess of thousands of random webpages created by the designers and cobbled together code put together by the developers. The different pages are released whenever they are ready - which means dependant code may not get released at the same time. At times designers are using code the developers have created but they use it in a way which will either slow down the site or cause it to crash completely - for example calling Functions.GetAddress().PhoneNumber and then Functions.GetAddress().Address1 where the GetAddress method is calling a webservice each time, if the GetAddress call fails and returns null they are not checking for null references etc and there is no error handling.

Basically the entire thing is a complete unmanaged mess which scares me to death considering I am soon going to be completely responsible for it. This is also across 3 or 4 large business critical websites. I am trying to figure out the best way going forward so that the designers can continue to create pages and design assets they need while also accessing certain exposed properties as required.

Currently on the Windows development side of things we are using Team System 2010 but this won't be appropriate for the designers as they need source control integrated into the shell where they can edit images and flash which SourceSafe currently lets them do (badly).

I think the first step is to split up the code development / data access side of things into a completely seperate project which can be referenced as a dll from different web projects which I will get created for each site under a single solution. I then need to sort out a way that we are publishing the complete site everytime an update is made - so obviously it is important that only completed / tested work is checked in - I think this is going to be incredibly tough to sort out with the design team as they are unused to source control and just upload pages one by one as they complete work / fix bugs on them. Basically I need help/ideas/pointers for the right way to go about this!

Was it helpful?

Solution

Doing what you suggested yourself (i.e. complete releases, separating backend from frontend, etc.) will improve your work greatly considerring the current situation. Of course there are a lot of things you can ultimately do like introducing unit tests, dependency injection, etc. but I believe one pattern that might be directly useful when dealing with developers and designers in Web Forms environment is the MVP pattern. Here is a wonderful presentation on the subject: http://live.visitmix.com/MIX10/Sessions/EX20

OTHER TIPS

Wiredness - your 1st task is to create your 'insurance' document which is delivered to management outlining your concerns, findings and your plan for your plan of attack. that plan of attack would be outlined in a risk document well ahead of implementing any strategies.

honestly, it's worth it if you are going to become the project owner.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top