How to manage feature flags in ASP.NET Core apps with Azure?
No matter how simple or complex an application is, choosing the right configuration provider right at the start will mak...
Remote work – what does it mean, exactly? Is it about sitting in a café with a computer? Or maybe sitting on a train with a mobile phone?
Not quite. The core of remote work is being able to work and be productive in the same way as we would be while sitting in an office.
This is a part of an article series we created to help you implement a remote-first work environment with the help of MS Teams and Azure. Here you’ll find valuable tips to keep your business secure and efficient. See the additional articles here:
It is not just about hardware access, like having a laptop and a mobile phone. You also need to create an environment where you can work and collaborate with others without sitting in the usual place, using tools that you use on a daily basis at the office.
In this article, I would like to focus on delivery teams and how they can work remotely at the same level of productivity. Let me start from the office perspective.
On a daily basis, most of us work from an office. We have our favorite desk, computer, headset, and other tools. We have access to the Internet, and we are also able to talk face to face with our friends from the team.
Of course, we use a variety of tools and some of them are available only at the office – such as services for project management (Azure DevOps Server), source code repository (local GIT repository) or documents on the local disk.
This is all great but try to imagine what will happen when you have to work from elsewhere? How to access all these documents? What are the ways to share the source code with the team? And finally, how to manage that team?
It can be a real challenge! This is why I would like to present some important and helpful hints and tools for delivery teams to stay productive in these hard times of remote work.
I will present my own, real-world example. As a team, we work on project delivery.
We work in Scrum, so we have daily status meetings. Our team controls the progress of project implementation. Then, we write the code and publish it to specific environments for testing.
As you can see, the are many challenges when talking about remote work in this case. So, what do we use to communicate and move forward with project implementation?
A clear overview of the project condition is a crucial factor when talking about production success. With multiple teams working on the same project, it can be hard to manage everything in a tool like Word or Excel.
For these situations, it’s worth checking out Azure DevOps which provides developers and teams with services to plan work, collaborate on code development, and build and deploy applications. It is available as a cloud service, so you can access it from any place in the world (as long as you have Internet access, of course).
Azure DevOps provides an environment to work remotely across the entire project team, from product owners, project managers to development teams. It’s available online and can work with your on-premises servers.
Azure Boards enable planning, tracking and discussing work across teams.
With Azure DevOps, we are able to control the work progress because every delivery team member has tasks assigned in the product backlog.
As I mentioned before, we work in Scrum methodology utilizing sprints to deliver specific features. With Azure DevOps, it is easy to configure them and then allocate tasks to specific team members within these sprints.
In Azure DevOps, we can also store the source code in the GIT repository, so every developer can access it. It is possible to connect to it from many different development environments such as Microsoft Visual Studio or Eclipse.
Continuous integration and delivery is also part of DevOps best practices. With Azure DevOps Pipelines, it is possible to set up automatic builds for different types of applications (e.g. web or mobile). I encourage you to read more about Azure DevOps in one of my previous articles: Azure DevOps as a Central Hub for Managing DevOps Best Practices.
What if you don’t have Azure DevOps? No worries. Microsoft makes the service available for free for the first 5 users. If you need help, email us, and we will help you set it up end-to-end.
Of course, if you are a project manager and like working with tools like Excel or Project, no problem! You can still easily integrate them with Azure DevOps.
If you are a developer, you probably work with an Integrated Development Environment (IDE) such as Microsoft Visual Studio or Eclipse. Good news! You can easily integrate them with source code repositories in Azure DevOps.
In Microsoft Visual Studio, there is a great integration with Azure DevOps not only related to the source code repository. You can also manage your tasks and even integrate with Azure Pipelines. Even if you work remotely, you still can access all the features that make you productive.
Visual Studio provides a great feature called Live Share. It enables you to collaboratively edit and debug with others in real time, regardless of what programming languages you’re using or app types you’re building.
It allows you to instantly and securely share the current project, and then as needed, share debugging sessions, terminal instances, localhost web apps, voice calls, and more! You can see it in action in this video:
When talking about the “development environment”, I don’t just mean the tools but your working space too! Remember that having your desk set up in the right way can boost your productivity. This is an example setup of one of our team members – Tomasz Onyszko. He connected everything exactly the way it was at the office.
Team collaboration is one of the most important parts of project delivery success. This is why we organize our status meetings in Microsoft Teams.
During each meeting, the development team shares what they have completed, what they are working on, and current obstacles. We can also display the current sprint directly from Azure DevOps for everyone to see and discuss.
All project stats can be displayed in both Azure DevOps as well as Microsoft Teams. We leverage the integration with Microsoft Teams to access project health data right within the app.
There are several channels with project data: in our case, we have a build channel that shows build statuses with dates and a bugs channel that lists reported issues/defects.
Of course, there is also a Microsoft Teams mobile application, so that you can stay connected with your team wherever you are.
As you can see, working together on project delivery is possible remotely. With the right tools and mindset, anything is possible. At Predica we have achieved it, and we are willing to help you set up the right environment to enable your team to work remotely.
I can also recommend the latest article on our blog, How to Continue Your IT Projects in the New COVID-19 Reality? where you will find interesting tips.
Let me present some additional useful links with information that can help you stay productive and connected at this difficult time:
Remember that not working from your office is not the end of the world. There are many helpful tools that can help you out.
And what’s more – with the ability to work with a remote team, there is more flexibility and team members do not feel limited. This is an important aspect.