Agile Development is a set of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
The mode and style of project management is vital in today’s fast paced digital economy. In the past there was a focus on phased approaches to design and implementation called Waterfall where phases of research, opportunity definition, design and implementation were completed in sequence – this was typified in product design and software development.
Agile shifts the emphasis to implementation through sprints to develop a series of ‘drops’ as key features are developed based on MoSCoW prioritisation (Must have, Should have, Could have, Want to have). The product is built and scaled, based on “Must’ have needs being a priority, to create an MVP, and additional features built subsequently. Agile uses a scrum approach where the team meets each morning to assess progress, identify blocks and allocate resource.
This works well for software products or new app development but it sometimes fails to include a research and insights process or understand how the app is a touchpoint in a larger and distributed service ecology.
Both Waterfall and Agile have strengths, weaknesses and their own merits, but used separately they are limited and flawed.
HCD & Contextual Research
Understanding users needs and importantly their desires is key. Increasingly ‘wants’ rather than ‘needs’ motivate customers. For example, customers ‘need’ to text messages but they ‘want’ an iPhone. Customers want a great experience and the social cache of owning a premium brand and awesome products. In short cusotmers are seeking self-actualisation and they are willing pay a premium for it.
To understand ‘wants’ and ‘desires’ we need to intimately know and understand our customers; their attitudes and values. To do this we need to undertake sustained research at the beginning and throughout the early phases of a project through ‘conversations’. However, we need to work quickly and with agility, without over committing resource to design directions that might fail in the market place.
This is where WAgile becomes attractive. It takes the best features and benefits of Waterfall and Agile to combine them with HCD and Design Thinking. WAgile is an iterative design and innovation model that employs contextual research driven insights, design thinking, business science and uses sprints to work with agility in cross-functional teams to implement quickly.
At the beginning of the WAgile process I use both contextual inquiry techniques and data analytics to discover who is the ‘customer’ and what are their desires, needs and goals. I balance this with the business needs as we seek new opportunities to disrupt.
This means working closely and dialoging continually with current and potential customers. The process starts with Contextual Inquiry (CI) using ethnographic research augmented with data driven strategies where we use data garnered from customer interactions through owned, paid and social media. Each point of contact with the customer is an opportunity to harvest information and data to gain insights.
User Stories – a common currency
An important tool in the WAgile process are User Stories; the common currency of design. We describe customers tasks and goals through user stories that in turn become features and functions to design and build.
Framing the problem, defining the opportunity areas and designing solutions are based on User Stories. Then workstreams and sprints are forumlated based on MoSCoW principles working with users and the core team. This is part of the continual dialogue and conversation model with customers.
Working sometimes only a day or two ahead of the software developers, the designers use ‘Evidencing’ to bring concepts to life. Evidencing involves creating objects or ‘props’ to act out scenarios and create Rapid Experience Prototypes. The prototypes explore the way a proposed MVP and design concept will feel and perform.
By ‘Evidencing’ concepts we can animate and interact with concepts to assess their usefulness in an iterative process with users. This results in tangible evidence (as wells as stills and videos) that enables the core team make early informed judgments about the implications of the design concept.
Based on the outcomes and insights of Evidencing, the user stories are refined and translated into detailed features and specs. The information architectures are refined, wireframes are created, GUI assets are created and coding begins.
WAgile is fast, efficient and enables the user to be involved while the team implements what the user wants.