Listen. Build. Verify. (repeat)
My first step in any professional relationship is to listen. I need to hear what the client wants built; I need to hear why; and I need to hear many of those nuances the client is not saying.
From there we can sketch up an initial set of requirements. This may be a visual drawing of the main page(s) on the site. It may be a narrative of user tasks, goals, and workflow scenarios. It may be a diagram of the database structure and example content. It may be all of the above.
In general, the more clearly the requirements are defined, the easier and faster my work will be, and more satisfying the relationship between us.
As your features are refined and prioritized, I begin implementing them, in small sizable chunks at a time. The results are deployed to a live website (or staging server) for review and discussion (optimally, including cooperative end-users).
(image courtesy of ResolveDigital )
This iterative process with rapid feedback cycles is the basis of contemporary "agile" development. The work is driven by business requirements. And with tight turnaround between design, implementation, and feedback from the stakeholders, the next steps can be prioritized, requirements can be refined, and the project kept on track.
Other times, projects I work on are already well under way, or at least, the work already partitioned. My approach is still agile, only in this case the stakeholders are others within the team.
Communications between everyone is important. Typically, being remote (working from my home-office), we'll rely heavily on email, phones, and collaborative online tools. Face-to-face meetings are important, albeit using Skype if not in person.
So, I'm ready to listen. What do you say?