Process for Specifying Software


I am planning in developing an application for my final undergraduate
project and I am thinking of using Ruby On Rails to implement it.

But I need to follow a kind of process or bibliography that can describe
how to specify software development.

Does anybody knows any process that I can follow when programming Ruby
On Rails applications?

As I am sure you know, there are many different processes for software development. They all have different characteristics which make some more suitable for any given application than others.

It sounds like the most important requirement for the process you need is that it fulfils your examiner's requirements. Some processes, for example, are less formal than others and you don't want to choose one so informal that it doesn't qualify from the point of view of your examiners.

Rails allows quick and clean development thanks largely to the nature of Ruby. So I suggest you choose a process which allows you to move quickly -- i.e. one with less formality or ceremony. So steer clear of, say, the Rational Unified Process and towards one of the ones falling under the Agile banner.

At the end of the day, different people will recommend different processes. There's no right or wrong answer. Personally I like Getting Real[1] but it might not meet either your examiner's requirements or your tastes.

Hope that helps,
Andy Stewart


Well Rails was designed to be usable in an agile context. From some war
stories I have heard, you kill off any benefits to Rails (productivity) by not
using it in an Agile context.

As for using UML to sketch MVC systems for Rails. I would backpedal on
that. It would take you longer to model them than it would take to implement
them in Rails, and then you can use Rails visualisation tools to extract a
UML/visual representation from your code. As a side effect, you also have
the entire skeleton of your app done.