When I want to develop a new application, first I'm going to design a UML and specify project details and definition. But when I start development process, I determine that I should change some parts of my idea in order to become more popular software or easier logical steps for my users or simpler process or anything else. Then, I change my code, redesign some parts of my UML and start/continue development process one time again and sure that this time I have a perfect project definition and UML, but after a while ( this time takes longer ) i determine again I should change something again ! So I get back and change my UML( sometimes not ! just continue the project without changing UML ) and so on. This process will happen over and over until I become tired or find (almost) the best state of the project or have time limitation problem!So my question is:'Can I design a perfect UML at the beginning of my project so thatdescribe the best state ever !?'or- 'Should I swear in God never everchange my UML ( and projectdefinition ) even if there is abetter one and write current state tothe end!'Another question Is changing some parts of a new idea, even if analyzed with hands of the best analyzer in the world, is inevitable ?( in order to find the best state ). I mean we can't fully simulate user experience, can we? We should see it in action.
System analysis at the begining of the project
uml;requirements;domain model;systems analysis
I think the approach is wrong. The goal is not an exercise in discipline (following a design no matter what), or to see if you can dream up something perfect the first time. The goal is to create something that is useful, and that can hopefully make some money.The main point is to define your goal properly. There are many businesses that have gone out of business because they didn't define their business properly. For example steamship companies that defined themselves as steamship companies, not transportation companies.Don't stay so focused on blindly sticking to something articifially. Adapt, innovate.Changing your mind, changing course, adapting, all the great thinkers and doers of the world have had no compunctions about changing their minds and altering their course (Lincolm, Ghandi, Malcom X, etc. etc.!)