1 September 2015
How One Developer Learned to Appreciate Upfront Design
I used to be a web designer. I made and maintained some public-facing corporate websites. So when I began developing, my only concept of design was the graphic kind. Design for selling; not design for using.
When I started freelancing as a developer, I could make functional software with no design at all. I could build an entire app then give my work to a designer to make it look good.
That turned out to be hard. I didn’t understand why I spent a lot of time building the wrong thing. I stopped freelancing and switched to a long-term contract, but things weren’t much different at the companies I worked at along the way.
When we hired designers at Gaslight, I experienced the benefits of up-front design. Wireframes and prototypes simplified my job and allowed me to develop faster and with more confidence. By getting the client more involved in the planning, we typically built the right thing from the outset.
How We Work Now
We follow an up-front design workflow that changes things up from a project management perspective. Designers work one software feature ahead of the developers. They’re planning out workflows and user interfaces for the next set of features we’ll develop. We’re building out the last set of features that already went through the design team.
On the project I’m working on now with Sharethrough, we’ll work toward two to three milestone goals each quarter. We kick off each milestone with a full-team discussion–developers, designers and product owner–about the reasons behind it.
Then our designers, Kenny and Sophie, will create drawings or diagrams that outline the process. They’re always working to understand the needs and motivations of users, and they pull ideas from both users and developers as the they iterate designs. This process takes about a week.
Once users are excited, Kenny and Sophie build out prototypes with HTML, CSS and JavaScript. They upload them to a prototype space where the developers can later pull down the markup. This generally takes a few days then they present them to the whole team. Developers give feedback about any changes that might decrease development time and set overall expectations for how long it will take to complete the development work.
A few days later we all meet again to break down those prototypes into individual user stories. After the development work is done, the designers might make a few final tweaks to the design as needed.
It’s a really successful way to work. Every bit of planning and research makes the whole team more confident and efficient. Designers are the conduit through which the business ideas transform into tangible software.