In recent years, as application development and deployment have become an increasingly critical part of business operations, organizations have sought to optimize their product development lifecycles. Many of these organizations started developing software products using a waterfall framework: designing a project in full at the outset and then completing it in sequential steps.
More recently, increasing numbers of development teams have begun to embrace an agile framework, in which phases of a project are completed in 2- to 4-week sprints. Shorter, time-bound sprints allow for more continuous evolution, feedback, and improvement.
The underlying theory is an agile approach leads to higher quality finished products. And agile is increasing in popularity: According to a recent study sponsored by HP, 67 percent of organizations now either lean towards agile or use a pure agile framework.
While agile has undoubtedly proven effective for many organizations, some are still noticing gaps in their application development. Lately, one of the most common questions I get asked by product teams is where to fit the UI and UX process into their development lifecycles. The agile approach doesn’t traditionally include UI/UX design work or QA testing in the development process, instead placing them in separate stages of the product lifecycle.
In practice, this means that developers, QA personnel, UI/UX teams or designers, and IT all complete their own aspects of the project essentially in isolation. While this may work for some organizations, in many cases, the siloed approach to development can cause a project to remain stuck in certain phases longer than necessary.
A common instance of this challenge is misalignment between the planning stage of an application and the user experience phase. The team responsible for planning may have a specific vision of how data visualizations should appear to the user, but the design team—often a third-party design firm—is not made aware of those plans. As a result, projects tend to stall in the design phase as iterations of various graphics are passed back and forth between teams, awaiting approval.
Integrating Agile with DevOps
Bringing together traditional IT teams with development teams—an approach known as DevOps—has also seen a rise in popularity in recent years. DevOps reduces the number of IT functions and steps necessary to push software out, allowing for faster releases and a streamlined process for user feedback. But the downside to traditional DevOps is that it does not include the kind of continuous testing and improvement that agile offers. Without that continuous review process, software products can be more prone to error.
By combining agile sprints with DevOps’ integrated teamwork, an organization can truly optimize the development lifecycle.
At Logi Analytics, we adopted this integrated approach several years ago and have seen a significant increase in the speed of our releases and the quality of our products as a result. Rather than keeping the planning, building, testing, and designing stages in siloed groups, we instead created a smaller team comprised of personnel with expertise across all of these areas.
Building this kind of team has come with its own challenges. It took us some time to find the right size and makeup for our teams. Using this hybrid DevOps and agile approach makes it crucial that team members have a broader understanding of all aspects of development. Additionally, because including DevOps principles in an agile framework requires having personnel with varying skill sets working together, team members should be collaborative by nature.
But despite the upfront challenges, the gains we have achieved by using this approach have been worth the effort. It’s helped us streamline our release process and vastly improve our product offerings overall.
Once an organization decides to move forward with an integrated DevOps-agile approach, there are specific measures it can take to increase the likelihood of success. Don’t miss the second part of this blog series, where we outline some of these steps in more detail.