Agile Development and User Centered Design

Agile Development and User Centered Design

In software development, there is a salient need for quick and steady progress in the expansion, creation, and execution of fresh ideas. Developers are always looking for ways to make work faster and cleaner. Unfortunately, a lot of time and brainpower is initially spent on doing lengthy and separate requirements analysis before moving on to design and then implementation.

Agile development seeks to significantly eliminate the time spent on planning; helping the developer place their focus strictly on the production of working live codes as fast and as accurately as possible. The feedback received from base levels is then used to make sure product is useful.

How Agile Works

Agile methods being relatively new employs the use of Scrum and Extreme programming (XP). The agile approach is basically:

  • Short sprints of coding that happen between 1 to 4 weeks
  • Function is decided at the beginning
  • Code is tested at the end of the sprint
  • Team reflection

Theoretically, the project should be thoroughly evaluated at the end of each sprint to decide the best and next course of action. However, in real life, there is hardly any time for corrections and what is defined at the start generally becomes what’s implemented.

Agile methods eliminate lengthy documentation in favor of personal interactions with the customers. This, in turn, minimizes confusion in the coding process since customers can directly relate their needs to the developer immediately an idea comes up. Index cards are used to relate ideas and details are expanded in conversation.

While this is awesome in theory, teams often find it hard to get real feedback as time is limited, clients may not be available and developers may not be trained in customer care.

At Biztruss, we have not been spared of the vagaries presented by this cyclical process, which is more often human than system dependent. And like companies of the modern day, our challenge is always to discuss and understand till it hurts, which has effectively brought us to adopt the Contextual Design technique to supplement the productivity of the Agile Methodology we adopt for our Client projects.

Contextual Design In Agile

Contextual design involves implementing an initial process known as phase 0 before moving on to agile development. In phase 0 clients are able to provide comprehensive feedback on their exact needs. So as to give the agile team a concrete idea of what the customer actually desires before work begins.

This method helps the UX designers and developers develop accurate prototypes at a faster rate within the time limits of a sprint. Phase 0 is usually a 4 to 10-week process and the following are achieved:

  • Determination of actual customer needs
  • Field research
  • Brainstorming on ideas
  • Quick interaction design patterns and User environment design to maintain standards
  • Paper prototypes

Working with Agile

To ensure a successful agile development, a phase 0 has to be implemented. Adopting agile development basically entails:

  • Finding the scope of the project
  • Identifying your market
  • Running your phase 0
  • Developing architecture
  • Managing developers

Personally, the effective implementation of the Phase 0 stage has been instrumental in not just simplifying every requirement that we have been working on, but also in understanding the the human centered big picture approach, in essence, looking at every requirement just as much from a release perspective as from a long term user feedback perspective

Agile development principles and user-centered design share several similarities, hence, the compatibility. For example, iterations are made available to the customer as it is being executed, as opposed to the concept of waiting for weeks. This opens up the possibility of identifying potential problems as early as possible, eliminating the complexity of reworking.

Basically, user-centered design, when merged with Agile, engenders the following benefits;

  • Minimization of risk in the project
  • Improved customer engagement
  • Better insight into problem at hand
  • Iterative testing and validation process

Agile methods have gained widespread acceptance in organizations due to the increase in productivity. A user-centric approach is a development style which espouses engagement, visualizing the solution. This process, in the nearest future, will be the solution to eliminating the inherent struggles of organizations.

Biztruss has been working with Early Stagers, Mid-Tier and large entities on a wide variety of requirements ranging from Minimum Viable Products to large applications, each of which call for a unique approach to be employed for more than 14 years now. We believe we are in an eternal Beta state and love to adopt innovative approaches that result in improved productivity and client satisfaction. The blog attempts to communicate these takeaways with our readers.

We’ll be back with yet another blog from our shelves shortly.

Till then, Stay Agile.

Biztruss Newsleter Liked this Article?

Sign up for our biweekly updates on Digital Technology, Marketing and Strategy tips.

​All emails ​include an unsubscribe link. You ​may opt-out at any time. ​
See our privacy policy.