This is by no means complete but these are some of the tools that we use at Artha42. (http://www.artha42.com)
On Mon, Dec 21, 2009 at 7:57 AM, Suresh Kumar Subramanian <[email protected]> wrote: > All, > > I am intrested to know the open source software on all the stages of the > software development life cycle or product development life cycle. > > 1)Document writing tools (requirement capture,analysis,design,etc) Almost all the project management tools that I know are crap. I don't think there is even one good product. But redmine(http://www.redmine.org/) cuts it real close. I myself use Pivotal Tracker (http://www.pivotaltracker.com) for tracking the user stories and bugs. Since most of the content we produce is visual (web apps) we mock up heavily before building. I like the interface first approach to building software. So we use Balsamiq Mockups(http://www.balsamiq.com/) for that. It is not open source but it is totally worth it. Not all proprietary software is evil. :-) > 2)Document Review Wiki on Redmine is good enough. > 3)Code Review This should be integrated with your source code system. For me, I work from both home and office and I need a server to be present online to do the code review. I am a huge fan of git(http://git-scm.com/) so I evaluated gitorious(http://gitorious.org/). It is a memory hog and needs constant maintenance. So, I switched to using github for our internal projects too. I does involve a small cost but it is totally worth it. Besides you still own all the information on the git repo. It is a wonderful service to visualize and organize the information in your git repo. It is amazing for code reviews. BTW, you must read on their architecture (http://github.com/blog/530-how-we-made-github-fast). It is quite impressive. The amount of open source projects that have come out of github alone is mind boggling. We work on our individual branches for tasks and merge them continuously. > 4)Software Version control If you are not using git, you are missing out on a lot. Mercurial is also good. But I personally like the way git handles branches. It is very transparent. I am not sure if mercurial supports cherry picking commits. But git does. So it makes it really simple especially when you are working on separate branches. > 5)Development - c I am not sure about it here. Emacs or Vim is pretty good i guess. > 6)Bug Tracking Again, I havent found anything that is prefect here. I did the mistake of choosing pivotal for a project. I regret it till now. Redmine is decent for bugs. Also there are tools like bugzilla. > 7)Test Managent I am a ruby guy so I like shoulda a lot. Test/Unit, Shoulda, ObjectDaddy and Rake are my weapons of choice. I am not sure of the equivalents in C. > 8) Test Automation I think you meant continuous integration here. I guess hudson is good here. I personally use a very lightweight tool called integrity (http://integrityapp.com/). This works only with git. But it is perfectly fine for us. The app itself is very lean and the source very readable. > 9)Document Manager We use wikis and source control to store documents. It is not the best way but its okay. I have been urging my team to use only text for documentation. I myself use rst and rst2pdf for documentation. But others prefer a more visual tool like open office. There is an inherent mismatch in the way documents and source code are to be versioned. Documents are versioned individually while source code should be versioned as a tree. Also documents tend to be linearly versioned. In a sense that the probability of a merge conflict in a document is almost close to zero. However, this happens almost all the time with code. So the solution would be to have a separate repo for documents and still have them versioned. This is what we do for documents but I know this is not perfect. If others have a better approach do let us know. > Please include any other category... > And we of course use Google Apps for our domain. My 2 paise. Regards, Vagmi _______________________________________________ ILUGC Mailing List: http://www.ae.iitm.ac.in/mailman/listinfo/ilugc
