The right DevOps Structure

Once your company has decided to adopt DevOps, that’s when the hard work actually begins. Typically Development and IT-Operations are separated organizationally. How do you bring the two together? What’s the best approach for your company and how do the different approaches compare to each other?

All those questions are non-trivial to figure out. For me, the work of Matthew Skelton and Manuel Pais really helped me to bring order to the various patterns and anti-patterns that exist.

I highly recommend you take a look at their work:

devopswebsite

http://web.devopstopologies.com/

Focus more – multitask less

The ability to multitask is often looked at as a positive characteristic of an employee or of a team. I’m often impressed myself with people who are able to keep several balls up in the air. However, what everyone should keep in mind when asking anyone to multitask is the cost that is associated with it.

The cost of Multitasking

In „Quality Software Management: System Thinking“ Gerald Weinberg suggests a rule of thumb to calculate the cost of context switching when working on several projects at the same time. When a team is working only on one project they can dedicate 100% of their time on that one project. According to Weinberg, once you add one project 20% of the team’s time is wasted with context switching. When adding a third project only 60% of the time is used on projects. By adding a 4th and 5th project you are wasting more time than you are focusing on actual projects. Jeff Atwood wrote an article in 2006 referencing several studies about the problem: The Multitasking Myth

Dead Time

From the above one can easily think that focusing on one project is something that everyone should aspire to. Personally, I don’t think that is realistic or even pragmatic. First, the requirements for your business will almost never comfort you with the luxury of only focusing on one thing. Secondly, there is such thing as dead time in projects. So periods of time in which you are waiting on something in order to progress with your project. No matter how hard you try to align everything in order to avoid dead time, you will have some.

Knowing there will be dead time you can use this to your advantage by pipelining a certain amount of projects. If project A is blocked people can progress on project B, etc. The cost of context switching is still there, but it is mitigated by the ability to work on something highly prioritized during dead time of another project.

Don’t plan with 100% of your team’s time

Another false belief is when running only one project 100% of a team’s time will actually be used for working on this project. I’m doing that mistake myself a couple of paragraphs up in this post. You will not be able to spend 100% of your time on a project hence it is wrong to assume it. There are a couple of reasons for this.

One reason is, everyone will do something unrelated to work throughout their day. Several studies have been conducted and on average it seems that out of an 8 hour work day only 7 hours are effectively used for work.

Also, urgent things will interrupt the day. Especially if the development team is also responsible for maintaining an application in production systems. How much of a team’s time goes into solving production issues highly depends on the quality of your software. In any case, things will happen and you need to be aware of that when thinking about how much time can actually be spent on a project.

Thirdly, teams will spend time in meetings, will receive training, will have to monitor production services, etc. Again, how much time goes into that is probably individual for each team, but it needs to be accounted for when thinking of how much time can be dedicated to a project.

So what does that all lead us to?

Just being aware of all the above already helps. Teams and organizations need to find the right balance between multitasking and focus. Finding that balance requires work from everybody involved in the process including the leadership team. Also embracing agile methodologies will help prevent over-committing and account for the fact that your team is able to spend all their time on a specific project.

What are your thoughts on this topic?

 

Über die Herausforderung den perfekten Fotorucksack zu finden

Ich bin mir nicht ganz sicher wie lange ich schon nach dem „perfekten“ Fotorucksack suche. Sehr lange. Viele Jahre. Vermutlich schon so lange wie ich mit DSLRs fotografiere. 16 Jahre sind das wohl; wie sehr doch die Zeit vergeht…

Da sich die Suche so schwierig gestaltet bin ich all die Jahre meiner Tamrac Umhängetasche treu geblieben. Sie hat mir gute Dienste geleistet und diverse Kamera-Upgrades ohne Murren mitgemacht: von der Canon Eos 300D zur 7D zur 5D Mark III inkl. der entsprechenden Objektive.

Warum ein Rucksack?

Aber zurück zum Rucksack … Warum brauche ich einen Rucksack wenn mir doch die Tamrac-Tasche so treue Dienste leistet?

Dafür gibt es drei Hauptgründe:

  1. Mein Nacken verträgt sich nicht mehr so gut mit einer Umhängetasche. Insbesondere wenn diese eine schwere 5D Mark III plus Standard-Objektiv plus Tele-Objektiv beherbergt.
  2. In meine aktuelle Tasche passt, außer Kamera-Equipment, gerade noch so ein Paket Taschentücher. Vielleicht noch mein Portemonnaie. Aber das war es dann wirklich. Kein Platz für Verpflegung oder anderen Kleinkram
  3. Kein Platz für mein Stativ

