From retail to healthcare to IT and beyond, countless industries rely on software development to enhance business performance. However, to optimize software innovation and performance, companies must create enhanced environments that remove productivity blockers and deliver great experiences for developers. By empowering engineers to focus more on building new features and less on internal processes, companies are effectively supercharging developer velocity, leading to improved business results. In fact, companies with increased developer velocity generated revenue up to five times faster and grew innovation by 55%.
Across its many development teams, Salesforce remains a staunch proponent of accelerating developer velocity. For example, in support of its product, Tableau, Salesforce assembled the Tableau Developer Productivity & Experiences (DP&E) team, who keeps developers focused on rapidly and efficiently developing first-rate code that enhances product value for customers.
From improving developer productivity to creating cutting-edge development tools to running the release process to supporting source code migration, DP&E optimizes developers’ workflows from A to Z.
Here are a few ways DP&E empowers the Tableau development community…
How does DP&E improve developer velocity?
What inhibits developer productivity? Basically anything that consumes developers’ time or distracts them from sitting down and writing code. What is Tableau’s solution? Say hello to DP&E, which accelerates developer velocity across the entire development spectrum — even when developers are not actively writing code.
Powering the code-planning phase. Tableau subdivides developer productivity into two categories: time spent not writing code and time spent coding. How does DP&E support the former? They get data to the developers, helping them understand the various taxes, including determining their defect load, advising on any customer or security defects, and provided updated versions of third-party libraries — empowering engineers to avoid surprises and optimize their planning process.
Supporting the coding stage. As developers write code, they have a need for speed, wanting to get signaled back as fast as possible that their code works. How long does it take for a build to get created? How long does it take to run a simple set of tests and get that information back to the developer? These metrics matter. As DP&E quickly advises engineering teams about code issues and reduces the turnaround time for code feedback, developers can swiftly pivot to make the change. This helps teams circumvent the need to revisit their code later, trying to recall what they wrote in concert with newer code that depends on that code, which generates a much wider web of work.
Providing next-gen tooling. Developers need to write good tests that are reliable and simplify the feedback process. DP&E creates the tools that teams use to create tests — enabling them understand that their code failed and why it failed, quickly diagnose the problem and resolve key issues.
Running the release process. Helping with releases, DP&E drivescross-group collaboration towards shared release goals and coordinates the release. What does this look like? DP&E ensures the Tableau teams — who work in shared code — compose code and respond to issues in the same cadence and rhythm. Consequently, teams create features as a unified team — delivering maximum customer value.
Mediating any issues. When developers work directly with their own team, it often results in a fruitful and seamless collaboration. However, what if team encounters a mystery bug that interacts with code across different teams? Which team owns the bug? This sometimes result in time-consuming finger pointing amongst teams, each speculating on who to blame for the issue. In these cases, DP&E accelerates decision making acting as a referee, pitching in to dig through any failures that occur in the system. Consequently, as they track the bug to its source, they assign the responsible team to make the fix.
How does DP&E support Github source code migration?
DP&E tackles many behind the scenes complexities that keep developers on task for creating new features and enhancing customer value.
For example, DP&E will soon complete its source code migration from Perforce — the current source code solution — to Github — the new industry standard source code solution that many developers favor. Most of DP&E’s developer tooling has deep integration with Perforce and operates based upon many assumptions of its implementation. Consequently, DP&E needed to examine all of its services, tests, and scripts to learn which updates would be required to support the migration.
A look at DP&E’s multi-step workflow for validating our Github source code migration.
DP&E encountered some initial migration challenges, including lack of support for some of the very large files stored in Perforce’s source code system. However, the team quickly developed alternatives for moving the files to different storage.
Similarly, another product group was migrating from Perforce to Github, however, that team reversed their approach to avoid significant infrastructure entanglements. Instead, they are migrating the developer experience to Github and syncing those changes to Perforce, removing the need to update all of their other services.
This lies in stark contrast with DP&E, whose approach does not just focus on improving the developer experience, but also consolidating onto standard Salesforce-managed infrastructure and processes.
Speaking of processes, aligning with Salesforce’s migration protocol also presents a set of challenges that DP&E must navigate for any integration project. For example, as they migrate to Github, DP&E must adopt Salesforce’s Code Ownership Solution, which ensures individual scrum teams own all the code. While this may sound very reasonable and appropriate, Tableau incorporates a significant amount of shared (entangled) code. What does this mean? When a code improvement touches many files, developers must wait on many different code reviewers to inspect and approve any change — without knowing exactly what the developer wants to achieve. This may create confusion and slow down the approval process.
Consequently, DP&E seeks to help accelerate the untangling of that code by encouraging and incentivizing teams more, leveraging investments like Bazel which enables fast / correct builds and Tableau scorecards to track the metrics of teams’ advancements during their journey and rewarding them for success.
Keep in touch – join our Talent Community!
Check out our Technology and Product teams to learn how you can make an impact.
The post What is the Secret Behind Increasing Salesforce’s Developer Velocity? appeared first on Salesforce Engineering Blog.