Uncategorized

Enabling Software Developers Through Engineering Effectiveness

Engineering effectiveness (EE) is an important component of our company’s “shift-left” strategy. EE—sometimes referred to as developer tooling, engineering infrastructure or builder experience—is, as the name implies, all about increasing the productivity, efficiency and quality of teams.

EE primarily focuses on those activities in the early stages—or “left side”—of the software development life cycle (SDLC). EE takes the definition of quality and embodies it in off-the-shelf services, custom libraries and automation. From developing tools to verify open-source compliance to providing additional training that helps ensure solution architecture gets the most out of a cloud provider, EE enables software engineers by injecting the tools and processes that product development teams use to continuously improve. Just as critical, it allows them to keep a razor-sharp focus on the business problems they are charged with solving.

Our organization recognized a need to address some higher-level but common pain points across our product teams such as standardized linting policies, cloud infrastructure knowledge and “secure by design” principles. However, our product teams were highly focused on delivering and meeting their business goals; solving those operational problems didn’t take priority, and progress stagnated. Multiply these same issues over “X” number of teams, and they quickly bubble into much larger problems if not addressed.

The challenge that enterprise software teams encounter is that we can’t expect our teams to meet ever-increasing business demand while also finding the time for extra research, learning and practicing new skills. In their book, Team Topologies (via Forrester), authors Matthew Skelton and Manuel Pais importantly note that an enabling team is “composed of specialists in a given technical (or product) domain, and they help bridge any capability gaps. Enabling teams can cross-cut the stream-aligned teams and have the required bandwidth to research, try out options and make informed suggestions on adequate tooling, practices, frameworks and any of the ecosystem choices around the application stack. [This] allows the stream-aligned team to acquire and evolve capabilities without having to invest the associated effort.”

For a shift-left strategy, EE can become the enabling team, supporting the product development teams (or the stream-aligned teams) as a source of shared knowledge and resource availability for continuous growth. This ultimately encourages the use of best practices and processes for all teams to follow.

While EE might be a relatively new player in software development, it’s certainly earned itself a positive reputation, as even megatechs are spinning up EE teams of their own. In a recent Business Insider article (paywall), it was announced that Amazon formed an Amazon Software Builder Experience (ASBX) group, with one leader noting that “since launching, the ASBX team has grown to more than 400 employees, working on code automation, improved developer tools, and enhanced tutorials and safety infrastructure.” According to the report, Amazon also noted that the ASBX organization “was created to singularly focus on improving the experience of software builders across Amazon.”

Companies are investing in teams dedicated to EE because it makes good business sense. We know that defects injected into code early in the life cycle become increasingly expensive or more difficult to fix the further they make it into development unnoticed. An oft-referenced NIST study shows that the relative cost to fix a bug increases exponentially at each stage of the SDLC.

The cheapest way to fix a bug is to avoid its introduction in the first place. With EE, the increased focus on the productivity of developers by automating error-prone manual tasks, removing roadblocks that interrupt the flow state or accelerating the time to delivery (thus shortening the feedback loop) decreases the number of defects injected in the code or allows them to be identified quickly, resulting in saved time and money.

Our investment in EE is already paying off. An example of this in action was our approach to front-end unit testing. After working with a team to determine a successful process, EE was able to package this solution, deliver it as a code library and provide a training solution. Another example is our implementation of trusted types to virtually eliminate cross-site scripting vulnerabilities. We have also leveraged EE to propagate knowledge, providing cloud infrastructure training across teams and maintaining our own internal tech radar.

With such a wide scope of responsibilities, focus is of the utmost importance. Just as product development teams can quickly get overwhelmed by business demands, EE teams can also be affected by the needs of the engineers they support. Value prioritization and big-picture thinking are critical skill sets for this team.

Additionally, communication and influence at the team and organizational levels are vital to success. The best product development teams operate autonomously, but that doesn’t mean they do it alone. EE teams must be clear and direct in communicating their objectives and value to inspire adoption within their organizations. We use a theme-based approach where quarterly objectives are centered around a developmental topic. Product teams still have input into the EE team’s goals as long as they are derived from the theme. This allows for more effective focus and communication across many stakeholders.

While other companies may call it by a different name, one thing is for sure: EE is gaining popularity quickly among enterprises—and for good reason. Its purpose—empowering product teams to move faster by giving them the tools to shift quality, security, performance and accessibility to earlier in the software development process where cost and effort are significantly less—can resonate with any organization.

Looking to hire skilled software developers? Contact TP&P Technology – Leading Software Outsourcing Company in Vietnam Today

Article resource: https://www.forbes.com/sites/forbestechcouncil/2023/03/06/comprehensive-ai-development-software-critical-to-ai-democratization/?sh=72e665e02aac

Leave a comment