Last Friday, I attended the international Software Craftsmanship and Testing conference at the enchanting Wotton House, in Dorking. I was the only Designer among about 100 Developers.
Honestly, I was feeling a little bit out of my element when I arrived, but I knew that this was going to be a great opportunity to learn more about my team members and dispel the myth about the difficult relationship between designers and developers.
While the attendees were sharing their knowledge about TDD, Domain Driven Design, Event Sourcing, Functional Programming, all topics already familiar to the community, I decided to propose a one-hour session about the 5 principles of Interaction Design. It was really important to me to share something that could help an audience with little or no design background to craft better interfaces in the future.
During the session I didn’t talk about how to make fancy buttons, how to place UI elements on a grid, or how to choose colours or fonts. I didn’t talk about any deliverables at all. I talked about how the people feel while interacting with physical devices or digital interfaces. A first step towards improving the design of our interfaces is to learn to empathise with our users by starting to remind ourselves how many times we've felt frustrated when dealing with a product or service that hasn't been designed according to our emotional, physical and intellectual needs. Then, we can gain a strong foundation to design better and more efficient interactive experiences by understanding the 5 principles of Interaction Design (Consistency, Perceivability, Learnability, Predictability and Feedback) and learning how to recognise them in the interfaces we interact with during our daily lives. (with our favourite app, with our project management tools, with the washing machine or microwave...). Since the 5 principles should not be used as checklist, our design decisions will be driven by considering the tasks the user needs to accomplish, the context and the environment the product or service is going to be used.
If we put people's needs, feelings and behaviours at the centre of our product or service design process we will have a much higher chance to create intuitive and pleasant interfaces. This is a basic rule that can be applied not only to design but also to our daily life: if we remember that we are people who interact with other people, we will be able to create better interfaces, as well as better collaboration with our colleagues, team members and stakeholders.
There are big differences in being a Developer or a Designer, but in the end we are both focused on creating meaningful and engaging interactive experiences. That's why I went to SoCraTes UK: to learn more about my teammates' world in order to improve our communication and collaboration.
Giulia has worked as a design consultant and art director in an integrated communications agency for more than ten years, developing both the design talent and business knowledge necessary for creating meaningful holistic brand experiences.
Giulia joined Codurance driven by the desire to apply the Software Craftsmanship mindset and values to the whole product and service design process.
She is a Certified Scrum Master and Certified Scrum Product Owner with a strong focus on the present and the future of a product, backed up by her Integrated Design background and the mastery of User Experience Design skills.
Aiming to bridge stakeholders and development teams, she facilitates their collaboration in designing solutions that balance business needs, technical feasibility and user expectations, with tools like Impact Mapping and User Story Mapping.
She believes in continuous learning, and her current interest is Product Strategy and User Experience Design for Conversational Interfaces and Internet of Things technologies.All author posts
Software is our passion.
We are software craftspeople. We build well-crafted software for our clients, we help developers to get better at their craft through training, coaching and mentoring, and we help companies get better at delivering software.