Strong engineering leaders know that efficiency is a key component of any successful project. However, many projects are derailed by spending time fixing errors. In fact, about half of a software developer's working week is spent on maintenance, such as debugging, modifying code, and fixing bad code – which whilst unavoidable, highlights that somewhere in the development process inefficiencies are at play. These inefficiencies can be minimized.
During these uncertain times, working efficiently has never been more pertinent. The pandemic has forced many to accelerate projects, without compromising on quality, in order to address new and often unexpected needs of the business, or keep existing plans on track. Additionally, this has been complicated by the need for teams to collaborate remotely, and for organizations to continue to be agile, keeping abreast of entire processes and ensuring every step of a plan is carried out with precision - all while trying to get used to entirely new working environments.
So, how can organizations maintain efficiency in the face of challenging circumstances, both in the short term as we navigate the pandemic, and long into the future?
The obvious answer is to use technology. We know that technology has the power to help streamline operations, keep teams connected, and drive innovation. However, it is actually engineers, the teams that work with technology the most - and are the backbone of a company’s technology operations - that often lack the ability to track and understand their workflow. Without visibility, teams can’t pinpoint inefficiencies, make improvements, or become more productive
For engineers to be more agile, more collaborative, and more effective in delivering complex projects within short time frames, we need to help them uncover roadblocks, identify improvements, and accurately manage the workflows of both individuals and entire teams.
The current state of engineering workflows
Without having visibility into each stage of the engineering workflow, many organizations have had no set standard for how to identify, raise and overcome issues – from how or why particular tasks are inefficient to the loss of information during handovers at different stages in a project to having different ways of outlining learnings to make tangible improvements in future projects.
For many engineers and managers alike, reporting issues or learnings back to project leads via email has become a necessary evil. This is unhelpful as crucial data is often lost or not measured at all. If things like code commits, churn, etc. aren't measured and tracked across teams, subjective feelings and anecdotes come in to fill the gaps, which don’t reflect the full story and prevent engineers from learning from the collective experience.
Without sophisticated ways of tracking workflow and progress, managers could also be using the wrong metrics to gauge productivity. Imagine a scenario where an engineer is deemed to be highly productive because they are measured by how many lines of code they have written in a day, when in fact, it may be far more impactful and efficient for an engineer to have created high-performant code in as few lines as possible. This is an inaccurate measure of an engineer’s impact on a project — and will skew the overall understanding of how effectively time is being spent.
With no central place to collate feedback, and no outlined framework for reporting challenges, it’s no surprise that many engineering projects lack clarity and engineers find it difficult to learn from past ventures. It’s easy for workflow changes to spiral out of control, and complaints or performance issues to get lost. This results in confusion, and in the worst case, delays to delivering projects and lost revenue. Beyond this, it may even be impossible to effectively learn from challenges and improve things for next time.
Transparency through technology
To overcome these challenges, transparency is key at every step. For example, being able to measure the human interactions that occur during all steps in the software development process and using data from a project tracking tool like Jira can remove blind spots. This means that everyone involved can understand how they and their colleagues are progressing against their goals, where they are in the timeline and, perhaps most importantly, where roadblocks are occurring. Then, common bottlenecks can be identified and processes put in place to overcome them.
Ad-hoc email updates, self-reporting or broad and generic insights shared at the end of a project are not effective ways to understand what is and isn't working. The best way to manage these workflows is by using a sophisticated, online workflow management tool that can provide a granular level of detail - benefiting everyone involved.
A workflow management tool allows project leads to see a team's contributions and work patterns broken down on a daily basis, and put goals, targets and benchmarks in place for teams and individuals. Engineers can better understand their own contributions to a project and understand where silos exist and how team dynamics can be improved. As such, this encourages better collaboration and the sharing of best practices.
Pinpointing specific inefficiencies and identifying poor performing areas can allow entire teams to communicate and be more knowledgeable about what needs to be improved. In addition to boosting performance, this also has an impact on team morale as it helps managers to become true advocates for their engineers – helping them to perform to the best of their ability while removing cultures of blame or deflection onto other teams.
Clearly, there is a real need to be able to map the entire workflow. It enables companies to remain productive and profitable, particularly as we navigate a pandemic, better support customers and ensure projects continue to progress at pace. The ability to track, analyze and manage workflows - and continue to learn iteratively from each project - will allow teams to improve time-to-market, delivering greater value to clients as a result thus cementing their business goals and fending off ever-encroaching competition.
Perhaps more importantly, it will help to instill cohesion amongst the team, which is fundamental to the success of any company, and potentially help to retain engineering talent as teams feel less frustration around project management. With engineers better able to understand their own work patterns and processes, and how to work more effectively with colleagues, projects will likely come to completion more smoothly - and ultimately this benefits the wider business.
Sean Farrington, SVP of EMEA, Pluralsight