Help me convince my boss to upgrade from ASP.net 1.1 to 4.0
May 28, 2011 4:17 PM Subscribe
I need to make the case to my ultra non-techie boss for upgrading our ASP.net 1.1 website to an ASP.net 4.0 website.
I work as the lone developer (and jack-of-all-trades) in a small company which delivers its services online. Our website through which we deliver our services is poorly written. We are about to embark on a project where we will be delivering our products in different languages. This will involve serving international versions of the site and reconfiguring an arrary of reports which the site generates into multiple international languages.
The code base is a disaster, having suffered from being worked on by a single developer (me) with poor .net experience, being directed in a headless chicken fashion by a manager who had no clear idea what he wanted the product to do. After many years the patchwork of code has been hacked sufficently that it does what it is supposed to do. However the code is not very maintainable, poorly commented, not developed in a scaleable way and would probably provide enough ammunition for a moths of coding horror posts.
I want a clean slate. I have been reading up and tinkering with .NET 4.0 and learning my design patterns etc. I want the site to have a fresh start. I know I have the ability to develop the site (My experience is mainly in VB and classic ASP and SQL Server) but I am going to need guidance and I see that guidance coming in the form of an I.T. consultant who would make the big decisions in terms of site architecture and basically directing me about how to do things properly.
My question as follows. How can I make the case to my boss that it would be worth his while investing in re-developing the site?
Off the top of my head I will be mentioning the following:
Scalabililty - The site will be able to take lots of traffic.
Localization - Will allow us to easily develop international versions of the site.
Browser Compatability - Will work better will all browsers.
Masterpages will make it easier to change the change the appearance of the site.
Better interactivity with Silverlilght/Ajax.
Easier/Quicker to develop new functionality.
What else can I add to this list and how can I make the argument compelling?
I work as the lone developer (and jack-of-all-trades) in a small company which delivers its services online. Our website through which we deliver our services is poorly written. We are about to embark on a project where we will be delivering our products in different languages. This will involve serving international versions of the site and reconfiguring an arrary of reports which the site generates into multiple international languages.
The code base is a disaster, having suffered from being worked on by a single developer (me) with poor .net experience, being directed in a headless chicken fashion by a manager who had no clear idea what he wanted the product to do. After many years the patchwork of code has been hacked sufficently that it does what it is supposed to do. However the code is not very maintainable, poorly commented, not developed in a scaleable way and would probably provide enough ammunition for a moths of coding horror posts.
I want a clean slate. I have been reading up and tinkering with .NET 4.0 and learning my design patterns etc. I want the site to have a fresh start. I know I have the ability to develop the site (My experience is mainly in VB and classic ASP and SQL Server) but I am going to need guidance and I see that guidance coming in the form of an I.T. consultant who would make the big decisions in terms of site architecture and basically directing me about how to do things properly.
My question as follows. How can I make the case to my boss that it would be worth his while investing in re-developing the site?
Off the top of my head I will be mentioning the following:
Scalabililty - The site will be able to take lots of traffic.
Localization - Will allow us to easily develop international versions of the site.
Browser Compatability - Will work better will all browsers.
Masterpages will make it easier to change the change the appearance of the site.
Better interactivity with Silverlilght/Ajax.
Easier/Quicker to develop new functionality.
What else can I add to this list and how can I make the argument compelling?
I want a clean slate.
That's a rookie mistake that's killed bigger, better-funded companies than yours. It's amateurish to ask for, and if your boss lets you do it he's a fool.
Is your company solvent enough and so devoid of competitors that you can afford to sit around redoing work you've already done, solving problems you've already solved, and trying to rebuild features you've already built just because you're unhappy with the old stuff? If so, go ahead. If not, what you're asking for is to commit corporate suicide.
You have running code. Microsoft's refactoring tools are second to none; learn how to use them. Refactor, clean up, prepare to migrate, carefully, a piece at a time, and did I mention carefully? But you have working code. Don't throw that away.
posted by mhoye at 5:31 PM on May 28, 2011 [2 favorites]
That's a rookie mistake that's killed bigger, better-funded companies than yours. It's amateurish to ask for, and if your boss lets you do it he's a fool.
Is your company solvent enough and so devoid of competitors that you can afford to sit around redoing work you've already done, solving problems you've already solved, and trying to rebuild features you've already built just because you're unhappy with the old stuff? If so, go ahead. If not, what you're asking for is to commit corporate suicide.
You have running code. Microsoft's refactoring tools are second to none; learn how to use them. Refactor, clean up, prepare to migrate, carefully, a piece at a time, and did I mention carefully? But you have working code. Don't throw that away.
posted by mhoye at 5:31 PM on May 28, 2011 [2 favorites]
Just deleted my original comments after reading mhoye's response, because I assumed that you meant refactoring.
Yeah, don't rewrite from scratch. The difference is that when refactoring, you rewrite one small piece of the site at a time, maintaining the existing interfaces as much as possible so that your new code can just be dropped into place.
In terms of selling a refactoring to your boss, consider asking for permission to devote X hours a week to refactoring, and framing this as an investment with a really high return in terms of all the factors you listed above.
As a way to prove that your predictions are realistic, see if you can do a little bit of the work on your own time, before approaching him. Then pick a feature you were recently asked to implement, re-implement it much faster on top of the refactored code base and show your boss the comparison as tangible evidence of the benefits of a more general refactoring.
posted by d. z. wang at 5:42 PM on May 28, 2011
Yeah, don't rewrite from scratch. The difference is that when refactoring, you rewrite one small piece of the site at a time, maintaining the existing interfaces as much as possible so that your new code can just be dropped into place.
In terms of selling a refactoring to your boss, consider asking for permission to devote X hours a week to refactoring, and framing this as an investment with a really high return in terms of all the factors you listed above.
As a way to prove that your predictions are realistic, see if you can do a little bit of the work on your own time, before approaching him. Then pick a feature you were recently asked to implement, re-implement it much faster on top of the refactored code base and show your boss the comparison as tangible evidence of the benefits of a more general refactoring.
posted by d. z. wang at 5:42 PM on May 28, 2011
By the way, I know it sucks that you have to go above and beyond in order to talk your boss into letting you do the right thing. If you figure out a better solution, please do post back.
posted by d. z. wang at 5:44 PM on May 28, 2011
posted by d. z. wang at 5:44 PM on May 28, 2011
Response by poster: Thanks for the responses guys. Some strong opinions there. I read the joel article and I guess it makes a lot of sense. There are probably a lot of other factors motivating me. Like the knowledge that were I struck by lightning if would have great difficulty passing this project on to another developer. Refactoring might be the answer perhaps I will ask for some time to undertake this work
posted by therubettes at 12:41 AM on May 29, 2011
posted by therubettes at 12:41 AM on May 29, 2011
Best answer: Well, one piece of ammunition is that .Net 1.1 is out of mainstream support and in less than 2.5 years it will be out of extended support.
posted by mmascolino at 7:02 AM on May 29, 2011
posted by mmascolino at 7:02 AM on May 29, 2011
« Older How can I get agile, flexible and strong in a fun... | WWII veterans' lives after the war Newer »
This thread is closed to new comments.
posted by Mad_Carew at 5:12 PM on May 28, 2011