Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Well, Joel Test is definitely intended for a larger software development organizations than yours.<br> So don't forget to use common sense before trying to achieve 12 on it (this advice stands for any organization size, though :-) ).</p> <p>For a sole developer I would recommend the following.</p> <ol> <li><p>Source control system is a must. Otherwise you would quickly get yourself in a mess like 'I guess, this bug was introduced two weeks ago when I added a function over there...'.<br> Subversion is a good choice for a start. Git and Perforce are also good candidates (the latter one costs money, though they offer a free license for 2 users). I wouldn't recommend Microsoft tools here.</p></li> <li><p>Task (bug/feature) database is also a must, because you want to know where you are going and to track the progress. If there're just one or two people involved, a fully-fledged issue tracking system is not necessary. It is nice to have one, but for most practical purposes an Excel spredsheet will be fine.<br> You could try Jira (afair, they offer free licenses for organisations with &lt;10 developers) or Trac.</p></li> <li><p>Writing a spec before coding. This might be not obvious, but specs are useful. It makes you think through many details of your future implementation far before you get to actually implement it, and thus saves you from spending lots of time going in a wrong direction. Additionally, a good spec would be helpful for your customer, your successor in a project and so on.</p></li> <li><p>Consistent deployment procedure. Don't upload a code from your development configuration to production. It is very easy to forget about some important change you just made, or some debug code yor added, or some uncommitted files and so on. Make a rule that every change goes to source control first, then it is rebuilt from source countrol and tested, after that it is deployed to production.<br> If your project is small, using a build server might be an overkill, so a simple batch file, or Powershell script, or Nant script will do. In either case, make sure that there is as liitle difference as possible between the build process your dev configuration and the automated build (to avoid 'it works on my machine' syndrome).<br> Good build servers to try are CruiseControl.Net (FOSS) and TeamCity (free for small projects).</p></li> <li><p>Automated testing. Manual testing, if done properly, is expensive it terms of man-hours spent. Manual testing performed by a developer and/or a customer is usually not done properly and thus not very useful. Automated testing is not easy either, but in a long run it could save you from a lot of headache. Unit testing is a minimum you need for a small project, system testing is harder to do, so probably a few automated (or even manual) sanity checks before and after deployment will do. MSTest or NUnit are good unit testing frameworks.</p></li> </ol> <p>Daily build per se won't give you much. It is a good tool to catch inconsistencies introduced by different people working on different parts of the project, but for a small single-developer project it won't give you much.</p> <p>Best tools money can buy are expensive and (assuming you aren't going to use pirated software) could be unaffordable for a small company. Quite often you could get almost the same for free.<br> If you are choosing between different Visual Studio editions, pay attention to unit testing functionality - MSTest itself and code coverage support. Other differences, afair, are practically insignificant (though you could use NUnit and NCover that are free).<br> If you can afford it, Resharper is a very worthwhile investment, imho.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload