I'm working on an app with some non-technical people and I noticed that I find it really hard to keep people in the loop of what you've been doing. I want people to understand what I'm working on and why it's taking a certain amount of time, what the result is and most importantly, generating a sense of understanding when things break or don't work as perfect as they expected.<p>It seems really easy to do with design (just show some screens, explain them, iterate on them, repeat) but the most simple tasks can be hard and the most difficult ones can be simple when programming, and I haven't yet figured out a way to tackle that.<p>How do you deal with this?
Easy, so I just finished working on a website for a client of mine. Your main problems are 1)Trust if the they trust you they know you'll deliver. 2) Deadlines, if they don't trust you give them deadlines and go to town. Once you start delivering you'll be square.<p>I'd also like to say, don't over-complicate the process. Did they ask for deadlines? Do they even want you to explain? Don't try to teach them everything, your job is to get your clients to forget about their problem and solve it, not trammel them with concern.
Early on in development, I like to draw a diagram of the components of my application and verbally explain the data flows using it. The interaction of components is natural for most people to understand, and when things break, or you need to implement new features, you can refer back to the diagram so they understand a bit more easily.<p>It's also a professional way to establish a common way to describe the components of the application