Software Engineering, Project Management, and Effectiveness
My Architecture Journal article is live, A Language for Architecture. I wrote the article to share the map of application architecture we created during our patterns & practices Application Architecture Guide 2.0 project. It's a simple language for helping you get in the ballpark when you're traversing the very large space of software architecture. By framing and naming the space, we can more effectively share our principles, patterns, and practices for application architecture. This also helps consolidate all the great information spread over time and space and threads and heads. More importantly, if we simplify how we talk about architecture, we can move up the stack as well as pave paths for others and help mentor others in our field. Instead of asking basic questions like what is architecture, we can ask things like how do we define archetypes for the cloud or how do improve product line engineering for common systems and application types? In our case, we're using the language to help rationalize our portfolio of assets in our patterns & practices product line.
Why the Map There's an explosion of concepts in the architecture space. While working on the Application Architecture 2.0 Guide, we needed a simple, but effective bird's-eye view of the space. By framing and naming the space, we created a shared vocabulary, helped avoid information overload, and made it easier to find, organize, and share principles, patterns, and practices with customers, field, and product teams. It's good for the ecosystem.
Usage Scenarios Here's some usage scenarios:
Key Concepts Here's some key concepts behind the map and language:
The Map The key components of the language include:
Bob Brumfield and Blaine Wastell from our patterns & practices team talk about Prism 2.0 with the Elegant Code Cast in Code Cast 26 - Prism 2.0. Prism 2.0 is our patterns & practices Composite Client Application Guidance. It's prescriptive guidance to help you build modular Windows Presentation Foundation (WPF) and Silverlight client line of business (LOB) applications.
My Related Posts
I'm honored to have a guest post at Sources of Insight from author Stephen Nelson on The Five Small Business Success Formulas. Stephen is the best-selling author of QuickBooks for Dummies (over 400,000 copies sold), of Quicken for Dummies (over 1,000,000 copies sold), and numerous other books about small business accounting, finance, project management, and technology. He was once called the Louis L’Amour of computer books by the Wall Street Journal because he’s written more computer books (roughly 160 at last count) than any other author.
Read Stephen Nelson on The Five Small Business Success Formulas.
I wrote a post about Performance Hot Spots on Shaping Software. This is a follow up to my post on Security Hot Spots. Hot spots are a way to turn Pareto's principle (the 80/20 rule) into action. By focusing on hot spots, you find the levers in the system that produce the greatest results. You can also use the Performance Hot Spots to help you find and share principles, patterns, and practices for performance. Read my post to find the what, why and how of Performance Hot Spots.
I've posted a summary of my Monday Vision, Daily Outcomes, Friday Reflection pattern on Sources of Insight. It's the heart of my results system and it's how I organize and structure my week. On Mondays, I figure out 3 compelling outcomes (results) for the week. This helps me prioritize my day to day. Each day, I figure out 3 compelling outcomes. On Fridays, I reflect on 3 things going well and 3 things to improve. I carry forward the lessons learned into each new week.
It's a simple but effective pattern improving your effectiveness. I use it to drive results for myself and my project teams. By scoping with The Rule of 3 , structuring your week with Monday Vision, Daily Outcomes, Friday Reflection, and investing in your hot spots for life (mind, body, emotions, career, relationships, financial, and fun), you set yourself up for success. It works because you define your 3 tests for success each day and for the week. It also works because it's easy to get back on your horse when you fall down. If you got off the bandwagon, to get back on, simply start your day by asking what's the 3 best results you can accomplish for the day.
Hands-on Labs for Unity 1.2 are now available.
What is Unity Unity is a lightweight, extensible dependency injection container with optional support for instance and type interception. It facilitates building loosely-coupled applications and provides developers with the following advantages:
What's in this Release Use this set of Hands-on Labs as a guide to learn about how to use Unity dependency injection container and how to leverage its capabilities in various application contexts (including ASP.NET). It covers the following topics:
Hands-on Labs for Microsoft patterns & practices Enterprise Library 4.1 are now available.
What is Enterprise Library Microsoft Enterprise Library is a collection of reusable software components ("application blocks") designed to address common cross-cutting concerns for enterprise application development (such as logging, validation, data access, exception handling, and more). Entlib is provided as source code, test cases, and documentation that can be used "as is" or extended, and encapsulates the Microsoft recommended and proven practices for .NET application development.
What's in this Release Use this set of Hands-on Labs as a guide to learn about the application blocks included with Enterprise Library 4.1 and practice how to leverage their capabilities in various application contexts.
There are also updates of the hands-on labs for the following blocks: