Talks

Summarized using AI

Developers, Start Designing!

Alexandra Leisse • October 01, 2015 • Ghent, Belgium

In the presentation "Developers, Start Designing!" by Alexandra Leisse at ArrrrCamp 2015, the core theme emphasizes the importance of collaboration between designers and developers in achieving superior outcomes through mutual understanding of both disciplines. Alexandra, a lead interaction designer with extensive experience working alongside developers, argues that both groups gain from learning each other's skills and perspectives.

Key points discussed throughout the presentation include:

- Importance of Knowledge Sharing: Designers are often encouraged to learn programming to understand technology, yet developers seldom reciprocate this by learning design principles. This imbalance can lead to suboptimal results and stifled collaboration.
- Real-World Examples: Alexandra shares her experience working with a database engineer named Magic, illustrating how ongoing dialogues and problem-sharing between design and engineering led to a better collaborative outcome when tackling a complex filtering problem.
- Myth-Busting Design Misconceptions: Alexandra debunks several myths about design, such as the existence of a 'genius designer' or the notion that design is purely chaos. She argues instead that systematic problem-solving and structured processes are involved in design, much like in software development.
- Process of Design: She outlines her design processes, which include iterative work and the careful detailing of ideas through sketches, akin to how developers refactor code.
- Call for Collaboration: The presentation is a call to action for developers to engage more deeply in the design process, emphasizing shared understanding and vocabulary as vital components for successful partnerships. Alexandra emphasizes that both designers and developers are already making design decisions that impact project outcomes.
- Practical Steps for Developers: Alexandra encourages developers to actively participate in design discussions, learn design principles through resources like online magazines and books, and reflect on their own design decisions within their programming work.

Concluding her talk, Alexandra urges attendees to break down the silos between design and development by fostering environments of respect and understanding. By doing so, teams can work smarter and achieve better project outcomes, acknowledging that both disciplines contribute significantly to the quality of technology products.

Developers, Start Designing!
Alexandra Leisse • October 01, 2015 • Ghent, Belgium

We designers have been told for ages to learn how to program because we needed to know the technology. On the other hand, very few developers bother doing the same with design. This usually leads to worse results than necessary, and robs us of the opportunity to play on the same team. This presentation is meant to contribute to the much needed discussion about how developers and designers can work together to achieve excellence without losing their minds. Attendees should leave the room afterwards with a certain insight in how ignorance hinders best outcomes and how they personally can improve the situation.

Help us caption & translate this video!

http://amara.org/v/H497/

ArrrrCamp 2015

00:00:07.820 My current job title is Interaction Designer. I mention this because I don't actually program a lot in my everyday life. In fact, I currently don't program at all. However, I have been working closely with C and C++ developers and various flavors of web developers for almost ten years. The reason I'm sharing this with you is that I have proved you can learn a lot by listening to people talk about what they do and by being really good at Googling. I have Googled things like pointers, memory leaks, and all sorts of other topics. Attending conferences like this one has also contributed to my learning.
00:00:51.510 I am here today because, as a designer, I have often been told that I need to know how to program and understand the technology to do my job effectively. I believe this is true, as it is really difficult to fulfill my role without knowing what happens underneath the wireframes I create. I think this sentiment resonates with many of you in this room. As designers, we recognize the importance of understanding how things work, and I know that you, as developers, are excellent teammates when it comes to discussing functionality and incorporating it into my designs.
00:01:41.310 My personal wish is that developers had a better understanding of design. We heard this morning how borrowing UX principles for API design can be beneficial, and I would love for everyone to leave this presentation with the insight that understanding design, even if it is just a little, makes our discussions far more valuable and helps us achieve much better outcomes together.
00:02:07.560 Let me share a story about my colleague, Magic—he's a database engineer. We both worked at CF Engine, a Norwegian startup focused on building configuration management software. Magic was tasked with rewriting the entire database. This sketch illustrates some of the many sketches I created to help us tackle our shared problems. We had to enable filtering on tens of thousands of hosts, catering to various users and use cases, while I was primarily focused on the UI.
00:02:55.260 The key challenge was that the database needed to serve multiple purposes for multiple users. We couldn't just optimize it for a single use or request; the APIs had to work seamlessly. This required many whiteboard discussions, paper sketches, and problem-solving sessions where we faced some really tough challenges. One day, Magic came to me with what he described as a breakthrough: he figured out a way to enable me to design a sensible solution for a really tough filtering issue.
00:03:44.129 Interestingly, Magic's work contributed to aspects of the user interface design process. This collaboration happened because we communicated effectively while working together. I made my design needs understandable by explaining the specific problems I was trying to address, showing very early sketches, and demonstrating how I was solving concrete issues. With regular consultations, everyone on the team began to grasp the design principles I was applying, and in return, I was exposed to their technical considerations.
00:04:36.400 I wish I could say I had this level of collaboration planned from the beginning, but instead, it was a lesson learned through experience. I would like to start by debunking some myths that contribute to misconceptions about designers and how we work, which hinders understanding within teams.
00:05:25.080 For example, there’s a myth that designers are born geniuses. I am definitely not a genius designer; I believe that this notion is as mythical as the concept of the genius developer. Exploring design principles and engaging with the field can lead to growth and expertise, especially since I didn't even study design at a formal level; I studied opera singing instead.
00:05:55.600 Determined practice and learning on the job are ways to build knowledge and improve skills. I spent countless hours learning, practicing, and seeking knowledge from peers about their craft. Design is a skill set that can be learned, and an abundance of resources are available to help foster this growth, so there are no excuses to avoid exploring them.
00:06:38.670 Another misconception is that design is purely chaotic creativity. Many people envision designers as vanishing into a bubble of magic only to emerge with visionary solutions. However, if you work in an unstructured way, you won't get anything done, and the same applies to development. Both design and programming require structured approaches.
00:06:59.760 Furthermore, programming is equally creative. Problem-solving in both fields entails exploring options and arriving at solutions through a structured process. In my design work, I dig into details, iterate through various options, and continuously streamline ideas just as developers refactor their code. This iterative approach leads to excellent outcomes whether for sketches or software.
00:07:44.800 There are rules and principles in design that can guide our work. It’s important to note that books written by industry experts, like Alan Cooper, can provide valuable insights. His work in the field of interaction design is beneficial for anyone seeking to understand foundational principles.
00:08:07.760 If you have an interest in practical design applications, I recommend simpler, more concise reads that can help bridge the gap between design and development. For instance, Google's Material Design spec is a fantastic resource that can enlighten anyone aiming to understand design principles and their implications.
00:08:35.840 The driving force behind my message today is the desire to foster better collaboration between developers and designers. It's crucial for us to recognize that designers must understand technology, but there is also a parallel need for developers to expand their design knowledge. Collaborating effectively means we can meet in the middle and respect each other's expertise.
00:09:14.660 Shared understanding is paramount when addressing potential solutions in our work. For instance, the sketch I mentioned earlier was not solely about implementing a design but understanding the goals behind it. This understanding fosters better collaboration and more effective problem-solving.
00:09:49.480 We also develop a shared vocabulary through this collaborative process. This vocabulary aids us in communicating our ideas and requirements effectively. For example, during a recent discussion, a developer mentioned needing a click event to run a query. While developers typically understand such technical requirements, similar discussions about design language can sometimes be less clear.
00:10:41.060 Recognizing and understanding the language used in both design and development contexts can lead to more efficient solutions. This understanding accelerates our discussions and decision-making. Moreover, as we grow together in our understanding of each other's work, we arrive at better solutions faster and with greater quality.
00:11:16.320 I also want to talk about the processes we use in our work. Many of us use agile methodologies in our projects, which can improve collaboration across disciplines. Unfortunately, the classic model of separated design and implementation phases often leads to misunderstandings and inefficiencies. Designers need to be more involved in the implementation phases, and many are now creating functional prototypes as deliverables.
00:12:20.580 This shift away from traditional handover models towards inclusive engineering processes enhances collaboration. As designers gain more technical skills and contribute early in project cycles, they can inform decisions together with developers, which leads to a more coherent final product.
00:13:10.230 It's crucial for both developers and designers to recognize the importance of collaborating closely to produce the best results. Learning from each other, acknowledging each other's perspectives, and adapting strategies to include design thinking in programming can create a more efficient and effective workflow.
00:14:01.680 As I wrap up, I encourage everyone here to challenge yourself to engage more with design. Ask to be part of design reviews or usability tests, read relevant articles, and explore books on usability to hone your skills. Moreover, embrace the opportunity to critically analyze interfaces you admire and understand the design principles at work behind them. Doing so allows you to make informed decisions and contribute more effectively to the projects you work on.
00:15:58.480 Finally, I hope everyone leaves this conference feeling motivated to break down silos between design and development. Together, we can advance and elevate the standards of our work, ensure we're working collaboratively, and ultimately produce better-designed products.
Explore all talks recorded at ArrrrCamp 2015
+14