I was recently interviewed by Carlos Marquez, CEO at Connexa. He was looking for clarity around Agile development and the roles that Customer Experience and User Experience play. Here’s what I shared:
According to the latest definition of Agile software development on Wikipedia:
“Agile software development describes a set of values and principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.”
It is a solution design to address our rapidly changing marketplaces and technology. By developing small workable software in short periods, it allows us to pivot as needed with changing market needs, regulations and technology innovations.
The focus is being adaptive and flexible – iterative, incremental and highly collaborative. This means a lot communication – daily stand-ups are at the core of Agile with weekly reviews and short software release cycles and retrospectives to learn fast.
In an Agile iteration, there is a short amount of time to develop and test code. There is a hyper focus to produce quality working software. To do this, the software requirements must be clear and detailed enough for the engineers to quickly and concisely plan, develop, test and deliver quality, working software.
Ideally, there is a lot of collaboration with Development, Product Management, Design, other internal stakeholders, customers and end-users of the software to ensure that the requirements that go into the product backlog meets the needs of Development. This is where UX and CX comes in.
UX – User Experience – is focused on the software end-user experience – everything that the end-users see, hears and interacts with in and around the software. This includes how the end-user discovered the software, marketing message, sales, training, billing – everything. The software, itself, is just a part of the overall users’ experience.
UX looks at the end-users’ journey through all these stages. UX has a variety of methods and techniques that it uses to determine and develop the experience design for the software.
UX looks at the experience holistically, much like technology architects. UX Design may have some high-level documents like style guides, pattern guides, affinity diagrams, mental models, site maps and more. For the product backlog, UX develops the user experience requirements that accompany the user stories and any other product software requirements.
Collaboration is imperative to ensure that the UX requirements meet the business objectives, solves the market problem and are detailed and concise enough for development to quickly build and test.
CX – Customer Experience – is about the customers’ interaction with the organizations brand, products and services. It begins when the customer is a prospect and continues through discovery, purchase, the “honeymoon period” to (hopefully) a loyal life-time customer and brand advocate.
If the end-user is making a purchase for themselves then they are the customer and the user but in many cases these are different people with different experience. For example, if I am buying flowers for my wife, I am the customer making the purchase decision – the “buyer persona” – and my wife is the user persona who experience the delivery, out-of-the-box experience, the product itself (the flowers), etc.
For enterprise software, it is usually an executive that is the customer making the purchase decision. They may be looking at cost savings, reducing staff, consolidating solutions, integration with existing systems and more. The employees are the end-users who will use the software.
For CX, we develop customer journey maps to understand the touch points and moments of truths and measure these touch points to improve the experience. CX is looking at the transformation of prospects to advocates while UX if focused on the experience with and around the software.
I find that when we talk about Agile development, there is a fixation with the develop methodology and not enough understanding of other methodologies that happen before, after and around the software development lifecycle. The product lifecycle, for example, includes the buy, build or partner decision. If the organization decides to buy or partner then there is no in-house development at all.
There are also things that are happening with marketing, sales, services, training, billing and more that are outside the software development process but can affect the decisions we make about what, when and how we will develop our software.
Development doesn’t happen in insolation to the overall business objectives. CX and UX teams define these experiences and provide the requirements for Development. I am huge advocate of involving Development as early as possible in this process. I believe that there is no technology solution until a technologist has been involved in the solution.
Iterative, incremental and collaborative is the key to success.