This can be quite a challenge at times. First thing is to be very patient and respectful.
As a programmer myself, we have a tendency to over do stuff and want to redo things. Prioritizing is not our greatest strenght :) This is our nature.
A good boss will know this and ask many questions as to validate priorities, control costs and sometimes just to learn things. Just be honest as to why you want to rewrite such and such module or why it will take a week to properly do something when it seems that it could be done in 2 days.
As to 'how' to communicate with non-technical people, I've always found the easiest way to explain things is to use analogy. Try to use an analogy which suites his/her line of expertise.
For example, my girlfriend works as a corporate HR. One day she asked me what I meant when she overheard me talking with my peers about proxies and our cacheing system.
I explained that she filed her documents in filing cabinets in an organized manner. But she only had enough room in her office for one cabinet but had thousands of documents. So her remaining documents (to her choosing, more than likely older ones), would be sent downstairs to the storage room. These would be accessible to her but only uppon request and with a certain delay. Very old and unused documents were transferred to a massive storage area in another building and required a huge amount of time to get access to them should she need them.
As for the proxy, I explained to her that when she requested many documents at once (some from her filing cabinet, some from downstairs and some from the other building), her secretary knew the priority of the documents -- those she would need right away and those she would need by the end of the day. So of the 15 documents she requested, her secretary dropped 15 folders on her desk. Little did she know that the bottom few had no actual documents in them. But this gave her secretary time (during the day) to go downstairs and to the other building to collect the documents and discretely insert them into their appropriate folders.
With a simple analogy, she learned cache size, cache locality and cache efficiency, etc. But it was explained in a way to understand but most importantly in a way that she wouldn't forget which is just as important.
Hope this helps.
Jeach!