The various methodologies that have popped up in the last decade related to software project management are overwhelming. How many roadmaps do we need to encourage successful software development, innovation, and faster deployment?
Widespread project management styles include Waterfall, Agile (scrum, kanban, hybrids), Rapid Application Development (RAD), Six Sigma, and many, many more. A more recent methodology that’s trending across the dev world is DevOps, the integration between development and IT operations.
In GitLab’s 2018 Global Developer Report, the authors draw a harsh distinction between teams using an Agile vs DevOps infrastructure.
“Organizations that have adopted DevOps are more likely to deploy on demand and prioritize automation than those practicing Agile.”
Well, we are here to tell you: it doesn’t have to be one or the other!
At GitKraken, we believe in the value of both Agile and DevOps working structures and constantly employ both across our teams to achieve customer-focused, innovative, and collaborative development projects in an efficient and timely manner.
That’s right, DevOps and Agile can actually compliment each other!
Teamwork, Collaboration, and Communication
The foundational elements of Agile include teamwork, self-organization, and accountability; traditionally, this methodology was designed for small teams. Collaboration and communication are also fundamentals of any successful DevOps infrastructure, with more of a focus on cross-department communication.
At GitKraken, we’ve found that Agile thinking, while more easily perfected on a smaller scale, can be expanded within the larger organization.
“DevOps is Agile applied beyond the software team.”
Ian Buchanan, Agile and DevOps: Friends or Foes?
What’s our secret? Each department must understand and value the culture of collaboration.
The team at GitKraken has a few incredible tools at our disposal (and developed internally) to enhance our project management and task tracking: Axosoft, a robust tool that supports Scrum, kanban and hybrid models of Agile, and Glo Boards, a lightweight task tracking tool offering a kanban board.
Axosoft is designed to help teams more accurately plan sprints and releases and offers great functionality to rank tasks and estimate team member workloads and output.
Axosoft also has an extremely powerful help desk platform designed to help teams collect and evaluate feedback, another foundational value of Agile. This is one of the GitKraken Customer Success Team’s main sources for obtaining user feedback.
Our Glo Boards integrate seamlessly with our Git Client and offer intuitive drag-and-drop features, impressive search filters, and easily shareable boards and cards.
Both tools allow team members across departments to stay in constant communication and help provide full transparency of work items for everyone to view.
While the structural elements of DevOps may have more of a focus on internal feedback and communication between departments, when paired with the fundamentals of Agile, which prioritize customer input and user requests, you really can get the best of both worlds.
However, it’s not realistic to assume that all departments can be collecting feedback for improvements from all sources. At Axosoft, we evenly distribute the work across multiple teams.
Customer Success and Marketing take on the bulk of customer feedback via support tickets, social media, Slack, phone calls, etc. and immediately pass it on to our Development and QA teams. Department leads can then evaluate and prioritize work items and the status of deployment is then communicated back to the user directly.
We also constantly provide internal input for updates to our own software, a strategy more commonly associated with DevOps. This is a feat that becomes easier to achieve when you dogfood your own products, something the GitKraken team is very proud of.
The intimate understanding that our developers maintain of our own systems make them capable of troubleshooting issues along with our IT Operations team, so resolutions are found and implemented faster.
Keeping a Fast Pace
Agile and DevOps are both designed to achieve faster development and deployment. While Agile has more of a focus on the software development side, and DevOps more of a focus on continuous integration.
Agile and DevOps are both designed to achieve faster development and deployment.
Both methodologies aim for continuous deployment. In this regard, DevOps is perhaps a more sophisticated iteration, offering a more organized foundation and collaboration with IT operations.
The IT team at Axosoft moves just as fast as our development team. They understand the role that operations must play in the product improvement process and are willing to keep pace with our dev team in order to achieve quality code AND our high standards of security, performance, and reliability.
While Agile has more of a focus on the software development side, and DevOps more of a focus on continuous integration.
Similarly, our developers understand and are held accountable for the consequences of their development choices and changes. Our Glo Boards make it easy to provide comprehensive context to working items so everyone can stay on the same page.
Let’s Talk Automation
Automation is absolutely essential to achieving DevOps success, but is not necessarily an intention of Agile, nor does it conflict.
One could argue that automation can improve any working style, and the addition of a focus on automation in DevOps compliments Agile flows.
With DevOps, there is more of a focus on early testing and continuous implementation, but a fair balance can be found when melding with Agile thinking, which has more of a focus on the actual software development.
At GitKraken, our DevOps methodology helps slow down the development process, but not to the point that our timelines suffer, and only to the point that we more effectively uncover and fix bugs before deployment.
Our Agile habits of implementing and adapting to changes late into the development process, helps our team anticipate for unplanned work, regardless of where we are in the delivery timeline.
Incremental experimentation is critical for avoiding crippling delays in deployment. This allows us to better understand in advance how departmental hand-offs can cause delays and we can constantly inspect and adapt.
Defining and Delivering Value
The principles of Agile focus on delivering value to the customer, while DevOps focuses on delivering sustainable business value. Integrating both methodologies makes it possible to deliver value to the business and customer in tandem.
The principles of Agile focus on delivering value to the customer, while DevOps focuses on delivering sustainable business value.
Of course, customer-focus is an extremely high priority for the GitKraken team, but constant and complimentary attention on delivering business value is what makes our organization sustainable and prepared for growth.
Integrating both methodologies makes it possible to deliver value to the business and customer in tandem.
While our DevOps side helps us consider the larger implications of development changes, our Agile side prevents our team from getting paralyzed by an endless cycle of technical improvements.
In the End, It’s All About Culture
At the end of the day, it’s all about your company’s overarching culture, leadership, and individual team members.
If your department heads respect each other, understand long-term company objectives, and are led by executives who provide transparency and realistic deadlines, it’s much easier to achieve the highest levels of both Agile and DevOps success.
Originally published at blog.axosoft.com on January 30, 2019.