From: Shadowfirebird Date: 2011-02-08T18:25:50+09:00 Subject: Re: Totally lost in learning Ruby > Clarify your requirements *first*. Write down a list of things that > your system needs to do, e.g. things like "someone in every school in > the district needs to be able to enter course grades" or "I want to be > notified immediately if some metric X changes". Then we can start > about thinking how such a solution might look like and finally we can > help you develop a curriculum for your training so you can build what > you want. I do assume though that it will take you in the order of > months to arrive there if you do not have an IT background. I second that. Work out exactly what you want the product to do. Then work out the smallest set of functionality that would make the product at all meaningful: cross off all the bells and whistles, then look at what's left and pick out the most important part; then cross off everything else. That's the bit you want to make first. Three reasons for not making it all at once: first, you want to get to a point where you can test what you have done as fast as possible; second, you get something that you can show others, which might be important. Third and most importantly, it's an unpleasant fact that you will almost certainly get to the testing stage and realise that with what you know now, you would have done many things differently. You may have to start over. I would say, don't try and learn how to make the product at the same time as making it. But there is no point in that - the truth is you will learn as much in making your first attempt as you do beforehand. Personally, I'd start by designing the database, but others will tell you to design the interaction with the users first. I'm not sure there is one correct way; do what feels right.