Very often skip edges and details when you are at the planning stage of a project, especially in the field of software development. Please do not feel that this is a personal failure; it is something endemic.
To counter this, many software development methodologies have emerged. Most recently, many development groups have been replaced by “flexible” methods, which focus on rapid development with a small preliminary technical design (in the end, many difficulties are discovered only when you actually begin to develop). I am currently using the Scrum system, which was great on my small team:
http://en.wikipedia.org/wiki/Agile_methods
http://en.wikipedia.org/wiki/Scrum_%28development%29
If you find that your organization does not agree with what they might see as a radical change in approach, it might be worth exploring if they would agree to develop a prototype system. This means that you could compile a code to study the technologies involved and judge how possible it is without any obligation to fully develop a quality panel, test schedules, etc. The prototype must be discarded after the feasibility has been proven or disproved, then proper development can begin, including everything that you learned in the process.
If your problem is more about time management, I would recommend the Getting Things Done approach ( http://en.wikipedia.org/wiki/Getting_things_done ). It is pragmatic and simple, focusing on making you productive, without overloading you with information that is not directly related to your current work. I found that from time to time I am overwhelmed with project ideas / functions, and it really helps to record everything and write them down later, when I have the resources available for effective work.
Hope this helps and good luck!
Dave R.
source share