Transforming recruiting inside Microsoft with co-development

Nov 5, 2018   |  

One female and two male coworkers sit together at table in a meeting room while in conversation. An open laptop sits in front of smiling female seated at center.

Creating a development culture that meets business goals and fulfills customer needs can be difficult in an ever-changing marketplace. Microsoft combined development teams and modern engineering practices to co-develop a product that could both be sold to customers and meet the internal business needs of Microsoft. Co-development practices created new ways to share business knowledge and drive digital transformation within the organization, which led to a more useful and full-featured product.

At Microsoft Digital, we’re continually looking for better ways to support our organization. Microsoft Human Resources wanted to improve their recruiting process by revising the tools they used to recruit and hire new talent.

After considering several internal and external solutions, they decided to team with the Microsoft Dynamics 365 for Talent: Attract product group. The goal was to co-develop a product that could serve two purposes: Microsoft could use Attract for their own internal processes, and the Attract product group could release a full-featured, enterprise-ready product to their customers.

The co-development effort involved development teams from both Human Resources (HR) IT and Attract product groups. HR was able to personalize and integrate Dynamics 365 for Talent: Attract into their recruiting platform, thereby significantly improving the recruiting experience. The Attract team was able to accelerate their development process, and both groups were able to work more effectively and improve their productivity.

The biggest outcome, however, was the fostering of a new co-development culture at Microsoft. We’re using new ways to share business knowledge and work more co-operatively within our organization. Attract is a more useful and full-featured product because of the co-development effort, and co-development is gaining momentum at Microsoft.

Examining recruiting at Microsoft

Microsoft employs over 121,000 people worldwide. In the 2017 fiscal year, Microsoft had over 7 million visits to the Careers section of our website, with over 1 million applications submitted. The combination of our applicant system and the work of more than 1,000 Microsoft recruiters and 15,000 hiring managers resulted in 1 million potential employees added to our candidate tracking system. From those 1 million applications, 37,000 candidates went on to the interview process, and 22,000 of those had a job offer extended to them.

Understanding the recruiting process

As a large organization, hiring employees at Microsoft includes several moving parts. The start-to-finish recruiting journey at Microsoft involves many more people than just the recruiters and hiring managers. At Microsoft, we maintain a high standard for compliance, privacy, and data protection for our applicants and the recruiting processes. To support our teams, we need to plan for the required positions, source talent to fill those positions, assess the talent pool, and hire the most suitable candidates.

Illustration contains a representation of the recruiting process at Microsoft in four main stages. Stage 1, named plan, contains requisition management. Stage 2, named Source, contains sourcing talent pool and sourcing requisition. Stage 3, named assess, contains apply, screen, and interview. Stage four, named hire, contains offer and pre-onboard.
Figure 1. The recruiting process at Microsoft

Assessing the state of recruiting tools at Microsoft

Our end-to-end recruiting system has undergone several iterations over time. A recent system assessment revealed that we needed to update our recruiting toolset to provide the best recruiting experience for our incoming talent, and the best tools for our internal employees involved in the recruiting process. We identified several issues with our existing systems that we wanted to improve:

  • The user experience was fragmented, with too many tools. In response to different pieces added to the recruitment process over time, our toolset had grown to be cumbersome with a large number of individual disparate tools. Some of these tools were developed in-house by HR IT, while others were supplied by external vendors. Many of the tools used different interfaces, navigation methods, and industry terms.
  • Scheduling was labor intensive. Different recruitment teams used different scheduling tools, making it difficult to schedule all of the parties involved in the recruiting and interviewing process. In addition, some scheduling tasks needed to be completed outside the recruiting toolset.
  • A communication gap existed between hiring managers and recruiters. The pre-existing toolset didn’t support an efficient way for hiring managers and recruiters to communicate back and forth effectively during the recruiting process. Neither group had visibility into the end-to-end recruiting process.
  • The recruiting process took too long. Once Microsoft was ready to make an offer, it took up to six days to get an offer sheet out—time during which a candidate could have accepted another position with a different company.

With a clear indication that we needed to transform the recruiting process, we recognized that our recruiting toolset needed updating as well. Our Human Resource Global Talent Acquisition team began the process of finding a solution that would solve our current issues and prepare us for future growth.

