Case Study
/ / Shell Improves Development Processes By Standardizing on Team Foundation Server
Overview
Company:Shell
Company Website:
Company Size:90,000 employees
Country or Region:The Netherlands
Industry:Oil and Gas
Company Profile
Shell is a global group of energy and petrochemical companies with headquarters in The Hague, the Netherlands.The parent company of the Shell group is Royal Dutch Shell plc, which is incorporated in England and Wales.
Business Situation
Shell developers worked in teams that were distributed in functional organizations across the company. The teams employed a mix of development applications and rarely shared best practices.
Solution
Shell brought together more than 1000developers into one organization and adopted Microsoft Team Foundation Server 2010 as a standard platform for all development efforts.
Benefits
- Improved project visibility
- Standardized processes
- Replaced third-party tools
- Improved security
Henk Middendorp, Software Engineering Architect, TaCIT at Shell
Shell, with energy and petrochemical operations in more than 80 countries, has aligned its software development operations, bringing together more than 1000developers to foster innovation, and reduce development costs around the globe. With more than 3000 proprietary applications that support everything from exploration and production to manufacturing and distribution,Shell adopted Microsoft Team Foundation Server 2010 as its standardapplication lifecycle management solution for its projects worldwide. Shell benefits from improved visibility and decision-making, sharing of best practices among teams to standardize development approaches, and improved securityprocessesto protect Shell’s business investments. Based on the success of using the solution,Shell plans to migrateits applications to Team Foundation Server 2012 beginning in 2013.
Situation
Shell develops technology to improve its operations, such as its ability to find and develop new oil and gas reserves, and to assist in this development, Shell maintains a large development team with more than 1,000 developers.
Prior to 2010, the developers did not have a centralized reporting structure but worked within various functional teams. This structure limited visibility into development programs and, since developers were not using standard tools, it was difficult to share skills or best practices across teams.
To improve visibility and increase standardization, Shell decided to consolidate all development under one organization:Technical and Competitive IT (TaCIT). “The goal was to form a single development organization out of a multitude of global teams which were each using their own tools and processes,” notes Henk Middendorp, Software Engineering Architect, TaCIT at Shell. “We wanted to develop standards to facilitate sharing of ideas and to implement security and recovery practices to protect our investments.”
The first TaCIT task was to identify a standard development environment to support key workflows including coding, reviews, testing, defects, and change management. The environment needed to support different application types, different development platforms, and third-party testing tools and frameworks.
Solution
After in-depth research, Shell identified Microsoft Team Foundation Server as the only offering that met its rigorous requirements. “We looked at a lot of different products, but most only handle one piece of a development project and don’t work with other tools to provide an integrated process,” says Middendorp. “Team Foundation Server handles everything from developing requirements to deployment, and is usable across Windows and Linux for desktop, server, web, and mobile projects.” It then provides end-to-end requirements traceability for each project.
Team Foundation Server is the basis for the Software Engineering and Development Environment (SEDE) that Shell created to handle code management, work item management, and test and build management. When setting priorities for SEDE, Shell focused on security and data integrity, with availability of the system having a lower priority.
Shell architected the system using one server for Team Foundation Server. It uses separate servers for Microsoft SQL Server 2008 SP2, reporting,and Microsoft SharePoint Server 2007instances. Team Foundation Server proved extremely reliable with only 18 hours of unplanned downtime over two years, despite near 24/7 usage.
To provide the security to protect its intellectual property, Shell configured Team Foundation Server to use HTTPS exclusively. It also uses Kerberos for mutual authentication of the client and Team Foundation Servers.
For data integrity, Shell developed a backup and restore process for SEDE that is almost completely automated. To ensure that its data recovery processes are working, every three months Shell performs a full restore from backups of Team Foundation Server, SharePoint Server, and the reporting server.
Shell has completed the migration to Team Foundation Server for the TaCIT team and continues to pull in software development projects from other groups within the company. It currently manages more than 1.9billion lines of code and has 2,500 userswith accounts on the system. When Shell completes the task of importing its entire code base, it expects to have about 3 billion lines of code and 3,500 users on Team Foundation Server 2012.
The company tested pre-release versions of Team Foundation Sever 2012.For Shell, the most valuable improvements are in the areas of Linux support, project management, and code reviews. “Team Foundation Server 2012 addresses many of the issues we faced with Linux development, such as local workspaces, special characters, and file attributes,” says Middendorp. “You can tell the development of Team Foundation Server 2012 was done by a team that really understands Linux.”
Project management is now better supported, with templates for both Scrum and Capability Maturity Model Integration (CMMI) development. Because of this improved support, Shell eliminated a third-party plug-in it was using to provide an agile taskboard. Shell found the native functionality works faster and does a better job than the tool it was previously licensing.
By using the code review functionality in Team Foundation Server 2012, developers can request a code review directly from a work item. The feedback then remains linked to that item. With this review functionality in Team Foundation Server 2012, Shell can retire other tools that it was using and standardize the code review process across the organization.
Benefits
Through the implementation of SEDE, Shell successfully moved the vast majority of its development projects onto Team Foundation Server. This move improvedvisibility into Shell’s development programs, standardized tools and processes, and ensured the security and integrity of its code.
Improves project visibility
Using Team Foundation Server, Shell can now view a dashboard to see how many lines of code are being managed in each programming language being used. “With Team Foundation Server we now have a clear picture of the software we have created−what platform and language were usedand who on the team is responsible for it,” explains Middendorp. “We can make better decisions on what to retire and the amount of resources to allocate to each project.”
Standardizes processes
All of the teams within TaCIT now have their code on Team Foundation Server and are using processes supported by the platform. “We are seeing a lot of benefits from our teams sharing information now that they are using the same toolset,” says Middendorp. “If one team runs into an issue, they immediately ask other teams about it. If one person makes a really great report, we turn it into a standard and share it with other teams.”
Replaces 3rd-Party Tools
Due to the success of Team Foundation Server,Shell was able to retire many development tools, each of which required some upkeep. “We had hundreds of development teams that each had a server or two and open source software. “When we looked at the total cost to maintain multiple development platforms across the company, the savings gained by standardizing on Team Foundation Server made it an easy decision.”
Improves Security
By moving all of its code into Team Foundation Server, Shell has vastly improved its security processes. Prior to the change, the code sat on hundreds of servers with varying policies for access and data recovery. Now all of the coding projects are protected by standardized access and authentication policies. “With Team Foundation Server I know that we have processes in place to protect our investments.”
Preparing for the Future
After such a huge success with its initial adoption of Team Foundation Server, Shell recognizescontinued investments Microsoft has made to support and improve the product.
The benefits of moving to Team Foundation Server 2012 are very clear to Shell. Doing so will improve the productivity of Linux development by natively supporting many essential Linux features. Team Foundation Server 2012 will also enable Shell to retire several applications it was using to support development efforts for code reviews and application lifecycle management. Retiring these applications simplifies the environment and reduces licensing costs.
To manage the transition, Shell set up a production environment of Team Foundation Server 2012 to use for all new projects. Plans for 2013, include migrating its existing projects according to schedule,for a smooth transition.