You have to make that release date. You need more time to get the structure of your modules right, but you don’t have it. Hitting the release date is more important than cleaning your code, so you defer the cleanup to make the deadline. You agree to take on technical debt which you’ll have to pay back later. Speeding up now to hit this release date will make you slower hitting the next one. If you’re not careful, over time, development slows down to a crawl and every feature takes weeks instead of days.
To avoid development deadlock, we need to fully understand technical debt. Otherwise, we’ll ruin our software. Some questions to ask about technical debt management are:
- What exactly is technical debt (and what isn’t)?
- Where does technical debt come from?
- When is it ok to create technical debt?
- How does technical debt hurt development?
- Technical debt management: how can I measure technical debt?
- How can I reduce technical debt?
- How can I avoid technical debt?
When inflexible and wasteful software development processes are making your organization inefficient, it’s time to introduce an agile methodology. Kanban vs Scrum then becomes an essential question: Which agile software development methodology is better suited for my own situation? And is Kanban agile? What about Scrum vs agile? Confusion is spreading… Let’s have a look how to sort out all those questions.
Enter the “Platform Team”: a group of build & deploy experts that jumpstart your teams down the road to operational success while providing a safety net. And, no, I’m not referring to a System Administrator with a pager. Instead, I’m suggesting a three-ply construction of automation, containerization and monitoring.
In comparison to the total number of product categories in our database, Stylight supports a handful of “pretty URLs” – those understandable by a human being. With http://www.stylight.com/Sandals/Women/ you have a good idea what’s going to be on that page.
A ritual is a practice everyone knows how to do. It’s conducted regularly or on well defined occasions. Rituals help to create an identity for a group of people: nations, sports clubs or teams. How can rituals help form a high performing team?
“Hey Dan, could you deploy the coolPics branch to test? Sorry for the bother :(”
“No problem, man. Tell me the SHA and I’ll deploy it.”
I had been having this conversation 4-5 times a day for a couple of weeks now. Being a huge fan of continuous integration, I wondered how to automate this. Why shouldn’t the developers be able to push whatever they wanted to test?
A colleague, overreading this back-and-forth in our HipChat room, told me to take a look at Hubot. It was custom made for automating rote tasks like webapp deployments. One weekend later, I was hooked. Here’s how I took the first step in transforming our abstract sense of team trust to tangible ownership.
When cooking a new dish, things get out of control if you try to manage too many things at once
You might face a similar situation when trying to write a new Chef cookbook.
Getting your arms around all those tools and frameworks needed to write solid, tested cookbooks gets you spinning. You need to install Food Critic, Chef Spec, Berkshelf – and the list goes on. This set up can easily take up to half a day or more.
French Chefs arrange all the ingredients which they’ll need well before they start cooking. They call this set up procedure „Mise en place“, or in short „Meez“.
And you should do the same
That’s what Meez is all about. It’s a Ruby Gem which creates a cookbook for you which has puts all these tools in place before you start cooking. Now you can work like a professional Chef concentrating on the recipe at hand instead of juggling new tools.
Their bosses should’ve decided on a shared goal before they declared that DevOps organization…