If part of this transition requires that aspects from the legacy process be kept, it’s a great opportunity to demonstrate that through the use of agile process and agile tools, we can have an even better control of the value (beyond just software) that the development team is creating for the company.
This is an update post to a previous article published in April 2017 explaining how to wrap ADAL.js with Angular2+. The previous article is no longer relevant given the changes to the Angular framework. This new post explains a reimplementation which uses the PathLocationStrategy and Angular features such as HttpInterceptor and InjectionToken.
I have been working on a small project in my free time in which I’m the only developer. When I started the project, I wanted to write the entire application in a test driven, test first, manner. I wrote my failing test, then made the test pass and as I saw opportunities to refactor, I took the time to reduce complexity, separate concerns and reorganize as needed. I was in a red-green-refactor rhythm and it was enjoyable to see the test count go up and my code coverage for tests at 100%… but then reality set in.
When creating a Virtual Network, specifying the address space is the most critical configuration. This is the IP range for the entire network that will be divided into subnets. This post is to help explain CIDR Notation for your subnet configuration.
Recently had to give a chalk talk on a Azure Service Bus (ASB). Creating and recreating the various topics and subscriptions is a bit of a pain since there are so many options and parameters to consider. The way I go about it is to create a utility that simply creates and destroys all the infrastructure I need for the chalk talk.
In this post, Premier Dev Consultant Marius Rochon considers scenarios where an application needs to be accessed by users from many sources of authentication (Office 365, owned and operated by Microsoft but whose use is managed separately by many independent organizations is an example of such a resource). It proposes a framework for determining an optimal solution for the application using Azure AD.
Both Flow and PowerApps are great tools that can be in the hands of business and power users to accelerate the building of automated workflows and business apps across on-premise and the cloud services. It’s easy to see how there could be many such Flows and Apps built, deployed and running within your tenant. It’s a best practice for the IT administrators to devise a monitoring strategy in place that could proactively keep a watch on these Flows, Apps and other related resources and alert and perform remediation actions as necessary.
Recently, I was asked by a customer with a very large internal Azure user base to help them find a way to keep track of Azure AD (AAD) application registrations in their directory. This customer has been on Azure for years, and the number of AAD application registrations has steadily grown during that time. There are so many applications now that it is hard for them to know which ones are still being used, and which are not. Furthermore, it’s common for application teams to create a secret key for their application and then forget that the key will eventually expire. How does the operations team know whom to contact when the expiration date is approaching?
It's all about the people. The resistance to change is human nature. Leaders and team members alike. Assessing the team is simple. If they can demonstrate an openness to changing how they do things you are on track. If team conversations consist of why things must continue to be done the way they are being done success will be a challenge. But leadership is the real key. Effective change is a collaborative process and management's primary team facing role is keeping the team within the agreed upon boundaries. But of equal importance is securing and managing executive sponsorship. The team is pushing hard against their own instincts for the betterment of the organization. The organization must support them and insulate them from organizational winds that look to disrupt their efforts.