Finding the right tools

The first thing we did was put together a comprehensive list of recruiting toolset needs and requirements. We assessed the available tools in the marketplace through a request for proposal (RFP) process, and compared the feature set of these tools with our needs. Several points stood out:

  • Software as a service (SaaS) was the desired solution platform. Following our organizational plan to adopt cloud-based solutions for our IT systems, and after assessing the state of both technology and the marketplace, we identified and examined primarily SaaS–based solutions.
  • Our organization was big and complex enough that no single solution could satisfy our toolset requirements. They all had feature gaps that would need to be filled by additional tools.
  • The changing needs of our organization would be difficult for an external vendor to keep up with. We needed a toolset that could evolve with us. While many third-party vendors seemed willing to try to accommodate our needs, we were still just one of many customers, regardless of how large we were.

Considering other options

Given these considerations and the lack of success in finding a comprehensive toolset, we began to consider other options, including:

  • Building the solution in house. Microsoft has a long history of developing our own solutions internally to solve our business problems. However, most of these solutions end up catering only to the complexities of the Microsoft business environment, and not to other organizations. We could also build an in-house solution around the one of the third-party toolsets that would satisfy the largest set of requirements, but both options left us with issues:
    1. Investing in a single-use tool. We would be investing significant time and effort into a solution that only Microsoft HR could use, and we wouldn’t be able to sell it outside of Microsoft.
    2. Encouraging HR status quo. Our history of using custom-built solutions had resulted in our organization becoming complacent in examining business processes and maintaining industry standards. If we had a process that wasn’t the same as other organizations’ processes or didn’t fit our solution, we would simply adapt the solution to the process, rather than examine the need for the process.
  • Adopting multiple solutions to fulfill the complete set of requirements. We could concatenate enough third-party toolsets to satisfy our requirements. However, this solution was cost prohibitive and left us with the same problem—a toolset that was still fragmented.

After reviewing possible solutions, a new idea surfaced that would send our Human Resources IT development teams in an entirely new direction.

Considering another option: Dynamics 365 for Talent: Attract

HR IT reached out to the Dynamics 365 product group to see if their two groups could work together to develop a Dynamics 365 product that satisfied the internal needs of Microsoft, but could be sold on the marketplace as a Microsoft product as well. As it turned out, the Dynamics 365 team was already working on a product that fulfilled some of the recruitment toolset requirements—Dynamics 365 for Talent: Attract.

Dynamics 365 for Talent: Attract was being designed to transform the talent acquisition process by connecting all of the involved parties and unifying all the recruiting process pipelines. In addition, it would upgrade the candidate experience through an improved interface and transparency into the recruitment process. The Attract design would also ensure compliance and extensibility, simplify interview scheduling, and accelerate offer acceptance, all gaps that Microsoft was trying to fill. While Attract wasn’t a complete solution to all of our recruiting needs, it was a good start, and a product partnership that we knew we could foster and build.

Exploring co-development

When our HR IT department met with the Attract product group, the idea of a mutually beneficial relationship was beginning to form. The product group shared their roadmap for the soon-to-be-released Attract product and where they envisioned it going. Attract was a relatively small player in the marketplace, and growth was high on the list of priorities. The HR IT representatives recognized the internal possibilities for Attract, and the opportunity they had to contribute to the development and success of the product.

Both HR IT and the Attract teams identified several benefits of a partnership:

  • HR IT could work more closely with the Attract team than they could with a third-party vendor.
  • The HR IT development team would get to work in a new development environment alongside the Attract product group team, and be part of an official Microsoft product release.
  • The Attract team could utilize HR IT development resources to accelerate their product’s development timeline, shortening their go-to-market times.
  • Both sides of the partnership could benefit from the expertise of the other side, particularly in areas of relatively little experience.

With the high-level benefits apparent to both sides of the partnership, management began working toward creating a relationship between the two groups. The partnership was discussed as part of a larger review of HR and IT processes, and both teams were given approval to create the partnership in what would be one of the first big internal co-development projects at Microsoft.

Discovering and embracing co-development

