Software Engineering, Project Management, and Effectiveness
When you can speak the language, it’s easier to find your way around. One of the key things I’ve learned at Microsoft is that I can find my way around the platform fast, *if* I know the language. The language usually consists of scenarios or topics, features, and APIs.
The toughest part is usually mapping out the features. The beauty is that if you know the features, they tend to be a token or a handle that connects you to various documentation sets, presentations, samples, and a plethora of other resources. The other value of knowing the feature names is they tend to be unique names, so they are more precise and they help cut to the chase when searching through vast seas of information.
Here is an initial map of the Microsoft Application Platform from a topics, features, and API perspective. It’s effectively a language for the Microsoft application platform. Note that while many of the feature or API lists may be out of data, you can use the idea to build your own maps. Once the frame is in place, it’s a lot easier to update it with current information. In fact, this would actually be useful as a Wiki map. It would serve as a master map of the application platform, that would make it easy to connect to relevant resources, using a common frame and vocabulary.
The map starts off by focusing on the most common application types, and then walking each core technology building block, then drilling into topics, features, and APIs.
Enjoy the map … and please extend.
Application Technology Patterns
ADO.NET Topics and Features Map
ASP.NET Topics and Features Map
View more …
Silverlight Topics and Features Map
View More …
WCF Topics and Scenarios Map
Windows Azure Topics and Features Map
Windows Client Topics and Features Map
Windows Phone Topics and Features Map
These are five questions I find help understand where a team is at in terms of their ability to achieve their goals effectively:
#3 is especially interesting. It forces you to analyze and evaluate, demand, throughput, and supply. It raises issues around “push” vs. “pull” strategies. It raises issues around team structure and design. It raises issues around how you split or combine the work, to go along with how you split or combine the team. It also is a great place to use TOC (Theory of Constraints) analysis to find your worst bottleneck and push the bottleneck around (it’s always somewhere, and if you know where your bottleneck is, you can decide if it’s the best place to be or what to do about it.) This is also a great chance to explore different methodologies, strategies and systems for execution. For example, if you want to be more responsive to demand and “pull” things through your execution engine, then Lean practices are a great place to look.
#4 and #5 are about moving up the stack, once you have the basics in place and can run some water through your pipe.
30 Days of Getting Results is a collection of little lessons you can use to improve your personal productivity and personal effectiveness. It’s an off-line version of the 30 Days of Getting Results Boot Camp. If you’ve already gone through the 30 Days of Getting Results, then this is a great way to refresh what you learned at your finger tips. If you haven’t gone through it already, the 30 Days of Getting Results will help you build a strong foundation for personal excellence. You start off by building a rhythm for results for your day and for your week. You then map out the most important things in your work and life. You then learn how to prioritize with skill and spend more time in your strengths. From that foundation, you grow your ability to think, feel, and act your best. You then learn how to add more power hours to your week, as well as creative hours. This empowers you to achieve more in less time, as well as amplify your chance to flow more value to yourself and others, both in terms of getting results, and unleashing your creative ideas.
To get the system on your side, and to learn how to achieve better, faster, simpler results, download the 30 Days of Getting Results. It’s free. It’s 130 pages. Share it with friends and family and help them make the most of what they’ve got.
Key Challenges Addressed
Contents at a Glance
According to Christopher Alexander, "Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice."
I think the value of patterns is two key things: 1. Concise solution descriptions 2. A common vocabulary
I also think the best way to think about patterns is that they are a simple way to share strategies and principles. By naming them, you give them a simple handle.
Recently, a colleague asked me for a simple pattern template, and I didn’t have anything to just point to, so I did a quick roundup of some examples.
Pattern Templates Here are example pattern schemas and pattern templates from a few key sources:
Pattlets Pattlets were used in Enterprise Solution Patterns to briefly summarize a pattern, without fully documenting it. Here are a few samples:
A page of pattlets is available on MSDN.
Agile Results is the name of the system I talk about in Getting Results the Agile Way. It’s a simple time management system for meaningful results. The focus is on meaningful results, not doing more things. There are three keys to the Agile Results system:
The Rule of 3 The Rule of 3 helps you avoid getting overwhelmed. It’s also a guideline that helps you prioritize and scope. Rather than bite off more than you can chew, you bite off three meaningful things. You can use The Rule of 3 at different levels by picking three wins for the day, three wins for the week, three wins for the month, and three wins for the year. This helps you see the forest for the trees since your three wins for the year are at a higher level than your three wins for the month, and your three wins for the week are at a higher level than your three wins for the day. You can easily zoom in and out to help balance your perspective on what’s important, for the short term and the longer term.
Monday Vision, Daily Wins, Friday Reflection Monday Vision, Daily Wins, Friday Reflection is a weekly results pattern. This is a simple “time-based” pattern. Each week is a fresh start. On Mondays, you think about three wins you would like for the week. Each day you identify three wins you would like for the day. On Fridays, you reflect on lessons learned; you ask yourself, “What three things are going well, and what three things need improvement?” This weekly results pattern helps you build momentum.
Hot Spots Hot Spots are a way to heat map your life. They help you map out your results by identifying “what’s hot?.” Hot Spots become both your levers and your lens to help you identify and focus on what’s important in your life. They can represent areas of pain or opportunity. You can use Hot Spots as your main dashboard. You can organize your Hot Spots by work, personal, and the “big picture” of your life. At a glance, you should be able to quickly see the balls you are juggling and what’s on your plate. To find your Hot Spots, simply make a list of the key things that need your time and energy. Then for each of these key things, create—a simple list, a “tickler list” that answers the question, “What do you want to accomplish?” Once you know the wins you want to achieve in your Hot Spots, you have the ultimate map for your meaningful results.
You can use Agile Results for work or home or anywhere you need to improve your results in life. Agile Results is compatible with, and can enhance the results of, any productivity system or time management you already use. That’s because the foundation of the Agile Results platform is a core set of principles, patterns, and practices for getting results.
The simplest way to get started with Agile Results is to read Getting Started with Agile Results, and take the 30 Day Boot Camp for Getting Results.
OK, after testing multiple iterations against 7 competing designs, I’ve updated the Getting Results.com site and the Getting Results Knowledge Base. It should now be a lot easier and friction-free to learn about the Agile Results Time Management System.
Here are key changes:
Hopefully you find the site a lot easier to use and to find your way around. I’ll continue to simplify, test, tune, and refine … after all, that’s the agile way
Many thanks to Alik Levin, Paul Enfield, Steve Andrews, Tobin Titus, and Will Kennedy for inspiration and ideas on how to take Agile Results and Getting Results the Agile Way to the next level.
Trying to plan for a month can be a challenge, especially if you don’t have an approach. I’m going to share with you a very simple way to plan your month. It’s simple, but powerful. You can use Agile Results as a way to simplify your monthly planning. Agile Results is the system I talk about in my book, Getting Results the Agile Way.
To plan the month using Agile Results, simply do three things:
The best part is that each month is a chance to turn the page and start fresh. You are the author of your life and you are always writing your story forward. Use each month as a way to add great chapters to your life. When things don’t go as planned, carry the lessons forward, and use each day, each week, and each month, as a fresh start on your path of meaningful results.
My Related Posts
Meaningful outcomes are the backbone of meaningful work. Meaningful outcomes help guide and shape your meaningful work.
If you have a vision for the end in mind, then you have something to work towards. To figure out meaningful outcomes, you ask yourself what you want to accomplish. Another simple way to do this is to ask yourself, “What will the wins be?”
One of the challenges is when it feels like your work has no meaning. Keep in mind that you are the ultimate filter for everything that happens in your life. You assign the meaning to your work. Make the work meaningful. One way to create meaning is to master your craft. Do so by focusing on continuous learning and improvement. Teaching your craft and being a mentor for others is another way to both amplify your learning and your impact.
Work on stuff that’s valued, and remember that value is in the eye of the beholder. This makes work more meaningful. You should be aware whether it’s valued by you, by your employer, or by your customer. It’s fine if it’s valuable to you but nobody else, but be aware of it, and make it a mindful choice. You may be in the wrong line of work or working on the wrong thing.
This is a tip from my book, Getting Results the Agile Way (now on a Kindle), a time management system for achievers. You can test drive the system by taking the 30 Day Boot Camp for Getting Results, a free time management training course.
Getting Results the Agile Way is a time management system for achievers. It combines some of the best practices for thinking, feeling, and taking action into one simple system to help you make the most of what you’ve got, and master your time management skills. It draws from software development, project management, positive psychology, and sports psychology.
Free Time Management Training As an introduction to the system, I created a free 30 Day Boot Camp for Getting Results. It's called a boot camp because it's hard-core. It's a 30 day, self-paced time management training course. If you want to take your time management skills to the next level, then take the 30 Day Boot Camp for Getting Results. Keep in mind that because it’s self-paced, you could do all 30 lessons in a day, if you choose to. This may be one of the best time management training courses you ever take, and the price is tough to beat.
Time Management Skills Here are some of the time management skills you will learn, tune, and improve as part of the time management training:
You will learn time management tips and strategies as part of a system, each lesson can be used by itself or “better together” with other lessons.
Time Management Training Lessons at a Glance Here are the 30 Lessons at a Glance that make up the time management training:
This is one of the rules that has served me well, as a Program Manager at Microsoft: Carve out time for what’s important.
You don’t have time, you make time. If you don’t make time for what’s important, it doesn’t happen. This is where The Rule of Three helps. Are you spending the right amount of time today on those three results you want to accomplish? The default pattern is to try and fit them in with all your existing routines. A more powerful approach is to make time for your three results today and optimize around that. This might mean disrupting other habits and routines you have, but this is a good thing. The more you get in the habit of making time for what’s important, the more you’ll get great results. If you’re not getting the results you want, you can start asking better questions. For example, are you investing enough time? Are you investing the right energy? Are you using the right approach? Or, maybe a different thing happens. Maybe you start accomplishing your results but don’t like what you get. You can step back and ask whether you’re choosing the right outcomes for The Rule of Three.
Here are some things to think about when you’re carving out your time:
From the Archives Avoiding Do-Overs – Testing Your Key Engineering Decisions - From what I've seen, the most important problem is failure to test and explore key engineering decisions. By key engineering decisions, I mean the decisions that have cascading engineering impact.
Why 30 Day Improvement Sprints - I get asked this often enough that I think I should distill the keys.
From the Web Time Management Tips for Taking Action - Taking action is skill. It's one of the best skills you can use in conjunction with time management. The trick is to combine your time management skills in a way that helps you take more action. Here are 10 ways to take more action and improve your time management.
Time Management Tips on the Job – How To Be More Productive at Work - Time management is a skill you can use to be more effective at work and life. The trick is to focus on the vital few time management tips that keep improving your time management skills over time. This article shows you the key time management tips to apply to work and life that will keep improving your time management skills over time.
This is a simple hack, but a powerful one. I call it “Sticky Stuff.” It puts information at your finger tips, such as To Do Lists, in a sticky way.
Here’s what I do. In Outlook 2010, I create a folder called “Sticky Stuff” and I add it to my “Favorites” short list:
In that folder, I create a new “Posts.” In Outlook 2010, the way to add posts to a folder is to “New Items”, then “More Items”, then “Post in this folder.” You can then add your To do Lists or any key reference information that you need at your finger tips. If you constantly get a barrage of information, and you need to have quick access to your action items, or if you need to have quick access to information that you constantly look up, this little hack should help a lot.
The beauty of this is it’s another pillar of helping me keep an empty inbox or a zero inbox. At Microsoft, where many of us get a few hundred emails per day of stuff we have to stay on top of, that’s a very big deal.
Note, when you need to edit a Post, you have to open the post, and click “Actions”, then “Edit Message.”