Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

we have recently launched a Beta version of our site. This version is currently online in public Beta, but the concept has evolved and change and our developer are about to implement those changes. There are visual, usability and core functions changes. My question is should we start the site in a new version, on new basis to avoid messy code and duplication of functions? Alternatively, should we have planned our site in perspective of doing those change to core features Without having to Restart from the scratch?

We do those change because after 2 months online, we have updated our concept from user feedback and because we are an agile team. Our main hesitation is the time that will take to start from scratch. We have worked 8 months with 1 1/2 developers to have the current online version. We now have two developers, experiences, a lot of script and functions already developed, this will accelerate things?

Did we do something wrong or is it a normal situation for a web startup? This is normal to always ask for change and think of update to fit the market? Do you have any advice?

Thanks alot

share|improve this question

4 Answers

Gosselin07, there is no way to answer your question based on a post on a discussion forum... To answer, a good architect with deep knowledge of the programming language you're using would have to deep dive into your codebase.

But in general, my take is it's almost never a good idea to rewrite a codebase from scratch. Joel Spolsky wrote a classical piece on rewriting codebases, which I think you should read.

share|improve this answer
Thanks, great article. Actually we are not throwing things... We are simply aligning things according to our needs, and those some modules/sections needs to be rewritten for compliance. We are going to use whatever we can from the existing platform. so its not going to be a totally fresh rewrite as per see. – gosselin07 May 11 '10 at 15:07
@gosselin07: Well, if you are not completely re-writing those modules either, but are more moving bits and pieces around, and re-writing small bits, then you're doing "refactoring". That is a completely normal and productive activity. Again it gets a little long to explain more in depth, and especially it sounds as if programming is not your core competence, but refactoring is fine especially if it's well supported by supporting systems and know-how such as unit testing and programmers familiar with agile methodologies. – Jesper Mortensen May 11 '10 at 15:33
IF the question is really "We now understand the business problem better. Should we refactor our codebase right now to match this better understanding?" then the answer to that is generally "yes!". You can let your architecture be 'messy' for a short while if you have good reasons for it. But the longer you postpone cleaning it up, the more technology debt do you incur. And technology debt can ultimately kill your business agility. – Jesper Mortensen May 11 '10 at 15:41

Depends a lot on your technology and how good your architecture is in general. Sadly, 9% chance that the answer is "it sucks, architecture wise" and you get problems now with things getting more complicated all over the place.

Tell us a little more of what you did use ;) YOu have proper IDE's with refactoring support? A proper web framework separating logic and presentation and unit tests for all the logic modules?

share|improve this answer
Our site is build with Codeigniter over Mysql. I'm not a developer but I can answer some technical question ;) – gosselin07 May 11 '10 at 14:14
So basically crapwork ;) No integration, no unit testing, no IDE with refactoring? ;) Have fun with that one. – NetTecture May 11 '10 at 15:47
We have a devserver (our testing unit) and a prodserver. – gosselin07 May 11 '10 at 18:54

All codebases are full of cruft; don't believe otherwise.

Just go forth and do what your customers want. Chase revenue. You can clean up some stuff later and the rest... that's software development, welcome!

share|improve this answer
Ok, so this is normal to have a bunch of unused PHP file in our FTP server that we will finally never use? We'll have all the time to do a clean up later... – gosselin07 May 12 '10 at 12:03
We have entire subsystems where we're not sure what's in use. Yes. Is it GOOD? No. Should you schedule time for clean-up? Yes. Even just one day a month that's officially "clean up" day can go a long way. – Jason May 12 '10 at 14:19

Regardless of what you want to call it, if you rebuild from scratch, you've got another beta. You've learned a lot from the previous trial and gained user input, but it won't be truly tested until you get it in front of the users. Do you really want to put them through that again? You're agile; change should be easy ;)

share|improve this answer
Yeah, I think that our Lizard Brain told us to start from scratch. We must ignore it. Thanks alot. – gosselin07 May 11 '10 at 15:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.