Friday, August 1, 2008

What is the future of Build and Release Engineer? Part-1

Since the time, I have taken the responsibility of Build and Release Engineer in my organization, this is the question spiked up in my mind.
I was, in fact I am very much curious to know the answer. So I asked this questions to many people in the industry through a professional business network contacts. I received the answers to my email but for benefit of other people in the same kind of job, I will be posting those experts' views here.

I am starting with the answer of Mr. Phil Davidson, Senior Program Manager at Microsoft. I am very much obliged to him for his time to write me this.

He says- I believe it is an area that will still require people and focus, however, I believe that the mindset and activities will transform. With the current pace and change to be "agile", it becomes more important that there is a process that can allow the developers to keep focused on building products and features instead of needing to worry about setting build systems and servers.
The world of Build will need to start focusing on providing a service to the development teams and in that provide the necessary systems and support to ensure that the dev teams can deliver high quality code.
By ensuring the proper quality gates are incorporated as a part of the build or post build process ensures that once the code is checked in, you know it is in as good if not better state than it was prior to the check in.

I believe that part of the responsibility will be in the area of consulting where they can provide the dev teams with recommendations and guidance. The build service team can help them to be able to know the best ways to utilize the service and system to get the biggest bang for their buck. The release team will be able to help them in regards to deploying or shipping the highest quality products and services through making sure the right processes, procedures, and quality gates are in place or get setup.

Another area is in the area of tools. Tools that will automate and facilitate and ensure that devs can be running at as fast a speed as possible without reducing the quality nor the stability of the product/services they provide. This is really about ensuring the ability to scale up and scale out as we watch the speed of software development as well as the size and number of products continue to grow.

I believe there is a need going forward, it is up to the build and release people to make sure that it adapts to the changes being seen and adopted by the development teams around the world. The skills of how to build and ship/deploy a product in the best way to optimize the build and release experiences.