Software Engineering, Project Management, and Effectiveness
If you're building Web services or if you're implementing SOA on the Microsoft platform , then you're probably either working with or exploring WCF (Windows Communication Foundation.) When we started our patterns & practices WCF Security Guidance project, one of the first things I did was compile a list of WCF security resources for our team. This helped us quickly ramp up and as well as see gaps. One thing that surprised me is how much is available in the product documentation, if you know where to look. Here's a preliminary look at our WCF Security resources index which we'll include in our WCF Security Guide:
Getting Started
Community
ArticlesMicrosoft
Blogs
Microsoft
Channel9Podcasts
ARCast.TV
Videos
Tags
Documentation (MSDN Product Documentation)
Overview
Guidance
Scenarios
Threats and Countermeasures
Topics
How Tos
Guides
Posts
patterns & practices
Product Support Services (PSS)
SamplesMicrosoft
Web Casts
MSDN Support WebCasts
For this week's release in our patterns & practices WCF Security Guidance project, we released our first version of our WCF Security Practices at a Glance. Practices At a Glance gives you a bird's-eye view of how to perform common tasks. They are scannable and outcome-driven so that you can quickly browse the problem/solution pairs. Rather than a laundry list of granular tasks, we organize them by our Web Services Security frame (still evolving.)
CategoriesHere's how we grouped our WCF Security Practices at a Glance so far:
Here's a snapshot of the problems solved from our Practices At a Glance, but you can see our answers explained at our WCF Security Guidance project site.
Auditing and Logging
Authentication
Authorization
Configuration Management
Deployment Considerations
Exception Management
Hosting
Impersonation/Delegation
Input Validation
Message Security
Proxy Considerations
Sensitive Data
Transport Security
X.509 Certificates
My Related Posts
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."
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:
If you need to make an important decision, the following can help:
For example, when I was giving input on hiring our PUM, I identified the following criteria:
I then assigned a weighting. For example:
I rated the candidate against each criteria and then multiplied by the weighting. This gave me a quick frame to compare different candidates as well as have more meaningful dialogues with others. The actual numbers were less important than testing and clarifying criteria.
We have 6 new How Tos for this week's release of our patterns & practices WCF Security Guidance Project.
WCF Security How Tos