Software Engineering, Project Management, and Effectiveness
As I’ve been teaching Getting Results the Agile Way to more people and teams, I’ve had to simplify the mental model. Here is the simplest visual that I like to whiteboard to show the main idea:
It’s all about having a simple system for flowing value each day, and each week. I’ve focused more on the story-driven approach, because I find that this helps people connect more deeply with what they do. Instead of focusing on “doing tasks” or just “getting stuff done”, they focus on meaningful impact and meaning results. It’s also about living your values. Or, to put it another way, doing what makes you strong, all day long.
A Story-Driven Approach to Great Results Using simple and sticky “one-liner stories” each day, and each week, helps you turn tasks into results:
The more you turn your tasks into compelling outcomes, and the more you connect your outcomes to your values, the more you will ignite yourself and others on fire as you blaze your trail forward. The key here is connecting to your values. In the simple examples above, winning a raving fan is all about connecting with customers, slam dunking your bugs is about making it a game while testing your skills, and inspiring your team to go for the epic win is all about making it an adventure. If customers, growth, and impact are high on your values, those results take on new meaning and jazz you vs. drain you.
Anyway, I’ve created a simple one-page guide to answer the question, What is Agile Results.
From the Archives Customer-Connected Engineering – Involving customers throughout your software development cycle can help you make sure you make something your customers need and want. It also helps you better understand the requirements and prioritize more effectively. It also helps you get more relevant and timely feedback so you can ship stuff that people will use. We’ve called the approach we’ve used in patterns & practices, Customer-Connected Engineering (CCE), and this is the approach in a nutshell.
Methodologies at a Glance – At the heart of every software methodology, there are core practices. When you know the key activities and artifacts that make up a methodology, you can easily compare across methodologies to find the best fit. You can also fill your toolbox with practices so that you can use the ones that you need, when you need them. This is a bird’s-eye view of some of the more popular software project and product development methodologies.
From the Web Focus Guidelines – It’s been said that the difference between those that succeed, and those that don’t is focus. Focus is a skill you can build and use throughout your lifetime, to counter distractions, fully engage in what you do, reduce stress, and improve your results. This is a comprehensive set of guidelines that give you an edge in today’s world.
How To – Set Goals and Achieve Them – This is a step-by-step guide for setting compelling goals, and making them happen. If goals leave a bad taste in your mouth, this can help you turn it around. It’s all about creating goals that inspire you and that help you achieve whatever you set out to do.
Chris Smith wrote a great overview of my productivity system on Stepcase Lifehack.org. The article is Productivity System Overview: Getting Results the Agile Way.
Chris is very familiar with various productivity systems, including Getting Things Done. I enjoyed reading Chris’s article, and I especially liked how he covered so much ground in such a short amount of space. He honed right in on what’s important, and made the key points pop.
I think what Chris really caught on to, and surfaced in his review, is that Getting Results the Agile Way is all about achieving meaningful results, and not just doing more tasks.
My Related Posts
As a Program Manager, one of the things I’ve had to do a lot is, “pitch projects.” Whether it’s pitching a project or talking about a project in the hall, it helps to have an elevator pitch that sticks.
The ideal elevator pitch for a project is simple, sticky, and makes the point fast. Somebody shouldn’t have to work too hard to figure out what it’s about. It’s the essence in a nutshell.
The Minimum Elevator Pitch Here are a few example elevator pitches I’ve used for some of my projects:
I’m a fan of the one-liner reminders. They make it easy for you to tell and sell the story. Additionally, they make it easier for others to tell and sell your story if they have a simple, sticky, one-liner reminder, and in today’s world, word-of-mouth marketing is your friend.
The Maximum Elevator Pitch Here is an example of an elaborated elevator pitch template, I’ve used in patterns & practices on a slide, as a more formal way of expression the cornerstone attributes of the project:
It’s always great to see how technology can help make the world a better place.
You might remember Ed Jezierski from his Microsoft days. In his early years at Microsoft, he worked on the Microsoft Developer Support team, helping customers succeed on the platform. These early experiences taught Ed the value of teamwork and collaboration, extreme customer focus, and the value of principles, patterns, and proven practices for addressing recurring issues, and building more robust designs.
From there, Ed was one of the early members of the patterns & practices team. As one of the first Program Managers on the patterns & practices team, Ed was the driving force behind many of the first guides from patterns & practices for developers, including the Data Access guide, and the early Application Architecture guide. He was also the master mind behind the first application blocks (Exception Management Block, Data Access Block, Caching Block, etc.) , which forever changed the destiny of patterns & practices. The application blocks helped transition patterns & practices from an IT and system administrator focus, to a focus on developers and solution architects. In his role as an Architect, on the patterns & practices team, Ed played a significant role in shaping the technical strategy and orchestrating key design and engineering issues across the patterns & practices portfolio. One of his most significant impacts was the early design and shaping of the Microsoft Enterprise Library.
In his later years, Ed worked on incubation and innovation teams, where he learned a lot about streamlining innovation, making things happen, and how to create systems and processes to support innovation, in a more organic and agile way, to balance more formal engineering practices for bringing ideas and innovation to market.
But, just like James Bond, “the world is not enough.” Ed’s passion was always for helping people around the world in a grand scale. His strength and amazing skill is applying technology to change the world and making the world a better place, by solving solve real-world problems. (I still remember the day, Ed showed up in his bullet proof armor, ready to deploy technology in some of the most dangerous places in the world.)
Now, as CTO at InSTEDD, Ed hops around the globe helping communities everywhere design and use technology to continuously improve their health, safety and development. As you can imagine, Ed has to make things happen in some of the most extreme scenarios, responding to natural disasters and health incidents. And he uses Getting Results the Agile Way as a system for driving results for himself and the teams he leads.
Here is Ed Jezierski on Getting Results the Agile Way …
How you split the work is one thing. How you team up on work is another.
This is one of those patterns that can be counter-intuitive, but is one of the single-biggest factors for successful teams. I've seen it time and again, over many years, in many places.
When I compare the effectiveness of various organizations, there's a pattern that always stands out. It's how they leverage their capabilities in terms of teamwork. For the sake of simplicity, I'll simply label the two patterns:
In the One-Man Band scenario, while everybody is on a team, they are all working on seperate things and individual parts. In the Pairing Up scenario, multiple people work on the same problems, together. In other words ...
The Obvious Answer is Often the Wrong Answer The obvious choice is to divide and conquer the work and split the resources to tackle it. That would be great if this was the industrial age, and it was just an assembly line. The problem is it's the knowledge area, and in the arena of knowledge work, you need multiple skills and multiple perspectives to make things happen effectively and efficiently.
Teams of Capabilities, Beat Teams of One In other words, you need teams of capabilities. When you Pair Up, you're combining capabilities. When you combine capabilities, that means that people spend more time in their strengths. You might be great at the technical perspective, but then lack the customer perspective. Or you might be great at doing it, but not presenting it. Or you might be great at thinking up ideas, but suck at sticking with the daily grind to finish the tough stuff. Or you might be great at grinding through the tasks, but not so great at coming up with ideas, or prioritizing, etc.
The One-Man Band Scenario Creates Bottlenecks and Inefficiencies As the One-Man Band, what happens is everybody bottlenecks. They spend more time in their weaknesses and things they aren't good at. Worse, the person ends up married to their idea, or the idea represents just one person's thinking, instead of the collective perspective.
Crews Spend More Time in Strengths and Gain Efficiencies If you've had the benefit of seeing these competing strategies first hand, then it's easy with hind-sight to fully appreciate the value of Pairing Up on problems vs. splitting the work up into One-Man Bands. For many people, they've never had the benefit of working as "crews" or pairing up on problems, and, instead, spend a lot of energy working on their weaknesses and meanwhile, spending way less time on their strength.
When people work as teams of capabilities, and are Pairing Up on problems, the execution engine starts to streamline, people gain efficiencies, and get exponential results. Several by-products also happen:
There are Execution Patterns for High Performing Teams Of course there are exceptions to the generalization (for example, some individuals have a wide variety of just the right skills), and of course their are success patterns (and anti-patterns) for building highly effective teams of capabilities, and effectively pairing people up in ways that are empowering, and catalyzing. I learned many of these the hard way, through trial and error, and many years of experimenting while under the gun to bring out the best in individuals and simultaneously unleash and debottleneck teams for maximum performance and impact. I’ve also had the benefit of mentoring teams, and individuals in reshaping their execution. This is probably an area where it’s worth me sharing a more focused collection of patterns and practices on leading high performance teams.
If you have a favorite post or favorite write up that drills into this topic, please send it my way. In my experience, it's one of the most fundamental game changers to improving the execution and impact of any team, and especially, one that does any sort of knowledge work, and engineering.
From the Archives Agile Architecture Method -- Scope and focus your architecture exercise, use scenarios to drive the design and evaluate potential solutions, and expose key choice points. It's a way to bridge traditional architecture with more agile, iterative, and incremental ways. This approach is the synthesis of more than 30 seasoned solution architects inside and outside of Microsoft, as well as security experts, and performance experts.
User Stories for Cloud Enterprise Strategy -- A collection of user stories for the cloud. This collection is a simple map of the most common scenarios that Enterprise Architects, business leaders, and IT leaders will be facing as they adopt cloud technologies. These are real scenarios from real customers, thinking through and planning their cloud adoption.
Windows Azure Whitepapers Roundup – If you want to read up on Microsoft’s cloud story, there are plenty of whitepapers to get you started. This is a collection of the various Windows Azure whitepapers around Microsoft for developers, IT Pros, and business leaders.
From the Web Motivation Guidelines – A set of proven practices for improving your motivation, finding your drive, and inspiring action. Motivation is a skill you can use the rest of your life. Find the key practices that work for you, and use this collection as your mental toolbox to draw from.
36 Best Business Books that Influenced Microsoft Leaders – The beauty of Microsoft is the extremely high concentration of smart people and I like to leverage the collective brain I posed the following question to several Microsoft leaders, past and present, and up and down the ranks, ““What are the top 3 books that changed your life in terms of business effectiveness?” This is the answer I got.
Cloud computing is hot. As customers makes sense of what the Microsoft cloud story means to them, one of the first things they tend to do is look for case studies of the Microsoft cloud platform. They like to know what their peers, partners, and other peeps are doing.
Internally, I get to see a lot of what our customers are doing across various industries and how they are approaching the cloud behind the scenes. It’s amazing the kind of transformations that cloud computing brings to the table and makes possible. Cloud computing is truly blending and connecting business and IT (Information Technology), and it’s great to see the connection. In terms of patterns, customers are using the cloud to either reduce cost, create new business opportunities and agility, or compete in ways they haven’t been able to before. One of the most significant things cloud computing does is force people to truly understand what business they are in and what their strategy actually is.
Externally, luckily, we have a great collection of Microsoft cloud case studies available at Windows Azure Case Studies.
I find having case studies of the Microsoft cloud story makes it easy to see patterns and to get a sense of where some things are going. Here is a summary of some of the case studies available, and a few direct links to some of the studies.
Advertising Industry Examples of the Microsoft cloud case studies in advertising:
Air Transportation Services Examples of the Microsoft cloud case studies in air transportation services:
Capital Markets and Securities Industry Examples of the Microsoft cloud case studies in capital markets and securities:
Education Examples of the Microsoft cloud case studies in education:
Employment Placement Agencies Examples of the Microsoft cloud case studies in employment agencies:
Energy and Environmental Agencies Examples of the Microsoft cloud case studies in enery and environmental agencies:
Financial Services Industry Examples of the Microsoft cloud case studies in the financial services industry:
Food Service Industry Examples of the Microsoft cloud case studies in the food service industry:
Government Agencies Examples of the Microsoft cloud case studies in government agencies:
Healthcare Industry Examples of the Microsoft cloud case studies in healthcare:
High Tech and Electronics Manufacturing Examples of the Microsoft cloud case studies in high tech and electronics manufacturing:
Hosting Examples of the Microsoft cloud case studies in hosting:
Insurance Industry Examples of the Microsoft cloud case studies in the insurance industry:
IT Services Examples of the Microsoft cloud case studies in IT services:
Life Sciences Examples of the Microsoft cloud case studies in life sciences:
Manufacturing Examples of the Microsoft cloud case studies in manufacturing:
Media and Entertainment Industry Examples of the Microsoft cloud case studies in media and entertainment:
Metal Fabrication Industry Examples of the Microsoft cloud case studies in metal fabrication:
Nonprofit Organizations Examples of the Microsoft cloud case studies in non-profit organizations:
Oil and Gas Industry Examples of the Microsoft cloud case studies in oil and gas:
Professional Services Examples of the Microsoft cloud case studies in professional services:
Publishing Industry Examples of the Microsoft cloud case studies in publishing:
Retail Industry Examples of the Microsoft cloud case studies in retail:
Software Engineering Examples of the Microsoft cloud case studies in software:
Telecommunications Industry Examples of the Microsoft cloud case studies in telecommunications:
Training Industry Examples of the Microsoft cloud case studies in training:
Transportation and Logistics Industry Examples of the Microsoft cloud case studies in transportation:
“Information is not knowledge.” – Albert Einstein
What if you could streamline your way through vast seas of information to find the needles in the haystacks, or make sense of an ever changing landscape? Information comes at us so fast, from so many directions. The world changes fast, and, in a knowledge worker world, what you don’t know can hurt you.
One of the FAQs I get asked by colleagues is, how do I make my way through so much information so fast?
If I just say lots of years of deliberate practices writing and reviewing prescriptive guidance in patterns & practices, that doesn't help them much. If I say, I spent hundreds of dollars on books each month and that forced me to read a lot faster, that doesn't help either. So, I started paying attention to where the speed comes from. It’s ultimately a system of things and habits from practice, but here are a few keys you can use …
Reading and Analyzing Information
Writing Information Faster
Since joining the Enterprise Strategy Team at Microsoft, I’ve had to shift gears and focus more on business, business architecture, and strategy patterns. Luckily, there’s no shortage of material on business design. The trick is finding the useful nuggets of insight and action.
Here’s an example of a useful nugget regarding how to think about the three core types of businesses …
In the book, Business Model Generation, Alex Osterwalder, Yves Pigneur, Alan Smith, Patrick Van Der Pijl, and Tim Clark suggest unbundling your business by splitting it into three core types:
While the three types can co-exist within a single corporation, you can avoid conflicts or undesirable trade-offs by unbundling them, into separate entities.
When your business is bundled, it’s tough to streamline things or make it more effective, because the focus is fractured.
When you unbundle your business, you can gain clarity, focus, efficiencies, and effectiveness. You can also make it easier to innovate in your processes, platforms, and products because of the clarity and focus.
As you can imagine, this is crucial for any significant cloud plays and business transformations. I’m in the business of business transformation now, as well as connecting business with IT (Information Technology), so it’s helpful to fill my toolbox with business strategies and business design methods, and I’ll share my toolbox with you as I go.
In their Value Disciplines Model, Treacy and Wiersema suggest that a business should focus on one of three value disciplines for success:
This re-enforces the idea by John Hagel and Marc Singer to split businesses into three core types (infrastructure businesses, product innovation businesses, and customer relationship businesses.)
The question of course is whether, does Traecy and Wiersema’s model hold up in today’s world, where business blends with technology, and social media makes customer intimacy a commodity?
In the article, The Strategy Accelerator, Alfred Griffioen identifies three models that have been used for strategic competitive differentiation:
Griffioen raises the question whether the models are still relevant, given Porter’s is circa 1980, Traeacy and Wiersema’s are circa 1995, and the BCG portfolio mix is from 1959.
I think the key is that while the landscape may change, the principles remain the same, they just need to be adapted.
This helps show why knowing the *why* and the context behind a principle is always key (as in *why* or *how* does it work … or even *when* does it work?) That’s why patterns are a key way to share principles and strategies (they not only build a shared language, while sharing a problem and solution pair, but they also bound it to a context.)
In the article, The Strategy Accelerator, Alfred Griffioen shares four gears for differentiation and competitive advantage:
Strategies for Each Gear Griffioen shares strategies for each of the gears, to make the most of your market position:
In the article, The Strategy Accelerator, Alfred Griffioen shares some specific examples of how today’s landscape changes the competitive arena:
I’ve seen this in action, and I like how Alfred called these out. It helps us not just see the landscape, but start to form new rules for the road.
One town that all roads seem to lead to, is that … brand is the ultimate differentiator.
It’s a reflection of the perception of perceived value, the emotional benefits, the intangibles and the culture and the values that the brand stands for. In fact, a good way to test your brand is to figure out the three to five attributes that it represents.
Brand is a powerful thing because it’s a position in the mind. For some categories, especially on the Web, sometimes you only need one brand at the top, and the rest don’t matter. That’s why sometimes the only way to play, is to divide the niche, or expand to a new category.
As an individual, your brand can serve you in many ways at your company, from opening doors to creating glide paths … especially, when your reputation proceeds you in a good way.
The trick as an individual is, how do you fit in, while finding ways to stand out and sharing your unique value?
I put together a trends map in my trends for 2011 post.
I took a look across consumer trends, Enterprise trends, market trends, and what's on the minds of CIOs, CFOs, and CEOs. I also drew from my experience from talking with key folks on what's going on, including many customers and what they're focused on. I included a round up and distillation of many sources, so you can drill into even more.
The post is long, but I've saved you several hours, if not days, of research and bubbled up several key sources that will help you create your own map of trends. I designed the post to be very scannable so you can hop around pretty fast.
Trends are your extreme advantage. By knowing where the action is, you can focus your energy for better results. You also avoid surprises. You can also reshape your job to be more relevant, and you can use market insights to follow the growth, or create new growth. As cycles of change get shorter, one of your best skills to build is anticipation. Anticipation helps you respond over react. Key tip – The Art of the Long View teaches us to have multiple long views.
Explore trends for 2011.
If you’re interested in development with the Microsoft Windows Phone, this map is for you. Microsoft has an extensive collection of developer guidance available in the form of Code Samples, How Tos, Videos, and Training. The challenge is -- how do you find all of the various content collections? … and part of that challenge is knowing *exactly* where to look. This is where the map comes in. It helps you find your way around the online jungle and gives you short-cuts to the treasure troves of available content.
The Windows Phone Developer Guidance Map helps you kill a few birds with one stone:
Download the Windows Phone Developer Guidance Map
Contents at a Glance
Mental Model of the Map The map is a simple collection of content types from multiple sources, organized by common tasks, common topics, and Windows Phone features:
Special Thanks … Special thanks to Adam Grocholski, Allison Kent, Constanze Roman, Dan Reagan, Dragos Manolescu, Georgia Pettigrove, Kevin Lam, Mark Chamberlain, Paul Enfield, Pete Brown, Srinivas Iragavarapu, and Will Clevenger for helping me find and round up our various content collections.
Enjoy and share the map with a friend.
I’ve been thinking about execution and the lessons learned. I’ve summarized some insights and reminders.
I’ve been lucky enough to grow up with patterns & practices over the last 10 years, so I’ve been able to see what works, what doesn’t, and the difference that makes the difference.
The Vital Few Here are the vital few lessons:
20 Additional Game-Changers … Here are some additional ways to improve execution:
I added a map of Leadership Blogs, A- Z at http://sourcesofinsight.com/2010/12/06/leadership-blogs/.
Here is my short list:
Do you have a favorite blog on leadership I should know about? Tell me about it – I think of my collection of leadership blogs as a living list.
Here is a sketch of the mental model I use when thinking through how to address a space with prescriptive guidance:
At a high level, it’s a “stack,” and by having a model of the stack, you can choose how far up the stack to go:
One thing I didn’t explicitly show in the model, is the idea of media, such as videos and slides, and train-the-trainer material. To really get adoption, the media and train-the-trainer material help spread the word. They make it easier for raving fans to adopt and to help spread, as well as to help teach others.
Together, all these parts work to create a “platform” and an “ecosystem” for prescriptive guidance. While it’s not a hard and fast model, it has helped me both figure out the opportunities, as well as evaluate competition, and it helps me see where various types of deliverables fit into a bigger backdrop for impact.
I happened to look over to my bookshelf and noticed that I have two books that landed together by chance:
I’m a fan of “just enough.” One of my mentors liked to quiz me with the question:
“How much process do you need?”
The answer was always, “just enough.”
The question, of course, then becomes, how much is “just enough?” The answer to that is, it depends on what’s the risk? … what’s at stake? It should be commensurate to risk.
I always liked the example we gave regarding how much to invest in performance modeling:
“The time, effort, and money you invest up front in performance modeling should be proportional to project risk. For a project with significant risk, where performance is critical, you may spend more time and energy up front developing your model. For a project where performance is less of a concern, your modeling approach might be as simple as white-boarding your performance scenarios.”
Just enough not only helps you eliminate waste, in the form of unnecessary overhead, but it frees you up to better balance your other trade-offs and priorities.
I saw the Facebook privacy issue on the news. I remember somebody saying, developers should just be responsible. A common practice is to "make it work, then make it right." The problem is, you don't always get a chance to "make it right." That very much depends on what your organization values. The values define the culture.
I flashed back to our early values in patterns & practices. The thing to know about values, is that values flow down. It's what the leaders say, it's what they reward and punish. It reminded me of why our collective set of values was so important.
If you value cost …
If you value execution …
If you value learning …
If you value quality …
If you value customer-connection ...
When I look back to the values we had in patterns & practices, I see how they helped pave the way for great:
If you don't think you, your team, your company, etc. are on a path to great, check the values for clues. It’s not about having this value or that (after all, all values are … well … valuable) ... the magic is in the blend, and often the difference is in what’s missing or out of balance.
I shared some lessons learned from Bill Gates. He sets a high bar and pushes the envelope of what's possible in a lifetime. That's what's great. Thinking back, he was one of the key reasons I joined Microsoft. He'd rather be making impact, than sitting on the beach. His passion is contagious. He set the bar for “smart and gets results.”
Read lessons learned from Bill Gates and if you have a lesson or insight from Bill, be sure to share.
While hunting and gathering cloud-related white papers, I found a nice collection of our Windows Azure white papers:
For more whitepapers, see the Windows Azure Home at http://www.microsoft.com/windowsazure/whitepapers/default.aspx
If you know of some great Windows Azure or cloud-related whitepapers, please share in the comments.
This is a collection of user stories for the cloud. This collection is a simple way to share the most common scenarios that Enterprise Architects, business leaders, and IT leaders will be facing as they adopt cloud technologies.
I decided to kill two birds with one stone. First, I wanted to share a simple example of how to share user stories. User stories are a powerful way to identify and enumerate the problems, wants, and needs within a given domain. Having a bird’s-eye view helps you see the forest from the trees so that you can better prioritize as well as see trends and patterns. Second, I wanted to share a real example that’s relevant and easy to relate to. In this case, I’m sharing cloud user stories. I can’t think of a more relevant body of knowledge for this significant inflection point in our industry.
There are two key outcomes from this post: 1) You can effectively share user stories for a problem space, and 2) You have a good understanding of some of the key challenges facing Enterprise Architects, business leaders, and IT leaders in terms of cloud technologies.
An example is worth a 1000 words, but one of the things I want you to notice in the user stories below, is the wording. The secret to wording effective user stories is to use persona-based scenarios with goals. For example, “As an Enterprise Architect, I want to …” or “As an IT Leader, I need to ….” Yes, this looks simple, but this phrasing is powerful. It makes it easy to collect user stories in a fast way. The mistake is to have a bunch of user stories that are over-generalized and over-loaded. With user stories, the key is to be clear, simple, and straightforward. Clever is the enemy. It should be easy for anybody to read the user stories and easily make sense of them without having to do a bunch of mental gymnastics or parsing. The simpler the better.
If you see key stories that I’m missing, feel free to share in the comments. The beauty of having a map of user stories is that it’s easy to add or reshape the map. This is the key to being able to leverage multiple smart people in an organized way.
Cloud Enterprise Strategy Scenarios Map
Awareness / Education
Governance and Regulation
Service Levels / Quality of Service