pankaj wrote:
>  It will be nice if every one can share the process and the best
> practices followed for technical design of a Rails project. May be in
> the end we can come up with a common template(if needed).
> 
> Let me start first
> 
> Following are the steps I do before starting to code a Rails project.
> 
> 1.) Identify the resources : like user, article, comments etc.
> 2.) Identify the  tables and their  fields with data types.
> 3.) Identify the models and their relationships.
> 4.) Identify controllers and actions in them, and corresponding views.
> 5.) List of plugins to use.
> 6.) Identify methods in models their inputs and outputs(most of this
> is done at run time.)

The problem with any attempts to "standardize" the technical design 
process is that different people work in very different ways. Sometimes 
we even approach different projects in different ways.

My general process is practically inverted from what you describe here. 
I generally start by designing the user interfaces first, then let the 
resources naturally flow in support of the user interface.

This basic process is described here:
http://gettingreal.37signals.com/ch06_From_Idea_to_Implementation.php

What you have described above is a model-driven design. This process 
might work if much is known upfront about your system's requirements. 
However, from my experience, that doesn't often line up with reality.

The design of the user interface is the primary consideration for great 
software. It should be considered even above features. Contrary to 
popular belief, greatness in software is not directly related to feature 
count. Many of the best applications actually have a somewhat limited 
feature set. Instead they rely on outstanding implementation of the 
features they do provide through intuitive and creative user interfaces. 
To be successful one must focus on providing access to the features of 
an application. Features are of no use to the user if they can't find or 
understand those features.

Efforts to "standardize" the software development process have been 
attempted innumerable times since the early days of software 
development. Strict engineering principals are almost always 
ineffective, and are in opposition to the creative processes involved in 
most software design.

http://martinfowler.com/articles/newMethodology.html#SeparationOfDesignAndConstruction
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to