Was also soll der Rucksack können?

  1. Er soll sich leicht tragen lassen.
  2. Er soll mein Kamera-Equipment (inkl. Stativ) und andere Dinge die man bei Tagestouren im Freien benötigt, ohne Tetris spielen zu müssen, aufnehmen können.
  3. Wetterfest und einigermaßen robust sollte er sein.

In den letzten Tagen habe ich mir mal wieder einige Rucksäcke angeschaut. Darunter war der Lowepro ProTactiv 450 AW, der Lowepro Whistler BP 450 AW und der Montana ElementsPro 50.

Der ProTactic und der Whistler sind beide von hervorragender Qualität und Funktionalität. Beide sind äußerst stabil und fassen viel Kamera Euqipment. Der Whistler ist dabei für den Einsatz in den Bergen konzipiert und ist wohl das robusteste was ich bisher an Fotorucksäcken gesehen habe. Mit der Stabilität kommt aber auch ein stolzes Gewicht von 4kg. Zu viel für mein Einsatzgebiet (und meinen Nacken …).

Der Protactic bietet viel Platz für Kamera-Equipment, Stativ, Notebook und Zubehör, ist aber ein reiner Fotorucksack. D.h. für andere Dinge die man bei Outdoor-Aktivitäten unter Umständen benötigt ist kein Platz. Auch scheinen mir Schulter- und Hüftgurt sehr dünn bzw. wenig gepolstert. Voll beladen wird man den Rucksack vermutlich schnell schwer auf den Schultern spüren. Toller Rucksack, aber wieder der falsche für mich.

Die Suche hat ein Ende.

Bleibt also aus der Montana ElementsPro 50, auf den ich eher durch Zufall gestoßen bin. Gut verarbeitet, groß, gutes Tragesystem. Insgesamt ist der Innenraum dreigeteilt. Ein Abteil für Kamera, Objektive etc, zwei Abteile für alles andere. Alle drei Abteile sind durch Reißverschlüsse voneinander getrennt und der Kameraeinsatz lässt sich komplett entfernen. Man könnte den Rucksack also auch als großen 50L Rucksack verwenden. Das ist keine Anforderung für mich, aber es ist schön die Option zu haben. Ein Nachteil ist, dass sich das Kamerafach nicht allzu flexibel einteilen lässt. Wer Kamera mit aufgesetztem Objektiv und vier weitere Objektive unterbringen möchte ist gut aufgehoben, komplett andere Aufteilungen sind nicht möglich.

Die Suche ist für mich vorbei. Welche Kamerarucksäcke habt ihr?

My most hated word in Business

My most hated word in business is „escalation„. It’s often an artifact of unhealthiness. Unhealthy process, unhealthy organizations, worst case an unhealthy culture. No surprise it makes you feel sick over time.

Also, before I start… This is not meant to be a highly scientific or well-researched article. Just my very own thoughts on the subject that I came to over the last couple of years. Let’s look at some reasons that I’m seeing regularly when an escalation reaches my inbox.

An escalation often happens if you don’t take enough time for planning. Whatever it is that you want to do… did you plan it through properly? Did you consider risks and potential changes? Did you take requirements for granted that really you shouldn’t? Did you have a solution in my mind before understanding the problem? Did you validate data and information that you needed?

The second reason for an escalation often is enough communication or no communication at all. Especially paired with not enough planning things can become really hairy. Did you talk your project through with other teams and organizations within your company that you need to be successful? Did you talk to the right people on the customer side? Did you set expectations appropriately?

Very often escalations can be prevented if the right amount of planning happened and once a plan is put in place, the plan is communicated properly to all parties involved. Also, communication is not a one-time thing. Expect that you need to do it frequently throughout a project.

Sometimes you receive similar escalations within a short period of time. That might be a sign of a missing process within your company. As there is no process the only chance people see to be heart is to escalate their issue higher and higher throughout the hierarchy.

If things are really bad, your company is on its way to developing a „not my problem„-syndrome. That’s a cultural problem and very hard to fix, so try hard to prevent this culture from coming up in the first place. This behavior is often caused by every team and every single individual being overloaded with top priorities. Nobody has the room to breath to offer help. Everybody is worried not delivering on their top priorities when helping others. Eventually, of course, this will mean that nobody wins. Better alignment and focus across the company’s organizations can help, but it really is a culture that needs to be driven from top to down.

Last but not least escalations cannot be prevented completely and it is good to have one or more policies in place which describe how to escalate based on what needs to be escalated.

What do you think are the main reasons for escalations and how do you think most of them could be prevented?