- Understand your boss's needs from his/her perspective.
- What good it is going to do ?
- What is going to be done ?
- When it is going to be done ?
- Do we really need it ?
- What are the consequences of this ?
- How able you are to do the work ?
- Whom he needs to tell and when ?
- Does it require more money to spend on sorftware/hardware ?
- What if I say no ?
- What do I need to commit if I say yes ?
- How I am going to manage it ?
- How your time can be used otherwise ?
- How much time needs to be invested in analysis/design ?
- Asses your boss's technical knowledge
- Programming Languages
- Available Technology
- Development Terminology
- Rough Idea of Development Time
- Company Resources
- Write down on Paper
- Answer of boss's needs, as many as possible
- Technical specs overview keeping boss's knowledge-depth in mind.
- Modify your writing to present it effectively.
- Apply common-sense.
- Apply experience
I guess that in the beginning it will take time to come up with answers of these questin. You may have to dig in little bit, knowing the past, current news and future. Once you have got the mind set it would be relatively easy to figure out for the future.