Posts

Managing to Fail

Image
Who You Gonna Call? Your manager can help you resolve problems and be your team's snowplow. With the right information provided at the right time. So of course you'll need to avoid this combination. Indeed leveraging your manager is another opportunity to spread the misery to other teams and really clog up the gears in the general clockwork. To begin with there's the classic "Have your manager call their manager" scenario. This involves ignoring regular channels of communications and ticketing systems and such like, and just demanding people on other teams do things for you. If you've left your infrastructure requirements or other necessities for an important deliverable to the last minute you can trigger all out manager warfare. Teams will be left scrambling and deployment dates will be missed - fingers will be pointed, management will be irate, and business will be red-faced-and-demanding-answers-as-to-why-we're-late-again. If you

Schrodinger's Production Environment

Image
Is it dead? Is it alive? You have absolutely no idea. You work in the development environment. That's where all your cool new features are created and where you can do whatever you like. You deployed to production and there were no red flags. You're sleeping as soundly as your application which has been unavailable since who-know's-when. Well, your customers knows-when. But they are beyond your horizon of responsibility. This is the scenario you'll want to encourage if you want to continue your blazing streak of misery. A diligent team of software developers will always know if there's a problem with their production environment at least as soon as their customers. They will have production application monitoring in place. At a minimum they'll be pinging the application or checking a health page. If they are pros they'll be checking all the functionality of application and checking the results against performance benchmarks.

Leveraging Other Minions - Share the Pain

Image
Misery Loves Company So far you've been working towards maximizing your own failure. Great job! But why are you so self-absorbed? It's time to share the feeling. How? Simple. Just remember this simple truth: Your lack of planning CAN be someone else's emergency! A lot of someone's in fact. You're lack of planning can be like a terrible disease consuming the time of your most in-demand co-workers when they are at their busiest. This will likely cause pain for every other team they service. And possibly their friends and families. A mad scramble can ensue. The classic firefighting scenario for IT is so famous. You can picture it - the war room, the late night conference calls, and the manager level emails. The key to this circle of success is to only leverage key resources at the very last minute. Bonus points if you communicate using the wrong channels and supply insufficient information. Example: Send an email to the infrastructure team that

The Source of Success

Image
Version Control. The Source of Failure. Most developers are familiar with version control. At it's best it allows for developers to work together writing code while reviewing each others work. It becomes a seamless part of each developers coding process. It is the source of truth for an entire application: the front-end,  the database,  the infrastructure on which it runs,  and the process for how it is released to production. So much potential for success. But every yin has a yang, and failure is the name of the game. The first step to rarely commit your code. If possible have the entire team keep their code changes on their local machine where they can be lost. Or in a private code shelf. Now sit back and wait...preferably until close to the release date. Over the course of several weeks or months files and functions will have been edited individually by every developer. Those changes have to be merged together. Some changes will be duplicates of changes other deve

How to Succeed at Failing Miserably

Image
The Road to Success. Software development is hard. It's easy to do it badly. But if you really want to be the worst, you've got a lot to learn. Branching. Merging. Testing. Coding. Opportunities abound to truly fail spectacularly. To achieve the epic fail. To not just face-palm but face-plant. Let's get the wheels of the release cycle spinning. Together we can make sure that projects aren't just run into the ground but buried! I'm certain everyone has their own experiences from their own development journey. It's a road best not walked alone. You'll need managers and teammates. Customers, they're coming along. Vendors too. Let us begin!