Another interesting thing to note is that we are trying to reduce the size of projects and break apart the notion of "cores" within an org. The idea is to allow features that span several different areas to be implemented with greater ease. I like the idea but I am concerned with how these features will be maintained after they are completed.
FWIW - I spent about 7 years in MS and now >5 in Amazon - I overall like the MS model, at least from a developer perspective.
It gave you a lot of time to focus on getting your complicated piece right with unit tests - and you could leave the integration tests / PM'ing to the respective folks. Amazon is like where Bing is going - but the end result is that it ends up favoring breadth oriented folks more than depth folks. That's ok if you are building a business logic / app tier, system teams are a different story.
For the same reason, the latest MS path doesn't seem right to me. It feels like they are taking the wrong lessons from startups / AWS.
But again, it has been 5 years since and I don't have the big picture - so I guess I will wait and watch.
Has this 'more-hats' change you describe (specifically ops) changed that at all? Where I work, I hear an argument against offices: that they promote and encourage isolation in what can be an ops-heavy role at times (I see the merits but think there are better ways to combat that)
My company is at orders-of-magnitude different size than MS, wondering if something similar occurs there.
Most people are in offices or in an area with a few people, but (at least for me) our team is scattered around, so we're not nearby each other at all. It's not easy to stop by or ask a quick question without going for a short walk.
Personally I like the office arrangement - you can make it silent, control the temperature, etc. I do wish that teams were grouped more closely together but that doesn't seem to be a concern for anyone higher up.