The plan for partnership was considered a co-development effort by both sides. HR IT would provide multiple development sprint teams to the Attract team to help with product development. And while the HR IT sprint teams would integrate directly into the Attract team, they would still have the freedom to develop custom modules for internal use only at Microsoft. For example, if a feature or requirement didn’t fit into the Attract roadmap, the HR IT development team would develop their own Microsoft-specific extensions to meet their need.

The HR IT and Attract teams began integrating their development teams, which was the beginning the co-development process. HR IT contributed several sprint teams, increasing the number of developers working on Attract.

One product, two development streams

While the HR IT sprint teams worked alongside the Attract teams using the same tools and Microsoft Visual Studio Online codebase, they had not just one, but two goals:

  • Contribute to the Attract codebase. Working alongside the Attract development team, the HR IT team used the same codebase and tools, and worked from the same backlog toward the same product roadmap goal.
  • Develop custom code for Microsoft-specific requirements. When an internal Microsoft requirement didn’t factor into the Attract roadmap, the HR IT teams branched off from the Attract public release code and developed their own internal use modules.
  • The process of developing two concurrent product streams required cooperation between both development teams, and a sensitivity to what the product group was trying to achieve for their customers, and what HR IT was trying to achieve internally.
Balancing feature inclusion and development streams
  • Both partnership teams had project managers that represented their team’s needs within the partnership and ensured that what they needed from the product was being developed. The project managers and their sprint teams communicated back and forth to determine which features were included in the public release of Attract, and which features didn’t make the public release but were instead developed for internal use only. A mutually beneficial balance was sustained in this back and forth, which benefitted both sides:
  • Internally, Microsoft could see where the HR industry was heading in the Attract public release roadmap. This allowed them to identify, examine, and potentially adopt processes that they might not have discovered if they were developing an in-house-only tool.
  • The Attract product group gained insight into how an organization the size of Microsoft runs its HR organization. This gave them a functioning, real-life HR example to examine, learn from, and identify potential feature opportunities when designing Attract for their customers.
Determining development streams

As the HR IT and Attract development teams continue to work together, the development process on both sides is continually being refined and evolve. Generally, the integrated HR IT developers find that they are working approximately 80 percent on public release features and 20 percent on Microsoft-specific extensions or modifications to the code. This split makes the development process unique, because the teams are fully integrated, even though the work goals sometimes are not.

The teams have separate backlogs set up for public releases and Microsoft-only features, but both sides are continually examining their own business processes in light of what’s happening in both development streams. The process for determining the destination for a feature request is similar to the following high-level steps:

  1. Microsoft HR asks for a feature or functionality to be built into Attract.
  2. The Attract team checks whether the feature fits into the current product roadmap.
    1. If the feature fits, it’s added to the public release backlog.
    2. If the feature doesn’t fit, the team consults their customers to determine whether marketplace demand exists for the feature.
      1. If customer demand is present, the Attract team adds it to the roadmap.
      2. If customer demand is not present, the HR IT team adds it to the Microsoft-only backlog.

This process helps the Attract team identify places where they can modify their product roadmap to better serve their customers while also helping Microsoft HR identify areas where they might be using outdated processes or methods. This helps to inform Microsoft HR processes and keep them current.

Learning from co-development and modern engineering practices

The co-development process has provided learning experiences for both the HR IT and Attract development teams. Both development teams were working in different environments prior to the co-development effort, and both teams brought unique skill sets to the co-development team. One of the biggest impacts of the new co-development team format was the different perspectives each team brought to the combined effort. For example:

  • The HR IT development team had a wealth of corporate IT experience that involved working within a structured and regulated domain environment. This experience helped the Attract team learn more about how they could meet the needs of larger enterprise customers with their product.
  • The Attract team leveraged research into current trends in the HR industry that HR IT could use to assess their own processes and business practices.
  • Both teams brought different experiences with modern engineering practices, such as continuous integration/continuous development (CI/CD) and business-directed engineering. Through co-development, the teams created a more agile development environment where changes to Attract could be incorporated more quickly and effectively.

Addressing challenges

