Thinking about the challenges I've faced on projects over the last few years, I've noticed they broadly fall into three problem areas;
- Security
- Identity Management
- Operational Management
I doubt anyone is surprised by this list. Security is easily the most painful topic whilst its difficult to prioritise the other two. Initially, I thought the prioritised order would change throughout the lifecycle of a solution. Operational management isn't an issue during the design phase right? But when you think about it, you need to design operational management; you need to get the dev team instrument code appropriately, you need monitoring services, deployment services, configuration management services, reporting services etc. So whilst the activity related to each of the three areas above will vary across the lifecycle, I feel the areas are still the most prominent problems Infrastructure teams face. If you have a different view, drop a comment.
I find its quite useful to know these three areas are the biggest problems; you can focus extra effort and resources on them. You can look for best practices around them. For example, during design and implementation phases of my last project we set up teams broadly aligned with these problem areas and integrated them with teams focused on particular products. I think of these as horizontal teams focused on (primarily) non-functional areas and vertical teams aligned with functional areas, as shown in the diagram below (liked here, this image is stored on a public dogfood server, so it may not be available at all times).
Drop a comment on these trends; do you agree? Is something else causing you sleepless nights?
These trends help to focus my attention – is there a deficiency in a Microsoft product which is causing the issue, or is it a result of poor process, internal company politics or something else?