Building software these days: Design thinking, hybrid teams, and, of course, DevOps
Design teams and software development teams haven’t always worked in the same room, or more appropriate for these days, in the same virtual space. But in an era when users and customers have many digital options available to them, applications need to be elegant, easy to use, and, if possible, even invisible.
The growing incorporation between design and development is just one of the many changes shaping the software world. Being part of a software team means working with others in hybrid fashion, building smaller-than-ever chunks of functionality.
That’s the word from Fletcher Previn, CIO of Cisco, and previously CIO of IBM, who has redesigned the company’s own software operations in the wake of the COVID era.
Also: 20 IT trends that CIOs must be aware of and plan against
“I created and embedded a design team within the IT department to lead with the user experience and outcomes — we engineer from the user back, instead of the IT department and out,” he said in an interview at the company’s New York offices. “Every minute people spend struggling with something is a distraction from the thing they were hired to do. So we’re emphasizing those experiences, removing friction from the environment, enabling people to do their best work.”
For many companies, until recently, having a design and experience team working directly with developers “was a really novel concept, thinking about development from the lens of the experience first, and solution second,” Previn added. “But there’s less tolerance of a clunky bad experience. The goal is to surround people with the things that they need without them being aware of it. And enabling hybrid work, which is a very significant set of IT challenges, which need to be solved right — security, remote access, ways of working, culture.”
While the design community is often a whole separate community from IT, Previn believes that the two sets of professionals need to work closer, in an Agile fashion. “There’s goodness when you have UX teams design and research content on a project, where we know the outcome is better,” he says. “The urgency of design team participation is highest,” he adds, when it comes to “high-value interactions that we want to get right.”
Also: User experience: Not quite about the user and not really an experience
Design thinking is just one of many critical transformations now taking place with software development — from a coding mindset to one of assembling pre-built components.
Applications themselves are being broken down into increasingly smaller components, from APIs to cloud to containers and microservices — and even more granular than that, Previn says. “You want to have portability, containerization, and manageability across environments in a consistent way, so you don’t need to know what environments applications are running on. There’s a common architecture of applications that you see in a lot of companies. A lot of that stuff is going to get disaggregated and broken done into smaller pieces.” For example, he notes, “The functionality of big suites is going to be broken up. Everything and the kitchen sink of big software applications that you’re paying a lot of money for are going to be broken up into smaller pieces.”
Hybrid work with teams across geographies also now defines software work. While remote work offers advantages in terms of productivity and recruiting, there is still a case to be made for closer collaboration as well, Previn states. “In February 2020, I would have said there’s an importance to togetherness with teams that work in some sort of collaborative way, with Agile scrum teams, working collaboratively in some kind of xOps.” Working together in-person isn’t necessary anymore, but that sense of “togetherness” needs to be retained. “It’s okay to move work around the globe, but it’s not okay to fragment teams.”
For example, he notes, “It’s still important to co-locate by time zone to some degree, plus or minus three hours. It’s difficult to have some of those DevOps ceremonies at 8 in the morning for me and 11 at night for you. You don’t want to lose a whole day’s cycle over emails and other things. You want to have some of these rituals when you’re building software. You don’t have to be in the same room, but it’s really not desirable having people more than a couple of hours of difference in time zone.”
Also: Businesses need DevOps to be competitive but must follow best practices to minimize risk
Team cohesiveness — be it on staff or outsourced, local or in far-away time zones — is critical to software projects, Previn believes. “It’s okay to have teams that are on the other side of the world, but you don’t want to split that team. And if it is outsourced, we want them to work in the same way that we’re working, we have the same interpretation of Agile, and that you’re forming intact Agile teams, and not having this revolving door of forming and unforming teams.”
Talent that Previn sees in high demand right now include cybersecurity, “as well as people who are versed in Agile and DevOps.” Designers are also in high demand to include UX, UI, content analytics, and research. But above all, he adds, “I am looking for people who are kind, passionate about their craft, and believe in our purpose as an organization. If we surround ourselves with those kind of people, we’ll be successful.”