Software Engineering, Project Management, and Effectiveness
We added our Application Architecture Diagrams (Visios) to our Application Architecture Knowledge Base (KB) on CodePlex. You can download the Visios and customize for your own presentations or documents.
Application Architecture Figures Here’s the figures available:
Architecture Meta Frame (AMF)
User, Business, System Perspectives
Agile Architecture Method
Layered Architecture with Services Layer
Layered Architecture with Multi-Client / Multi-Channel
Web Application Archetype
Mobile Application Archetype
Rich Internet Application (RIA) Archetype
Rich Client Archetype
Chapters At a Glance Here’s the chapters at a glance:
My Related Posts
A few people have asked me for an abstract on the patterns & practices Application Architecture Guide 2.0 project (a work in progress). Here it is.
Conceptual Framework A picture is worth a thousand words. Here's the conceptual framework for the guide:
"How to put the legos together"
Abstract The purpose of the Application Architecture Guide 2.0 is to improve your effectiveness building applications on the Microsoft platform. The primary audience is solution architects and developer leads. The guide will provide design-level guidance for the architecture and design of applications built on the .NET Framework. It focuses on the most common types of applications, partitioning application functionality into layers, components, and services, and walks through their key design characteristics.
My Related Posts
At Microsoft, I regularly mentor some fellow softies. It can be tough to navigate the waters, find your strengths, figure out worklife balance, and deal with the stresses of the job, all while making things happen. I help my mentees learn the most effective ways for getting results in a tough, competitive environment. It's challenging. It's rewarding. I've had several great mentors throughout my life at Microsoft, so mentoring is a way that I give back, sharing my lessons learned and helping others grow. While my 1:1 sessions are the most effective, I try to share key practices more broadly in posts. Here's a roundup of my various posts for improving effectiveness at work and life. I organized them by meaningful buckets and provided an A-Z list at the end. Enjoy.
Career Learn how to find your path and get more from your career. Work with the right people on the right things making the right impact. These posts focus on career and worklife balance:
Communication Communication is among the most important skills for getting results in work and life. Empathic listening is the most important communication skills. Improve the quality of your communication, and improve the quality of your life. These posts focus on communication skills:
Email Don't be a slave to your mail. With the right approach, you can spend less time in your inbox and enjoy an empty inbox on a regular basis. These posts focus on email management:
Intellectual Horsepower Thinking is asking and answering questions. Learn ways to improve your thinking through question-driven techniques and changing perspectives:
Leadership Leadership is influence. Amplify your results by improving your sphere of influence. Leadership starts with self-leadership. These posts focus on leadership skills:
Learning Learning is a life-long process. Adopt practices that help you grow. These posts focus on improving your learning:
Motivation Motivation is your energy or desire to make something happen. It's also the energy or desire for others to make something happen. Learn how to improve your own passion for results as well as how to influence and motivate those around you. These posts focus on motivation:
Personal Development Personal excellence is a path, not a destination. In life you're either climbing or sliding. One key is to find ways to climb faster than you slide. Another key is balancing your multiple demands and growing in your mind, body, career, emotions, financial, relationships and fun. These posts focus on personal development:
Personal Productivity Make stuff happen. Drive or be driven. With the right approaches, you can carve out time for what's important and prioritize more effectively. This is the key to getting results. These posts focus on personal productivity:
Project Management If you need to get something done, make it a project. Whether it's a small-scale, personal project or a large, team-based project, there's patterns and practices you can use to be more successful. These posts focus on project management:
Teamwork Effective teamwork is a key skill in today's workplace. Learn how to get more done with your colleagues. These posts focus on improving your teamwork:
Time Management You can't add more hours to the day, but you can spend your time more effectively. You can also add more power hours to your day. These posts focus on time management:
Questions Questions are a powerful way to shape your thinking and mindset. Ask better questions and get better answers. These posts focus on asking and answering better questions:
A-Z Here's the posts organized in a flat A - Z list for easy scanning:
Sources of Insight If that's not enough for you, check out my project blog: Sources of Insight. Sources of Insight is a browsable KB of insights and actions for work and life. It's where I share my lessons learned from books, heroes and quotes. You can read more about the mission and vision in the About page.
I presented our new patterns & practices Agile Architecture Method for the first time at the patterns & practices Summit. Our Agile Architecture Method is an iterative and incremental approach for designing architectures.
To summarize, it’s a technique that:
I’ve summarized the approach below, and we’ve posted a step-step how to on CodePlex:
Input Here’s the key input into the process:
Output Here’s the key output of the process:
Summary of Steps
Step 1. Identify Architecture Objectives This is a scoping exercise. The purpose of this step is to figure out how much time and energy to spend on subsequent steps as well as guide your overall effort. You should know what you want in terms of outcomes. Here’s an example of potential goals:
Step 2. Identify Key Scenarios Identify relevant scenarios to focus your design on what matters most, and to evaluate your candidate solutions. In this case, you want to identify architecturally significant use cases. Architecturally significant use cases are those that meet the following criteria:
You can draw key scenarios from your user stories, business stories and system stories.
Step 3. Create an Application Overview Create an application overview. The application overview serves to make your architecture more real, connecting it to real-world constraints and decisions.
An application overview consists of the following steps:
A good test of an application overview is whether you can whiteboard it.
Step 4. Analyze Key Hot Spots Identify key hotspots based on quality attributes and the architecture frame. These are the areas where mistakes are most often made when designing an application.
Quality Attributes Frame Understand the quality attributes that are important for your application and scenarios. For instance, most applications need to address security and performance and will be traded against usability, flexibility and other attributes that may be more or less important to you depending on your scenarios and requirements. You can use the following frame to identify key quality attributes to consider:
Architecture Frame The architecture frame represents cross cutting concerns that will impact your design across layers and tiers. These are also the areas in which high impact design mistakes are most often made. Use the architecture frame to identify hot spots in your design that require additional attention to get right. You can use the following architecture frame to identify cross cutting concerns in your design:
Step 5. Create Candidate Solutions Create a candidate architecture and along with architectural spikes and evaluate it against your key scenarios, hot spots, and deployment constraints. The outcomes of this step are:
Iterative and Incremental Design You can iteratively flesh out your architecture as you work through your design and discover more details that impact your architecture. You don’t have to design your architecture in a single iteration. Do not get lost in the details; focus on the big steps and build a framework on which you can base your architecture and design.
In my previous post, I summarized layers and tiers. In this post, I'll walk through the key components of the layers. This exercise is part of our patterns & practices App Arch Guide 2.0 project.
Layers and ComponentsHere's a visual of a layered architecture and relevant components:
Note that this is just an example of common components and layers. Your scenarios may vary.
Presentation Layer ComponentsHere's typical presentation layer components:
Business Layer ComponentsHere's typical business layer components:
Data Layer ComponentsHere's typical data layer components:
FeedbackDoes this match what you see in practice?
Additional ResourcesHere's some relevant links:
“Are you getting results? …”
Over Christmas break, I committed to finishing the writing for a book that I expect to change a lot of people's lives. It's my first non-technical book. The working title is, Getting Results the Agile Way. It's all about getting results in work and life. It's the playbook I wish somebody had given me long ago for finding work/life balance, managing time, playing to my strengths, and making the most of what I've got.
Why Getting Results The world is a tough place. Between layoffs, the economy, and simply the unknown, a lot of people are having a really tough time in their lives. There are constantly new challenges at a pace that's tough to keep up. Worse, I don't think you learn a lot of these skills in school or on the job, except through the school of hard knocks.
This is my playbook for you. For more than 10 years at Microsoft I've tested and evaluated ways to get results. I've had to find things that not only work for me, but that could work for the people I mentor inside and outside the company, as well as for large teams around the world. I'm a big believer that everybody can get great results if they have the right know-how.
What Sorts of Problems Does It Tackle The book is a system and a playbook for some of these common challenges:
It helps with a lot of things because mostly it gets you spending the right time, on the right things, with the right energy, the right way. This is the key to your best results.
My Story When I first joined Microsoft, it was sink or swim. I saw a lot of people fail. Among the chaos, I also saw many people thrive. I wanted to know their secrets. I started with people on my team, but the next thing you know I was studying success patterns around the company. If somebody was known for getting results, I hunted them down and studied their ways.
I learned so many simple things that actually worked. For example, instead of managing time, the real key is managing your energy. I'd rather have four power hours, than a week of just going through the motions. The secret of work life balance is setting up your own artificial boundaries, whether it's "dinner on the table at 5:30" or "no work on the weekends." Finding your passion can be as simple as connecting to your values. For example, I use metaphors to make my project an epic adventure and I have the team create the movie poster of what great results will look like. How's that for wanting to show up and give your best every day knowing you're working on blockbuster results?
What is Agile Results? You'll hear me talk about Agile Results quite a bit. It's the name I gave the system that serves as the foundation for the Getting Results guide. Agile is all about responding to change. It's agility in action. It's all about making progress while the world changes under your feet.
My Agile Results system borrows the best principles, patterns, and practices across a variety of disciplines from sports, positive psychology, personal productivity, Agile development, Scrum, project management, time management, leadership skills, and strengths-based development. It's more than a mash up -- I've tested and honed the system to work for individuals and teams while refining it over years of deliberate practice. To me, great results for the team, always starts with unleashing an individual’s best. Having fun is contagious and getting results spreads like a wild fire.
Agile Results in a Nutshell Here is the Agile Results system at a glance:
How to Get Started Getting started is really easy. If you write down 3 results you want for today, you're doing Agile Results. Is there more to it? … Sure, but take it at your own pace. Here’s a one-page guide for getting started with Agile Results.
How To Follow Along for the Ride You can read Getting Results for free online in HTML. I’ll continue to shape the guide over the next several weeks based on feedback. I’ll also be making March a focus on getting results so if you’ve been looking for a jumpstart for your life, this is a great month to make it happen. I’ll be sharing nuggets for getting results at my effectiveness blog, Sources of Insight.
If you're not getting the results you want in your life, you just need the skills. Use my guide to stuff your bag of tricks with some new tools that will change your game and help you unleash your best.
Here's a quick set of steps for using Live.com (http://www.Live.com) as your RSS reader. What I like about it is that I can log in to it from anywhere. What I like most is that I can create multiple pages to organize my feeds. This let's me focus my information.
Here's the steps for creating pages and adding feeds to them: (you need to login to Live.com for these options)
Adding a New Page
Tip - If I need to search for a feed, I use a separate browser, do my search, and then paste the path next to the Subscribe button. I don't like the Search for feeds option because I lose my context.
I like Live.com for my Web-based RSS reading experience. I use JetBrains Omea Pro for my desktop experience, where I do my heavy processing. I think of this like my Outlook Web Access and Outlook desktop experiences. My Web experience is optimized for reach; my desktop experience is optimized for rich.
Today we release the final version of our patterns & practices: Team Development with Visual Studio Team Foundation Server. It's our Microsoft playbook for Team Foundation Server. It shows you how to make the most of the Team Foundation Server. It's a compendium of proven practices, product team recommendations, and insights from the field.
Key Changes Since Beta 1
Contents at a Glance
Contributors and Reviewers
I was skimming The Secrets of Consulting and I came across this nugget:
“...Many years ago, Sir Ronald Fisher noted that every biological system had to face the problem of present versus future, and that the future was always less certain than the present. To survive, a species had to do well today, but not so well that it didn’t allow for possible change tomorrow. His Fundamental Theorem of Natural Selection said that the more adapted an organism was to present conditions, the less adaptable it tended to be to unknown future conditions. We can apply the theorem to individuals, small groups of people, large organizations, organizations of people and machines, and even complex systems of machinery, and can generalize it as follows: The better adapted you are, the less adaptable you tend to be...”Source: Gerald M. Weinberg, The Secrets of Consulting (New York, Dorset House Publishing, 1985) pp 29-30
Along the same lines, I was scanning Lean Software Engineering and came across this nugget:
"... When it comes to large-scale, creative engineering, the right processes for all the various teams in an organization depends on both people and situation — both of which are constantly changing. You can’t just adopt a particular process and be done with it. So really the only “bad process” is one that doesn’t provide framework to reflect and permission to adapt..." Source: Avoid Dogma When Herding Cats
This reminded me of a quote from Hereclitus - "Nothing endures but change."
I'm a fan of adaptability and continuous improvement. I think adaptability is a key ingredient for effectiveness. I always reflect on and test how adaptable is my mindset? ... my approach? ... my tools? ... my teams? ... my organization? ... my company? ... etc.
For this week's release in our patterns & practices WCF Security Guidance project, we released our first version of our WCF 3.5 Security Guidelines. Each guideline is a nugget of what to do, why, and how. The goal of the guideline format is to take a lot of information, compress it down, and turn insight into action.
The downside is that it's tough to create prescriptive guidelines that are generic enough to be reusable, but specific enough to be helpful. The upside is that customers find the guidelines help them cut through a lot of information and take action. We contextualize the guidelines as much as we can, but ultimately you're in the best position to do the pattern matching to find which guidelines are relevant for your scenarios, and how you need to tailor them.
Here's a snapshot of the guidelines, but you can see our security guidelines explained at our WCF Security Guidance project site.
CategoriesOur WCF Security guidelines are organized using the following buckets:
Auditing and Logging
Impersonation and Delegation
This is a significant release for Guidance Explorer (GE). Our online "guidance store" is now hosted on MSDN. To take advantage of this, you need to download the new version of Guidance Explorer (release 20071206)
What Is the Guidance StoreOur guidance store is a catalog of reusable guidance nuggets for helping you build applications. The catalog is organized by the following:
At a high-level, you can think of the catalog as a collection of application scenarios, "building codes" and engineering practices.
What is Guidance ExplorerGuidance Explorer is a smart client application that talks to the Guidance Store over a Web service. You can use GE to create, organize and share your favorite guidance nuggets.
Key Usage ScenariosThe key usage scenarios are:
To put it another way, you can use GE to slice and dice the patterns & practices catalog, tailor the guidance, or build your own guidance.
What's New in the Latest ReleaseWhat you can expect in Guidance Explorer version 20071206:
How's that for guidance as a service? (Personally, I think the next step is relevant guidance feeds for guidance mash up scenarios.)
When you run GE the first time, let it synch for about 10 minutes. It's downloading more than 3,000 items from our catalog.
Test Driving Guidance ExplorerHere's a few of the first things to try
If you are a hunter and gatherer of guidance, you'll want Guidance Explorer. Watch Video: How To - Personalize Team System Guidance with Guidance Explorer to see how you can use Guidance Explorer to build a custom collection of guidance from our Visual Studio Team System Guidance project. If you haven't used Guidance Explorer before, or it's been a while, you're in for a surprise. Seriously.
Guidance Explorer is a free tool to help you browse, find, organize, or even create your own guidance. When you launch Guidance Explorer, it synchronizes with our online store. For example, today's additions include a number of brand new Team System guidance items:
My favorite Guidance Explorer features include:
Keep in mind that Guidance Explorer is actually a diamond in the rough. It has its flaws, but it also has unique powers. For example, I could use Guidance Explorer to inform you of brand new, emerging security practices. I could also flag the top performance issues using the priority field. Imagine the alternative of hunting through a whitepaper or article, instead of organized collections and lists of actionable, guidance nuggets.
I know consultants that literally save themselves many hours per week by using Guidance Explorer as a personal knowledge base and for tailoring guidance for customers. I also know of customers using Guidance Explorer as a light-weight and effective way to share guidance among their development teams. It's actually the type of tool where customers surprise me what they use it for.
While Guidance Explorer has nearly 1100 guidance nuggets at last count (across security, performance and .NET 1.1. and 2.0), you can quickly shrink the haystacks to find the needle that you need (Ed and I call this our Shrinking Haystack pattern). You can also discover relationships among the guidance, because related items are linked. Don't take my word for it though, test drive it for yourself. Did I mention it's free? Oh yeah, I should also mention it comes with source, so shape it to your heart's content.
Go ahead and watch Video: How To - Personalize Team System Guidance with Guidance Explorer and then download Guidance Explorer. If you do use Guidance Explorer and you have a story you'd like to share, please leave a comment in this post.
As part of our patterns & practices App Arch Guide 2.0 project, we've put together an arch frame. The arch frame is simply a collection of hot spots. These aren't just any hot spot though. These hot spots represent key engineering decisions, anti-patterns, and opportunities for improved designs for more effective technical architectures. This Arch Frame is part of the larger App Arch Meta Frame. Think of it as an important branch off the main tree. It serves as a lens to cut through a lot of information to get to the most meaningful and actionable guidance.
Categories The following categories are the "hot spots" in the architecture frame:
What you might notice about the hot spots is that they map to common cross-cutting concerns when building applications. You also might notice that the hot spots map to various patterns & practices solution assets. For example, Enterprise Library includes blocks for caching, data access, exception management, logging, validation ... etc. The categories also map to very actionable decisions where you there's relevant principles, patterns, and practices. These buckets also contain many anti-patterns. The worst anti-patterns are the "do overs." Nobody wants a "do over" architecture.
Key Engineering Decisions This table summarizes the key engineering decisions within each hot spot:
Key Issues This table summarizes the key issues within each hot spot:
Key Guidelines This table summarizes the key guidelines within each hot spot:
How To Provide Feedback We're still banging through the frame. There's some rough spots. We want to make sure we can map problems, principles, patterns, assets, and technologies to the right hot spots. We want a prioritized list over a laundry list so we're still deciding what's in and what's out. We'll add it to CodePlex shortly. You can either comment here on my blog or wait until the frame is on CodePlex, and then provide comments in the Wiki.
My Related Posts
I like to learn from everyone around me. One of my most influential mentors has been my manager, Per. Here’s a highlight of some of the lessons I learned from Per over the years:
Chapters At a Glance Here’s the chapters at a glance:
Today we released our patterns & practices Improving Web Service security: Scenarios and Implementation Guidance for WCF on MSDN. Using end-to-end application scenarios, this guide shows you how to design and implement authentication and authorization in WCF. You'll learn how to improve the security of your WCF services through prescriptive guidance including guidelines, a Q&A, practices at a glance, and step-by-step how to articles. The guide is the result of a collaborative effort between patterns & practices, WCF team members, and industry experts.
Key Scenarios Here's the key scenarios:
Contributors / Reviewers
This is my current mental model for Virtual Machines (VMs) for Web and Worker Roles in Windows Azure:
On Windows Azure, you run your application in Web and Worker Roles. Each instance of a Web or Worker Role runs in a VM. You define how many instances of each Web or Worker role you want to run. Windows Azure then spins up a VM for each instance. You can choose from 4 flavors of VMs: one core, two core, four core, and eight core.
Here is a summary of the key components:
The load balancer spreads the incoming HTTP or HTTPS requests across your Web Role instances.
For a higher-level view, see my related post, Windows Azure Platform at a Glance.
The Windows Azure scenarios map is a consolidated and shared view of the common scenarios and tasks developing applications for the Windows Azure platform. You will find Getting Started and Architecture scenarios first, followed by other common areas. Scenarios in each group should represent common tasks developers for this platform would face.
Your call to action here is simply scan the Windows Azure Scenarios Map below and either share your scenarios in the comments or email your scenarios to me at feedbackandthoughts at live.com. Be sure to share your scenarios in the form of “how to blah, blah, blah …” – this makes it much easier to act on and update the map.
For a quick review of what a good Scenarios Map looks like, see my related post, 5 Keys to Effective Scenario Maps.
Windows Azure Scenarios Map
Architecture and Design
Data Access / Storage
Logging / Health / Monitoring
WIF (Windows Identity Foundation)
Windows Azure VM (Virtual Machine) Role
Contributors and Reviewers
One of the questions I get is how we build and publish our guides and what's the relationship of CodePlex, GE and MSDN. At a high-level, we build reusable guidance nuggets for customer questions and tasks. We then build a larger guide to bring the nuggets together into a story. Together, this gives us both a knowledge base of nuggets and a series of guides. We can incrementally deliver value, refactor as appropriate, and respond to changing needs.
Bird's-Eye View of Agile Guidance EngineeringYou can think of our approach as progressive rendering of solutions (incrementally sharing and stabilizing.)
From CodePlex to MSDNAs we build guidance modules, we publish them to GE and CodePlex. GE lets you, the user, build more relevant views or tailor the nuggets to your own needs. CodePlex gives us a place to experiment with views and get direct user feedback, while we vet the guidance.
Once we're stable, we do a focused, batch effort to port to MSDN. MSDN gives us a bunch more channels and hooks including integration in Visual Studio / Visual Studio Team System.
There's much more to the story, so if there's interest, I'll share a behind the scenes look at how we build books.
My Related Posts
For this week's release in our patterns & practices WCF Security Guidance project, we added new sections to our WCF Security Application Scenarios. We added sections for analysis, code and configuration examples. The analysis section explains the rationale behind some of the decisions.
The idea behind the application scenarios is to show you a before and after look of end-to-end solutions. Rather than a single solution, we give you a set of solutions to pick from. The main parameters that vary in each solution include: Intranet vs. Internet, ASP.NET client vs. Windows Forms clients, TCP vs. HTTP, impersonation/delegation vs. trusted subsystem, and AD (domain credentials) vs. a custom user store.
WCF Security Application Scenarios Intranet
Note that if there's enough interest and time, we'll add a scenario that shows accessing an existing custom user store (i.e. you aren't using Membership.)
Ken Blanchard spoke at Microsoft last week. He's all about empowering people, growing people, and helping everybody get an A. This post is my notes from the session.
Catch People Doing Something Right, Accentuate the Positive I'm putting this right up front because Ken said if there was only one thing he could be remembered for, he would want it to be:
"Catch People Doing Something Right, Accentuate the Positive."
"Catch People Doing Something Right, Accentuate the Positive."
Random Highlights Here's a sampling of some of the one-liners and insights from the session:
Philanthropy is the News Around the World Ken travels the world and the big news he kept hearing about was the philanthropy. Specifically, the news was focused on Bill Gates and Warren Buffet. The fact that Buffet trusts the Bill & Melinda Gates Foundation to help the world sends a powerful message.
4 Keys to Lead at a Higher Level Ken framed out 4 keys to lead at a higher level:
Decide, Discover and Deliver To treat your customers right, Ken provided a decide, discover, deliver approach:
Turn the Pyramid Upside Down Turn the pyramid upside down. Have your team bring their brains to work vs. kiss up the hierarchy. Don't have them be ducks (who just quack excuses why they can't do this or can't do that.) Empower them to be eagles who soar above the crowd.
A Fortunate 500 List According to Ken Blanchard Ken suggested the idea of a Fortunate 500 list. A Fortunate 500 Company would have a triple bottom line and be a good citizen in the community.
Customers, Business, Employees (The Triple Bottom Line) The triple bottom line includes:
Ken remarked that profit is the applause you get for taking care of customers and being a motivating place to work.
Organizational Vitality, Employee Passion, Customer Devotion Ken outlined the keys to organizational vitality:
From Self-Leadership to Organizational Leadership The journey of an effective leader starts with self-leadership (who are you) and progresses to organizational leadership:
Ken noted that one of his favorite mantras is -- none of us is as smart as all of us.
3 Skills of Situational Leader Ken identified 3 skills of a situational leader:
The 4 D's (Development Level) The four development levels vary by competence and motivation. If you can identify which development level somebody is in, you can use the right leadership style:
4 Leadership Styles The four leadership styles range from directing to delegating:
Your leadership style varies by how you need to teach skills and provide motivation. You match your leadership style based on the development level.
More Supporting, Less Delegating Ken noted that the most common style in tech is delegating (telling folks what to do), but that it only works if you have self-reliant achievers. He said lots of situations where somebody fails, it's because the leader didn't spend enough time supporting. For example, somebody might be great at sales, but poor at administration and could use more support.
Don't Be a Seagul Ken described the seagul type manager:
Yuck! Don't be a seagul.
How to Manage Effectively Ken gave us a recipe for managing effectively:
Leadership vs. Management When a colleague asked Ken about his thoughts on the difference between leadership and management, he said he doesn't get involved in the debate. He doesn't think management should play 2nd fiddle.
Don't Rank Employees on a Bell Curve Ken made a few key points against ranking employees on a bell curve:
Help Everybody Get A's Ken's recipe for results is:
Share Them With Your Competition What happens if you give help people get A's but they don't get A's:
From self-serving leaders to Servant Leadership Ken gave us three ways that somebody moves from a self-serving leader to servant-leadership:
Basically it's life-changing events or by following an example.
Egos Anonymous There's two ends of the spectrum with ego issues:
The problem with ego issues is that the world spins around you. Ken said the key is to put the focus somewhere else. When you put the focus on something else, the fear goes away.
Ken told us about "Egos Anonymous" meetings. He said at the meetings, people introduce themselves with "I'm an ego maniac, the last time my ego got in the way ..."
The irony is, everybody wants to go last to be more clever, funnier -- and that's an ego thing.
Bigger Emphasis on Results or Developing People? Ken pointed out that it's not an either/or it's a both/and. The keys are:
The Secret of Great Leaders Ken told us the secret of great leaders:
You're Learning or Dying Ken told us we're learning or dying:
SERVE - What Great Leaders Know and Do Ken explained that SERVE is what great leaders know and do:
Leadership is Love Ken told us leadership is love:
How To Implement the program Ken said he's seen remarkable impact when organizations apply the knowledge. He said there's three keys:
Wrap Up At the end of the talk, I met Ken and he signed my copy of The 3 Keys to Empowerment. What surprised me the most was how down to earth and engaged in the moment he was. I thanked him for teaching people situational leadership. I asked him where the II part came from in Situational Leadership II and he told me the story of the split. I told him it would be great to be able to read stories like that in his blog, if he had one.
3 Actions As a habit, I challenge myself to turn what I learn into three things I can apply. There's always more I can do, but I start with three. Here they are:
Today I helped a colleague clear their inbox. I've kept a zero mail inbox for a few years. I forgot this wasn't common practice until a colleague said to me, "wow, your inbox doesn't scroll."
I didn't learn the zen of the zero mail inbox over night. As pathetic as this sounds, I've actually compared email practices over the years with several people to find some of the best practices that work over time. The last thing I wanted to do was waste time in email, if there were better ways. Some of my early managers also instilled in me that to be effective, I needed to master the basics. Put it another way, don't let administration get in the way of results.
Key Steps for a Clear InboxMy overall approach is to turn actions into next steps, and keep stuff I've seen, out of the way of my incoming mail. Here's the key steps:
Part of the key is acting on mail versus shuffling it. For a given mail, if I can act on it immediately, I do. If now's not the time, I add it to my list of actions. If it will take a bit of time, then I drag it to my calendar and schedule the time.
Anti-PatternsI think it's important to note the anti-patterns:
Whether you're a new hire or taking on a new job, here's some principles, patterns and practices to be more effective. They're lessons learned from the school of hard knocks and they represent some of the proven practices that have worked for others and have stood the test of time. This is a limited, but prioritized list (I gave myself a 20 minute window.) I'll drill into areas in upcoming weeks, depending on where there's interest.
Learning / Improvement
You can now find our patterns & practices Performance Testing Guidance for Web Applications on MSDN in HTML. It's the same guidance we hosted on CodePlex. CodePlex was our channel for agile release of the guidance. Once we baked the guidance, we ported it to MSDN.
Contents at a GlanceHere's the
DownloadYou can download the patterns & practices Performance Testing Guidance for Web Applications from CodePlex.
Guidance Explorer ScenarioIf you want to tailor the guidance for your scenario, you can download Guidance Explorer from CodePlex. Using Guidance Explorer, you can create custom views by dragging and dropping the relevant guidance and then tailoring it as you see fit. You can then save your view or an item to Word or HTML