DEV Community

Cover image for Agile Doesn't Mean No Design
Travis Ramos
Travis Ramos

Posted on • Originally published at travislramos.com

Agile Doesn't Mean No Design

Let’s address something that is not only important, but will save you time. Utilizing design and design thinking throughout your agile process. Let me explain.

What is Agile?

Agile is a software development methodology that has been in use for many years. It has helped many organizations to come up with the best possible product. It helps in creating a process that is flexible, iterative and incremental. This methodology ensures that the customer gets what they want and the developers are able to deliver it as soon as possible.

Should Design Be An Afterthought?

The short answer…NO! Now let me elaborate.

Design, specifically when it comes to application development, can be split up into two major categories, user experience and user interface.

User interface is any visual or interactive feature of the application the user will interact with. Everything from the typography, buttons, colors, animations, etc… and all of this combined help to give the user a great interface so the app is intuitive to use.

User experience is the feeling the user gets while interacting with the application. Was it easy and fun or was there friction and doubt. UX helps to increase the application’s ease and user friendliness.

Combining both of these will help to create a realistic prototype of the application which can then be passed on to the developers. Doing so will simplify the development process by providing a visual representation of the application which makes it easier to understand and implement.

Design can't be an afterthought. It needs to be integrated into every step of the development/agile process so as to create products with a competitive edge in the least amount of time.

This leads us to the next point…design thinking.

What is Design Thinking and How Can it Help?

Design thinking is a process that combines the best of human creativity and analytical reasoning to solve problems. It can be applied to any type of problem and in any field.

Design thinking has been used in many domains, such as education, healthcare, and business. It is also a great way for agile teams to work more efficiently together. When it comes to application development design thinking has a home here as well.

Design thinking steps

There are 5 key stages to design thinking:

  • Empathy
    • This step involves looking at things through a user's point of view to help see how they might be feeling or what their experience is. During this stage you’ll engage with your target audience.
  • Definition
    • After observations, you’ll use what you have discovered to help define a clear problem and how to address it.
  • Ideation
    • After defining your problem, the next step is to come up with as many ideas and solutions as possible that help to address the issue. You’ll want to think outside the box and explore new ways of solving the problem.
  • Prototyping
    • After narrowing down your ideas, you’ll build some prototypes to test your ideas in a relatively timely manner. Each prototype should be built with a clear goal in mind.
  • Testing
    • The last step involves testing your prototypes with users to see how they fair in a real world scenario. During this time, you’ll observe the targeted users to see how they interact with the prototype and find out if it solves the problem.

Combining and utilizing all of these throughout the development lifecycle will help the team rapidly ideate and experiment, keep the user needs front and center, move seamlessly from prototype to product, and promote consistency and reuse throughout your application.

Design thinking has been proven to be faster and more productive than traditional brainstorming or other methods of group decision-making. Don’t just take my word for it, check out how IBM has used design thinking to not only increase team efficiency by as much as 75%, but also has given them a 300% return on investment!

Taking a “design thinking” approach to a problem often helps you to think about things from a different perspective which will ultimately give you a better insight into the needs of your users. This form of thinking can really help to identify what your users' needs are, what needs are being met by the product or service being designed, what needs aren’t being met, and how the design could address these unmet needs.

Why Include Design in Agile?

Design is an integral part of the agile development process. It can be used in the design phase to make the product more user-friendly, or in the development phase to ensure that it is well-built and functional.

Including design in your agile process can help tremendously by laying out clear product requirements, prioritizing features, and ensuring that usability is top-of-mind.

From hard earned experience I can say that being a part of a team that doesn’t include design during the agile/software development life cycle has not only slowed development down, but has at times taken some of the joy out of application development. Trying to understand what to build without so much as a low fidelity mock-up is like trying to get to an unknown destination without a map to guide you there. It just adds extra friction that can and should be avoided. And don’t get me started on the additional, often unnecessary meetings that result!  For all of these reasons, including design in your agile process is a necessity.

You’ll save time, jettison unneeded meetings, deliver more customer friendly solutions and ultimately have more fun - which your team will graciously thank you for!

Top comments (0)