By Nick Casares
Things move quickly for the design team at CX. Our development ninjas embrace Agile software development, and as the design lead, it’s my job to make sure design deliverables match pace with the delivery of new cloud storage features. To say this is a challenge would be an understatement.
To understand why this is a challenge, one has to know a little about software development history. Until about 10 years ago, software has been designed and developed using a waterfall approach. This approach is divided into deliberate phases and includes a lot of upfront planning. While plenty of good software has been developed using waterfall, it has a reputation for being a slow, cumbersome process that can lead to extended release dates and long lead times for new features.
Enter the Agile software development process. Around 2001, a group of developers got together and penned the Agile Manifesto. The manifesto addresses many of the pain points of waterfall development while promoting a new, lightweight process that stresses working software over heavy frameworks. One of the core principles of Agile is to ship code early and often and to get real world feedback in as little time as possible. When practiced diligently, software teams can see huge productivity gains from implementing Agile.
Design is inherently a waterfall process. From print houses to design agenicies, design has a reputation for following a deliberate workflow that includes lots of upfront planning and check-in points throughout a project. In some ways, this is a good thing, as it allows designers to align their understanding of a project with stakeholders and gives clients the opportunity to raise concerns before a project goes to final production. Keep in mind that “final production” could very well have significant economic consequences for the client. A misinterpreted brief could easily turn into a $50,000 mistake at the print house.
So, what does Agile have to do with design, and can they work together? In short, yes. Agile and design can work very well together, but it takes a consistent, coordinated effort by the entire team. Because Agile is designed to move quickly, the design team must move quickly to keep up. Design deliverables such as style guides and detailed interaction specs are often replaced by sketches, conversations and live working code. Additionally, the entire team must commit to a culture of open communication. An Agile design team has to get over the idea of sending specs to the developers and considering the work “done”. Instead, an Agile designer knows that a wireframe is just the beginning. Conversation and collaboration become critical tools for filling in the gaps of lightweight deliverables.
An important piece of an Agile designer mindset is that deliverables are just artifacts of the design process. The actual “thing” we deliver is less important than the ideas that it communicates. A napkin is just as good as a mockup or a sitemap as long as it communicates the design idea.
So what kind of deliverables do we produce at CX? The way we communicate design changes from day to day, but our “go to” list includes:
- Lightweight wireframes and prototypes
- Working front-end code
- An open mind
In general, we keep things as lo-fi as possible to keep up with the workload, but there are times when a nice hi-fi comp is still a great way to go. Our toolset also varies, but we lean toward tools that are fast and nimble. A few of our favorites include:
So, that’s just a taste of how we keep our design team lean at CX. In a future post I’ll dive in to more details about our actual work process. Happy uploading!