Saturday, November 4, 2017

Design Thinking and Agile Development

Over the years, software development methodologies have evolved in terms of the sophistication and volume of information needed to develop systems in increasingly complex and integrated environments. With this historical evolution, the main focus was on quality, that is, thus ensuring that traditional software development problems were solved.

All this work ended up generating an excessive load of work, as well as a volume of information often redundant and unnecessary. In order to solve this problem, several studies were done, looking for ways to dampen the software development process, applying the principles of lean thinking, recovering agility lost over time.

In this article we will look at a theme that has been talked about quite a bit in recent years: Design Thinking. But what is the relation between Design Thinking and Agile Development? That's what we'll discover here. 

First, let's take a closer look at the general concept of Design Thinking.


Basic Concepts of Design Thinking

When we talk about this subject, we must first understand that Design Thinking is not a process or a methodology, but rather a philosophy (or way of seeing design) that seeks solutions mainly to analyze the user and its context under different angles and perspectives.

Design Thinking is a new way of thinking and tackling problems. A new mental model.

This approach has some fundamental aspects, such as: Immersion, Analysis and Synthesis, Ideation and Prototyping.



Immersion

Immersion is the initial phase, that is, at which point the project team approaches the context of the problem, both from the point of view of the client and the user.

Analysis and Synthesis

I believe that this is one of the most important moments, because this is where we will begin to have insights for possible ideas, generating some artifacts like personas, empathy map, user journey, among many others.

Ideation

It is the time when the team will begin to generate ideas to solve the identified problems, having as support material the insights created in the previous stage. It is very common to use collective creativity activities (such as brainstorming) and prioritization. It is important to remember that in this phase, it is critical that the team be diversified (developers, designers, business people, administrators, marketing, among others), because the more different skills and experiences are involved, the more ideas will emerge. In the end the team will have several hypotheses prioritized to be validated.

Prototype

At a time when the hypotheses are no longer so abstract and they become something more tangible. In general, paper prototypes are made because of speed and ease of work, but there are also digital prototypes. In either case, they may have low, medium or high fidelity relative to the final "product." After its construction, it is time to validate them with the possible users of your project, product or service. At the end of this phase, the unvalidated hypotheses return to the previous phases to be reworked, otherwise they are only discarded once and for all.

As you can see, Design Thinking is a very collaborative approach, user-oriented (all of its context) and, although it seems to be complex, it is quite simple to apply. But the question is what does all this have in common with the agile world?


Integration between Design Thinking and Agile Development

The motivation for this integration arises from the limitation of each of the approaches: Agile methodologies are limited in relation to practices aimed at understanding the problem to be solved. On the other hand, Design Thinking explores implementation of the products.

It is noticeable that Design Thinking is perfectly aligned with the agile manifesto. Its collaborative aspect shows us that the participation of all stakeholders in the initial stages of the project brings great benefits for all, especially for the client. Only this factor already covers three of the four values found in the agile mindset.

We emphasize that these steps need not be done just at the beginning of the project. Like Scrum, Design Thinking also works as a framework, and can be tailored to your needs throughout the project. However, it is necessary to respect its premises, that is, not leave aside the collaborative aspect and neither the users and their contexts.

It is also clear that Design Thinking is a great way to raise requirements that are totally focused on the needs of users, and can bring very interesting results, such as the greater adherence of your project to your target audience and, consequently, making the return on investment faster for the customer.

However, to be able to identify the needs of the user, it is important that the team is aware that this is not just a "designer thing", that is, its multidisciplinary aspect is paramount to its success, reflecting only the essence of design.

Another point that stands out is that its application within the agile context results in a strand called Agile UX, that is, using the principles of Design Thinking and Lean UX within the Scrum sprint.

The last point that we perceive is its relation with Visual Thinking, that is, to be able to structure ideas in a visual way. Some of the techniques used in Design Thinking are a good example of this issue (business model canvas and map of empathy, for example), and serve as inspiration for facilitation techniques in important ceremonies such as the Sprint Retrospective and even Sprint Zero (or Pre-Game) of Scrum for example.

Therefore, we can verify that the relationship between the agile world and the Design Thinking is much closer than it seems, having as essential factor the collaboration and the multidisciplinarity, being able to bring very good results for all sides. Another interesting point is that by having these characteristics, everyone involved feels more responsible for the project which is a great way to increase the engagement of the team and even the client.

The integration between the two, Design Thinking and Agile Development, is already a reality in companies of the digital world. Where projects are often treated as startups, they are innovative and extremely designed.


A Challenge: Design Thinking and fast development cycles

A challenge encountered in working with Design Thinking and with agile methods is the need to make fast developments cycles. To meet this need, a widely accepted and applied concept is the MVP (Minimum Viable Product).

It consists of developing the product in smaller scales, however, focusing on meeting the expectations, already generating value for the customer. The classic illustration that represents a comparison between iterative development and MVP shows that already in a first delivery the product is already functional and allows the user to perceive its value.

The MVP technique is largely adopted by the followers of agile methods - this method also presents an excellent integration with Design Thinking, since it shares the same principles regarding prototyping.

The combination of these methods allows a significant simplification and acceleration of creative work and solution development, so organizations, companies and individuals can approach the pace at which innovations are being implemented in the digital age, further fueling competitiveness. Are you prepared?