We are pleased to introduce Mikael Krief in our series of posts to recognise the champs of the Ranger community.
He’s been nominated for his tenacity to react to change requests from the community, to pull request feedback from the extensibility team, and for his infectious passion for the Yeoman – generator-team-services-extension project. The project is pivotal, because it not only promotes best practices and consistency across extensions, but makes it really easy for extension developers to get started. He’s also helped us automate the latest pipelines, introduce unit testing and code coverage reporting, and debug build tasks when we could no longer see the forest for the trees.
We asked Mikael why he’s so passionate about extensions and in particular, the generator-team-services-extension project
For the past two years, I have had the pleasure to contribute to several extensibility projects for Team Services. Even though everything that’s related to TFS/VSTS, ALM, and DevOps excites me, extensibility and extensions have found a particular place.
After contributing to the Branch Visualization, Roll-up Board, Work Item Details, and several extensions for my customers, I had found that we duplicated a lot of effort. We all invested a lot of time setting up the extension project - for example: files, folders, and scripts - as well as the continuous maintenance external libraries, such as vss-extension-sdk.
When we launched the project to investigate the feasibility of the yeoman generator for extensions, I was hooked. The project was an opportunity to share my experience and knowledge and help to develop a starter kit that includes all the learnings and best practices we have gathered over the past two years.
But … it was much more than that. With this project, we learned to better organize the structure of an extension. We lightened the scripts and discovered that Yeoman gives us a simple and practical way to create templates for any project. We also evolved our engineering process to build, test, and deploy the generator as outlined in Set up a CI/CD Pipeline for your Yeoman generator package.
It pleases me to evolve this project will evolve with and at the same pace as the extensions. We’ll support innovations of the Microsoft extensibility and enrich it with more sample code and other extension types.
What’s planned for the future ?
Continuous evolution! Here are two key features on our backlog:
- We’ll integrate the Application Insights monitoring libraries, using a new telemetry client package we’re busy validating. Both the revisions and the telemetry client package will be shared as an open source project and npm package.
- We’re investigating the option of users choosing to use scripts node.js or PowerShell for the custom task for build/release. The former will enable cross-platform execution.
Wondering what the product owner had to say about about Mikael?
Mikael saw an opportunity to make it easier for developers to get started with Team Services extensions and quickly pulled together the Yeoman-based Team Services extension generator. He has also published several extensions to the Marketplace. What's great about Mikael is his focus on delivering practical solutions that grow based on customer demand. And developing solutions that impact both users and developers of Team Services extensions puts Mikael in a special class. – Will Smythe