-
Notifications
You must be signed in to change notification settings - Fork 0
About
Operations are at the center of a well run project or product team. They enable the workforce to produce artifacts with greater confidence and of higher quality. The more we reflect on how and where we can improve in this rapidly changing environment, the better prepared we'll be to adapt to change. Design operations is one adaptation method that seeks to improve how design artifacts are managed, delivered and maintained in software.
Operations in software could be described as a set of blueprints. Those blueprints provide us with a core set of tenets that guide our day-to-day processes.
The number of roles and specialties that amount to a successful software product at scale can be daunting to think about, and all of these roles intersect at some point during the product or project life cycle. From research, to project management, content strategy, to design and engineering, the flow of communication and artifacts compounds. The larger the organization, and the more compartmentalized the teams, the more risk for friction for everyone involved.
How organizations get a handle on this is fundamental to their future and how quickly they can respond to the market.
DevOps is a software engineering practice that aims at unifying software development (Dev) and software operations (Ops) 1.
Goals of Dev Ops 2
- Improved deployment frequency
- Faster time to market
- Lower failure rate of new releases
- Shortened lead time between fixes
- Better failure recovery
Test and validate new features and get them into the hands of users sooner, so that the iteration process can work out any unwanted side-effects. This generally lends itself to higher quality and better tested software.
Using the tools and methods provided by DevOps makes failing less painful, because there are processes in place to resolve issues in a very systemic way. This enables teams to more efficiently solve the task at hand.
Pivoting on lessons learned along the way are fundamental to a higher quality end-solution.
Software design is least integrated with software operations, while ironically playing an incredibly important role in it.
Today software and the processes it employs around it continue to push our capabilities forward. We're capable of building applications better than ever before. The tools we use to design and develop are improving and becoming more efficient. The business of making software is becoming much more dynamic, and delivery is speeding up. DevOps was born in part due to the demand for software at scale and faster feature delivery.
For developers, this has spawned a massive ecosystem of tools centered around creating efficiency; code modularity and code reuse, separation of concerns, modern version control systems, systems automation, continuous integration, containerization, package managers, libraries, plugins and frameworks, etc.
Designers must be more creative with how they keep up with the pace and adapt to new business needs. While the tools have improved, they're still mostly linear and don't integrate easily with other tools. This creates gaps in capabilities that requires the designer to manage most of their process manually. Because most of the design process is so manual, it enables the designer to more easily drift away from the original value proposition, through duplication of efforts, work-stream collisions or versioning issues.
By looking for ways to align with DevOps, Design Operations can help create a path for a more manageable and systemic way of designing software.
Waterfall before agile. This manifests differently depending on the organization, but silos and hand-offs play a big role. These are not inherently bad processes, but they can lead to misalignment and breakdowns in communication across key teams, often resulting in building software that does not live up to the value invested in it. Communication must be explicitly managed in a way that is completely transparent and accessible for everyone involved, with strong feedback processes in place.
Software design, or pieces of that process, often must be done upfront, so it's imperative that we consider an operational approach, making choices that align with development goals and mindsets. This can help create a path to allow designers to more confidently make decisions that influence the software architecture throughout its life-cycle. With a more informed and scientific approach, design operations enables our leaders to put systems in place which guide the flow of information and artifacts in a repeatable and scalable way. Lean UX and similar methodologies can help set the stage for how to adopt this type of process.
Design operations isn't about strong-arming design organizations into becoming more like developers, in fact it sets to liberate design, enabling the designer to not be so concerned about everything all at once, but rather a balanced approach.
Design operations is about scale and efficiency at its core; designing the software pipeline that works for your team as well as for other teams that intersect. Design operations sets to create a new blueprint for how we manage the flow of artifacts at every level, considering the sum of its parts each step of the way.
Program management is front and center of the project or product. It enables teams to create a common environment to plan and manage resources. It's also a large part of a well designed operations strategy.
DevOps, being born from the need to deliver software faster and at scale, has matured to point where its principles can be studied and applied to other aspects software delivery. Design can learn from the processes and systems that enable development to be focused on Continuous Delivery and Continuous Integration (CD / CI) as a starting point for how to get started with Design Operations.
- Setup your design team for ultimate success
- Greater level of accountability and ownership
- Get to learn as quickly as possible through rigorous testing and validation
- Pivot quickly on lessons learned
- Leverage software to create and manage software
- Reduce risk through compartmentalization
Design tools are beginning to evolve in smarter ways, allowing for deeper integrations with other systems. Sketch now has a vast ecosystem of plugins and other various resources for creating efficiency.
The emerging Sketch Shared Libraries are already helping teams stay in sync with each other by using a single source of truth. However, it still does not integrate well with software operations, like most other tools.
Brand.ai is a service that allows teams to automate most of their brand management by offering several powerful features:
- A shared design library, with a sketch plugin for read / write functionality
- A web application where teams can view / edit a live design library that automatically updates
- Code generation for all aspects of your brand, including logos / images, color palettes, typography, iconography, and general measurements.
- Easily integrates with current development build systems
For more information and a demo of what Brand.ai can do, see the desops-pipeline repository.
WIP
What is Design Operations and why should you care?
Operationalizing Design Operations
A Guide to Successful Design Handoffs