Align IT and Business in an Agile Manner

Agile Software Development

Subscribe to Agile Software Development: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Agile Software Development: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Agile Development Authors: Jason Bloomberg, Flint Brenton, Elizabeth White, PagerDuty Blog, Liz McMillan

Related Topics: Agile Software Development, Continuous Integration, DevOps Journal

Blog Post

How to Stop Your Developers from Jumping Ship | @DevOpsSummit #Agile #DevOps

For developers working across a broken workflow, the frustration can be felt acutely

We are experiencing a ‘crisis of engagement,' according to a survey by management consultancy Gallup, with a staggering 87 percent of employees worldwide disengaged with their jobs. While there are many factors that can influence an employee's contentment - from support to compensation to job security - a common grievance in software development is disempowerment, where talented individuals are feeling hampered by their working environment.

Operating within a flawed system is infuriating in any profession. But for developers working across a broken workflow, the frustration can be felt more acutely. One of the major bones of contention is that developers find themselves working in a way that conflicts with their training and established best practices, one that is not conducive with Agile and DevOps working methodologies and prevents them from optimizing their tools-of-choice.

A main contributor to an unproductive working environment is a fragmented toolchain, which is a regular occurrence at organizations worldwide. Many of them are adopting a best-of-breed approach to tool procurement without a holistic investment strategy. Individual specialists, teams and disciplines are specifying a tool (or version thereof) as and when required - i.e., a project manager with CA Clarity PPM, a tester in HP ALM, a QA in HPE QC, a developer in JIRA and so on - with little consideration as to how it may impact the rest of the software lifecycle.

While it is logical to equip employees with the best tools for the job, this ad-hoc and unsynchronized approach is littered with time bombs that could explode at any time, negatively impacting a developer's satisfaction and, ultimately, an organization's software delivery capability. So what can be done to stop developers jumping ship to join Facebook, Netflix, et al?

Grounds for divorce
Any investment strategy must consider software lifecycle integration (SLI), otherwise an organization is quietly laying the foundation for an unproductive environment that will come back to haunt it. Tools in the software lifecycle are not designed to integrate with other third-party tools, meaning they do not naturally communicate with each other, and project-critical data typically becomes siloed within the tools.

The result is a workflow with little-to-no visibility, traceability or governance across the lifecycle, with stakeholders unable to share information with other stakeholders, greatly impacting collaboration. Such a dynamic can frustrate a developer in several ways, all of which are avoidable. Here are just a few of the issues caused by a disconnected toolchain:

  • Agile and DevOps blasphemy: Collaboration, interaction and information are the triumvirate of Agile and DevOps. The flow of artifacts between tools can be considered more important than the tool itself. As both methodologies are widely accepted as industry standards, it's understandable that most developers will be looking to apply the principles in their day-to-day work within their teams. But if their tool is isolated and they're unable to share or receive vital data at a click of button, they will become discontented as their training is wasted and skill set underutilized.
  • Developers just want to...develop: Developers are genuinely passionate about their work. They're problem solvers who love tackling issues with code, taking great pleasure in working with their colleagues to build and maintain projects, drive innovation, challenge the status quo and, significantly, create value for their company. But it's a tough job; intensive coding is an all-encompassing specialty that requires undivided attention. They don't - and shouldn't have to - spend valuable hours lost in boring non-value administrivia (status meetings, emails, data entry, spreadsheet merging, etc.). Such tasks can be minimalized, or even removed completely. If they're not, don't be surprised if your developers seek new pastures.
  • Friend or foe: If a tool isn't implemented correctly and working in unison with the lifecycle, it can quickly become a burden or, worse, a foe. Isolating a quality tool can quickly strip it of its capabilities and functionality, as developers spend more time fighting the tool than harnessing its powers. Benign issues become malignant, and great and engaged developers become frustrated and disinterested.
  • Rotten apple: As the adage goes, ‘one rotten apple spoils the whole bunch.' Team unity, especially in software development, is integral to Agile and DevOps principles. A strong software lifecycle needs all players in the game to be happy in their roles or balls will be dropped. If a developer is disenchanted by her role within the team because of inefficient processes and procedures, it's only a matter of time before her colleagues become demoralized too. Beware the domino effect.

Pain relief
Addressing a fragmented software lifecycle is the first step in creating harmony among your software development and delivery personnel. An integrated software value stream has many benefits, but at its heart, it's all about removing waste and getting rid of all the annoying work that plagues a developer's day.

What do we mean by ‘software value stream'? A value stream is a notion borrowed from Lean manufacturing; it's the sequence of activities an organization undertakes to deliver a customer request, focusing on both the production flow from raw material to end-product and the design flow from concept to realization.

Looking at software development from a value stream perspective puts the emphasis on creation of customer value, rather than simply looking at these activities as a process. It's all about the ‘Big Picture' - improving the whole process, not just the parts - to minimize waste and ensure customers get exactly what they asked for.

How does an integrated values stream boost employee engagement? The troubles experienced by a leading global bank during its four-year Agile and DevOps transformation illustrates the point perfectly. Given the nature of its business, it's critical that all information is consistent across all the bank's systems, yet it lacked an automated flow of information between tools.

This meant that developers were still rekeying from one tool to another, taking up to two hours a day in duplicate entry. Not only was this a huge waste of valuable labor hours that cost the business up to $10 million annually in lost value, developers often got so frustrated that they would leave. This case study is painfully familiar, and again, entirely avoidable.

A Developer's Paradise
An integrated software value stream yields many benefits for developers (and the rest of the software lifecycle), including:

  • Information flows automatically across teams without costly manual intervention and oversight, removing non-value work and bottlenecks.
  • Collaboration happens within the work, rather than in email or disconnected tools.
  • Reports and analytics emerge from a holistic view of all the artifacts.
  • Traceability and governance become a natural act rather than an expensive manual process.
  • Visibility into the value stream enables managers to understand project status and optimize processes, meaning developers have the freedom and insight to build extraordinary software.
  • A modular Agile toolchain means forward-thinking developers can plug in new tools (or new versions of their existing tools) to experiment with new ideas and innovations.

As a result, these organizations experience:

  • Faster time-to-market
  • Reduced development cost
  • Ability to add more features, more efficiently, while improving quality and reducing risk
  • Ability to leverage their software development capability to bring differentiating value to their businesses

And perhaps most importantly, it results in high developer engagement and job satisfaction; the fuel behind any software-driven organization that's looking to transform its business in a digital world.

More Stories By John Rauser

John Rauser is the IT Manager at Tasktop Technologies, a global enterprise software company. He also serves as VP Operations at the board of the Project Management Institute - Canadian West Coast Chapter, providing leadership and expertise on technology issues. He has a passion for discussing the business impacts of technology and analyzing strategies for managing IT.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.