Software Engineering, Project Management, and Effectiveness
Imagine if you were tasked with mapping out the existing Microsoft developer content spanning Channel9, the MSDN Dev Centers, MSDN Library, Code Gallery, CodePlex, the All-in-One Code Framework, etc.. How might you go about it?
Imagine if you had to create an information architecture that encompasses customer scenarios, content types, products and technologies, publishing channels, etc. that could be rationalized across the larger content ecosystem including various internal Microsoft teams, as well as partners, and community contributions … What would you do?
Just start. Start with something simple. So that’s what I did.
The “Simple IA” Here is an example of something I’ve been working on. I call it the “Simple IA.” IA in this case, is simply short for “Information Architecture.” I specifically called it the “Simple IA” because Information Architectures are prone to complexity and get over-engineered.
This lets me basically connect the dots between our content story, our publishing story, and pillar areas of focus. In the figure above, the Hot Spots are a simple Heat Map to step back, look across the Microsoft application development platform and see the forest from the trees. The channels are a way to step back and look across the various places where Microsoft developer content gets published. The IA piece above, is a simple way to walk the customer scenarios, the product features, and our various content types, such as Code Samples, How Tos, etc.
So yeah, even simple seems complicated, but believe it or not, it all comes together. (I’ll share the results in the near future.) The beauty here is that it’s systematic and repeatable. I can simply change what I point it at and I can repeat the process for any product or technology. Even thought I put specific instances in the channels, those can be changed too. It’s basically principle-based and pattern-driven … and it works!
One thing I’ll point out right here before we move on is, if it was easy to simply browse the Code Samples and How Tos for a given technology, life would be easier for everybody.
Platform Hot Spots You can think of the application development platform as a Heat Map with relevant Hot Spots. Here is a simple example:
All the Heat Map is showing is some common application paths. For example, when you go to build a phone app, you can choose Silverlight or XNA, so they are the “Hot Spots” or focal points in this case.
There are many ways to slice and dice the application development platform. At a high-level, you can think of it as an application framework, languages, tools, process, and technologies. The Hot Spots you focus on depends on what you need to show or highlight.
Channels Channels are where producers put their stuff. For example, various teams publish to places on the Web and within Visual Studio:
.NET site would include www.ASP.net, www.Silverlight.net, etc.
Information Architecture (Scenarios, Features, and Types) This is where the rubber meets the road. For each channel, you can surface content using simple lenses:
Here is a simple model of a page that would surface content for a given product or technology
Here is an example of this model in action on the Windows Dev Center:
Notice that you can browse a large collection of Code Samples, How Tos, and Videos.
It's like BI (Business Intelligence) for developers who want to look at the same information from different angles - some might want just accomplish their task so they want scenario driven content, some need a deeper knowledge of the features for extending it so they would go for feature driven views, and some just want to know what's available - so thay will go for tech driven content
@ Alik -- Thank you. It helps both the "producers" for sharing information, whether you're a one-man band or a team or a company. It helps the "users" as a simple way to sort through an overload of information. As a "continuous learner," it can help you very quickly map out a space or domain and find the short-cuts to the gems.