A co-development effort at the scale of Attract had never been attempted at between two such groups at Microsoft. The teams had to learn along the way, adopting and adapting processes and communication methods to fit the new mode of development. The process was not without challenges:

  • The HR IT and Attract teams had different priorities. HR IT approached development with Microsoft’s needs in mind, while the Attract team was focused on a broader, public customer base. When working together, the teams had to communicate clearly about which feature belonged where, and why.
  • The HR IT teams came from an environment in which Microsoft was the one and only customer. As such, they were used to developing for a very targeted audience with specific needs. With Attract being developed for thousands of customers with differing needs, the HR IT team’s development goals had to take a broader audience into account. The combined co-development effort needed to maintain this broad audience focus, which meant new learning for the HR IT teams.
  • The development teams each made changes to their development style and rhythm when joining the co-development team, but old habits are hard to break. The teams met regularly to ensure that they were maintaining their development goals and practices and not falling back into previous rhythms.
  • Everyone involved in the co-development effort needed to embrace continued learning. As the co-development effort changed and matured, the teams had to adopt new processes and learn new ways of doing things.

Realizing the culture change of co-development

The co-development project has initiated a culture change at Microsoft. It now affects how we look at developing our other products, how our internal teams communicate and cooperate, and how we examine our business practices and processes.

The HR IT sprint teams learned what it was like to be part of a team creating a product that is released to and used by millions of people. They took those experiences back to their internal IT organization and used them to drive transformation in internal processes. Executives and managers from both organizations have been working together with great success, which has paved the way for potential co-development efforts with other business groups and even external partners.

At Microsoft Digital, we’re working at creating a culture of building tools for Microsoft that we can share with our customers, and this co-development effort has been a big part of that. It also provides our internal development teams with a different mode of thinking: if we’re designing with other customers in mind, we’re less likely to create shortcuts or compromise common business practices to get an application or process to fit a Microsoft business practice that itself might need to be examined and changed.

Benefits

In addition to the co-development benefits previously mentioned, there have been many other positive changes for HR IT, the Attract team, and Microsoft in general:

  • Faster delivery of customer solutions. The co-development effort has enabled Microsoft HR IT and Attract to reduce the time it takes to develop and bring new features to our customers.
  • Improved recruiting processes at Microsoft. Using Attract, the recruitment and hiring process has become more efficient and effective for both applicants and managers. For example, it now takes only three days to get an offer out compared to the previous six days.
  • New learnings across development teams and internal organizations. The co-development effort has brought previously isolated, disparate business groups together to form mutually beneficial relationships. This process has created new partnerships and opportunities for learning and sharing between business groups, and fostered similar success stories in our organization.
  • Increased global perspectives for our product groups. By working with (and for) Microsoft HR, the Attract team has learned a lot about building a product for global organizations.
  • Increased knowledge sharing and agility in decision-making. Co-development has brought a new level of co-operation and information sharing to our internal teams. Both HR IT and the Attract team gained experience and practical benefits from shared knowledge that would have been virtually impossible to obtain any other way. More than just co-developing an app, co-development meshed the knowledge and abilities of two groups into a broader, more agile team.

Best practices

To create a more efficient co-development environment, we’ve recognized and adopted some best practices that help us:

  • Streamline and continually examine code development practices. We’re always assessing our code development practices, such as tools, check-in processes, and release management.
  • Set up a structure to consider input from both sides of the co-development effort. Both HR IT and the Attract team had ideas and perspectives that made Attract a better product, However, many times these ideas didn’t line up with the product roadmap or conflicted with other ideas in play. Be ready to set up a group of people who can address all incoming suggestions and determine what is best for the product and the organization.
  • Embrace continued learning. If co-development is going to be transformational and as effective as possible, everyone involved must be willing to learn and share.

Going forward

The co-development effort for Dynamics 365 for Talent: Attract has helped us learn more about what it really means to contribute to a product as an entire organization. We feel like we’ve just begun to scratch the surface of what Attract can do for Microsoft, and what co-development can do for product engineering in our organization. We’re currently using the Offer Management module from Attract at Microsoft, with plans to branch into other areas in the near future.

We’re also excited about encouraging the culture of co-development at Microsoft. We want to extend it to other development teams, projects, and larger sections of our organization. We believe that what we’ve done with co-development and Attract can be a roadmap to success for other areas of our organization as well.