I was recently working with one of my customers to help them improve the usability of their applications as mandated by their IT staff. The goal was to create quality web applications that can be equally useful to all users including those with disabilities. Together, we reviewed many good tools and potential best practices, but we wanted something that would specifically run as part of the application release process.
What I wanted to accomplish here was simply to create a redistributable Python package. Also show some of the practices on how to work with Python in a Windows environment, but I could not stop there.
I went ahead and built a complete CI/CD pipeline for the package, showing how easy it is and how well Python projects integrate with Azure DevOps.
This article is part 2 of DevOps and Culture. See part 1 here. In this entry I’ll discuss how we can think of culture in a systematic way and how we can change it.
Peter Drucker famously said, “Culture eats strategy for breakfast.” This is a great introduction to how we think about DevOps and in this article, I’m going to unpack this statement so that we have a bit more context. This is the first part of multiple articles on culture as it relates to DevOps.
VS Code can really be the platform of choice to benefit from the best features. Furthermore, its cross platform support allow users to have the same customer experience on multiple platforms (Windows, Linux and Mac OS).
Why is it that some organizations, though they may invest great expense in tools, process development, and rigor, fail to obtain the transformation and benefits other organizations have so greatly experienced?
The "lift-and-shift" approach with Azure IaaS can only deliver on small measure of the promise of agility and innovation in the Cloud when compared to modernized application (i.e., Cloud-optimized). Modernizing application with Azure PaaS, on the other hand, can deliver on the promise of agility and innovation to a great extent. It reduces the time required to manage the application and the time required to deploy a new release, and optimizes the speed to market.
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.
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.
One of the great things we’ve learned from applying Lean to software development and operations is the notion of eliminating waste is our processes. In this article I’ll provide some background on why this is important and how to find and eliminate waste in your daily activities.