Software Engineering, Project Management, and Effectiveness
As part of our patterns & practices Application Architecture Guide 2.0 project, we created sets of videos to help get you up to speed fast. We have a train the trainer video, step-by-step How To videos, Explained videos, and some videos About the Guide.
Index of Videos
Train the Trainer
About the Guide
I wrote a post, Keys for Skilled Happiness, on Sources of Insight. Some people are born with a better disposition, while others have to work at it. You don't have to work harder, you have to work smarter. Luckily, we have a great body of knowledge on happiness to draw from now. My notes are based on Carlin Flora's article, The Pursuit of Happiness in Psychology Today. Some insights are obvious, while others are surprising.
Here's a summary of the keys:
We posted our Service Architecture Pocket Guide to our Application Architecture Guidance KB. This is in response to customers who expressed interest in more modular guides as a supplement to our Application Architecture Guide 2.0.
Chapters At a Glance Here’s the chapters at a glance:
My Related Posts
Distributed Agile Development at Microsoft patterns & practices (PDF) is now available.
Abstract Distributed development is a fact of life for many teams. Unfortunately most agile methodologies or approaches assume that the team is located in a single team room. Until recently there has been little guidance about how to apply these approaches with a geographically dispersed team. Microsoft’s patterns & practices group has been following an agile, distributed development approach for the past five years. During this time teams within the group have experimented extensively with different approaches to best address the challenges of distributed agile development. This paper outlines the challenges faced by geographically distributed agile teams and details some proven practices to address these issues and build successful distributed teams.
Contents at a Glance
As part of our App Arch Guide 2.0 project, we're creating scenario frames to organize customer problems into meaningful lists. These particular frames are an elaboration of our App Arch Meta Model. This helps scope our guidance. We also use them to test effectiveness. The value of the guidance is the value of the problems solved.
Scenario Frames on CodePlexYou can review and contribute to our scenario frames on CodePlex:
Presentation Layer Scenarios Frame Heres' the key hot spots for our presentation layer frame:
Business Layer Scenarios Frame Here's the key hot spots for our business layer frame:
Data Access Layer Scenarios Frame Here's the key hot spots for our data access layer frame:
Services LayerHeres's the key hot spots for our services layer frame:
As part of our patterns & practices App Arch Guide 2.0 project, we've created a set of application archetypes ("app types" for short.) You can see our app archetypes on our Application Types (Archetypes) Index page. To keep it simple, we focused on a small set of common application types that customers identify with. Here's the cool part ... for each application type, we're taking a principle-based approach, then showing relevant patterns, p&p solution assets, and Microsoft technologies. Keep in mind we're still hashing it out.
Mobile A mobile application will normally be structured as a multi-layered application consisting of user experience, business and data layers.
When developing a mobile application you may choose to develop a thin web-based client or a rich client. If you are building a rich client, the business and data layers are likely to be on the device itself. If you are building a thin client the business and data layers will be on the server.
See Mobile Application Type (CodePlex)
Rich Client Rich client user interfaces can provide high performance, interactive, and rich user experiences for applications that must operate in stand-alone, connected, occasionally connected, and disconnected scenarios.
Windows Forms, WPF, and Office Business Application (OBA) development environments and tools are available that allow developers to quickly and easily build Rich Client applications. While these technologies can be used to create standalone applications, they can also be used to create applications that run on the client machine, but communicate with services exposed by other layers (both logical and physical) that expose operations the client requires. These operations may include data access, information retrieval, searching, sending information to other systems, backup, and related activities.
See Rich Client Archetype (CodePlex).
Rich Internet Application (RIA) A Rich Internet Application (RIA) runs in the browser in a sandbox. The benefits of a RIA application include richer user experience, better responsiveness and network efficiency over traditional Web applications.
See Rich Internet Application Archetype (CodePlex).
Service A service is a public interface that provides access to a unit of functionality. Services literally provide some programmatic ‘service’ to the caller who consumes them.
Services are loosely coupled and can be combined from within a client or within other services to provide more complex functionality. Services are distributable and can be accessed from a remote machine as well as from the local machine on which they are running. Services are message oriented, meaning that service interfaces are defined by a WSDL file and operations are called using xml-based message schemas that are passed over a transport. Services support a heterogeneous environment by focusing interoperability at the message/interface definition. If components can understand the message and interface definition they can use the service regardless of their base technology.
See Service Application Archetype (CodePlex).
Web Application The core of a Web application is its server-side logic. The Web application layer itself can be comprised of many distinct layers. The typical example is a three-layered architecture, comprised of presentation, business, and data layers.
See Web Application Archetype (CodePlex).
Template for Application Type Guidance Here's the approach we're using to organize the guidance for each archetype:
You can walk the Web application example to see it in action.
As part of our patterns & practices App Arch Guide 2.0 project, we'll be creating step-by-step How Tos. The How Tos help turn some of the concepts into action. They are particularly helpful for some areas where there's friction or complexity. Here's our initial batch of draft How Tos on CodePlex:
They're still works in progress, but this way you can start to bang on them and give feedback.
The most powerful pattern in Agile Results is: Monday Vision, Daily Wins, Friday Reflection
I introduce Agile Results in my best-selling book on time management Getting Results the Agile Way. (For a quick overview, benefits, testimonials, and videos, check out the landing page for Getting Results the Agile Way.)
The Monday Vision, Daily Wins, Friday Reflection pattern a big deal.
Because it creates a simple approach for personal results in work and life.
You learn how to quickly flow value each day and each week. Through Friday Reflection, you add a learning loop. By setting simple targets, chunking things down, and delivering little chunks of value, you get better and better at driving results.
You’ll astound yourself, and you’ll awaken new levels of resourcefulness and productivity you didn’t even know you had.
How do you get started?
It’s real simple.
One of the simplest ways to build your Agile Results habit is to add 3 reminders to your calendar:
You can literally prompt yourself to better performance.
It’s so simple in fact that you have to wonder how could something so simple create such profound results.
In fact, if you’re not sure how significant this can be to your life, watch Alik on Getting Results the Agile Way (Video), and how it changed his life.
Keep in mind, there is a lot to Agile Results.
But you don’t need it all at once.
Start small and go from there.
As I help more people go Agile, I try to simplify the most important concepts.
For me, one of the most important changes in Agile is what it means to the product development cycle.
I think a picture is worth a 1,000 words. I’ve put together a couple of simple visuals to show what it means to go from a Waterfall development approach to an Agile development approach.
Contrast the Waterfall Model with the Agile Model:
With these visuals, I attempted to show a couple of key ideas:
If you need to keep up with the pace of change, deal with changing requirements, keep up with user demands, while shipping value faster, Agile might be what you’re looking for.
“In most cases being a good boss means hiring talented people and then getting out of their way.” -- Tina Fey
The Digital Revolution marked the beginning of the Information Age.
The Information Age, or Digital Age, or New Media Age, is a shift away from the industrial revolution to an economy based on information computerization. Some would say, along with this shift, we are now in a Knowledge Economy or a Digital Economy.
This opens the door to new ways of working and a new world of work to generate new business value and customer impact.
But what did the Industrial Age do to employees and what paradigms could limit us in this new world?
In the book The Future of Management, Gary Hamel walks through how industrialization and large Enterprises have created a disconnect between employees and their customers, their final product, and the big financial picture. And in the process, he argues, this had led to disengaged employees, crippled innovation, and inflexible organizations.
If you don’t know Gary Hamel, he’s been ranked the #1 influential business thinker by the Wall Street Journal.
According to Hamel, what we traded for scale and efficiencies created gaps between workers and employees and gaps between employees and their customers, the product, the financial impact, and … a diminished sense of responsibility for quality and efficiency.
Do managers exist because employees do?
Via The Future of Management:
“Here's a thought. Maybe we need 'managers' because we have 'employees.' (Be patient, this is not as tautological as it sounds.) Think about the way computers are dependent on software. PCs aren't smart enough to write their own operating instructions, and they sit idle until a user sets them to work. Perhaps the same is true for employees.”
When we manufactured employees, did we manufacture a need for managers?
“Earlier, I talked about the invention of 'the employee.' What happened in this process, at the dawn of the 20th century? How did work life change as individuals left their farms and workshops to be absorbed into large-scale organizations? In manufacturing employees, did we manufacture a need for managers as well? I think so. If we understood how this came about, we will gain clues into how we might learn to manage without managers -- or, at least, with a lot fewer of them.”
As the size and scale of industrial organizations grew, so did the disconnect between employees and their final customers.
“In pre-industrial times, farmers and artisans enjoyed an intimate relationship with their customers. The feedback they received each day from their patrons was timely and unfiltered. Yet as industrial organizations grew in size and scale, millions of employees found themselves disconnected from the final customer. Robbed of direct feedback, they were compelled to rely on others who were closer to the customer to calibrate the effectiveness of their efforts and to tell them how they could better please their clients.”
Without a connection to the customer, employees lose empathy for their work, for the customer, and for the final product.
“As companies divided themselves into departments and functions, employees also became disconnected from the final product. As tasks became narrower and more specialized, employees lost their emotional bond with the end product. The result? A diminished sense of responsibility for producer quality and efficiency. No longer were workers product craftsmen, now they were cogs in an industrial machine over which they had little control.”
It’s hard to make changes to the system when you no longer have a system wide view.
“Size and scale also separate employees from their coworkers. Working in semi-isolated departments, they no longer had a system wide view of the production process. If that system was suboptimal, they had no way of knowing it and now way of correcting it.”
People at the top don’t hear from the people at the bottom.
“Industrialization also enlarged the gulf between workers and owners. While a 19th-century apprentice would have had the ear of the proprietor, most 20th-century employees reported to low-level supervisors. In a large enterprise a junior employee could work for decades and never have the chance to speak one-on-one with someone empowered to make important policy decisions.”
Scoreboards tell employees how they are doing their jobs, but not how the company is doing overall.
“In addition, growing operational complexity fractured the information that was available to employees. In a small proprietorship, the financial scoreboard was simple and real time; there was little mystery about how the firm was doing. In a big industrial company, employees had a scoreboard but it was contrived. It told workers how they were doing their jobs, but little about how the company was doing overall. With no more than a knothole view of the company's financial model, and only a sliver of responsibility for results, it was difficult for an employee to feel a genuine burden for the company's performance.”
Standardizing jobs and processes limits innovation in the jobs and processes. They are at odds.
“Finally, and worst of all, industrialization disconnected employees from their own creativity. In the industrial world, work methods and procedures were defined by experts and, once defined, were not easily altered. No matter how creative an employee might be, the scope for exercising that gift was severely truncated.”
With the disconnect between employees and their inputs, there was a natural need for the management class.
“To put it simply, the pursuit of scale and efficiency advantages disconnected workers from the essential inputs that had, in earlier times, allowed them to be (largely) self-managing -- and in so doing, it made the growth on an expansive managerial class inevitable.”
Employees don’t lack wisdom and experience. They just lack information and context.
“To a large extent, employees need managers for the same reason 13-year-olds need parents: they are incapable of self-regulation. Adolescents, with their hormone-addled brains and limited lie experience, lack the discernment to make consistently wise choices. Employees on the other hand, aren't short of wisdom and experience, but they do lack information and context -- since they are so often disconnected from customers, associates, end products, owners, and the big financial picture. Deprived of the ability to exercise control from within, employees must accept control from above. The result: disaffection. It turns out that employees enjoy being treated like 13-year-olds even less than 13-year-olds.”
What is the result of all this disconnect? Stifled innovation, rigid organizations, and disinterested employees.
“Disengaged employees. Hamstrung innovation. Inflexible organizations. Although we are living in a new century, we are still plagued by the side effects of a management model that invented roughly a hundred years ago. Yet history doesn't have to be destiny -- not if you are willing to go back and reassess the time-forgotten choices that so many others still take for granted. With the benefit of hindsight, you can ask: How have circumstances changed? Are new approaches possible? Must we be bound by the shackles of the past? These are essential questions for every management innovator.”
Does history have to be destiny?
We’re writing new chapters of history each and every day.
In all of my experience, where I’ve seen productivity thrive, people shine, and innovation unleashed, it’s when employees are connected with customers, they are empowered and encouraged to make changes to processes and products, and they are part of a learning organization with rapid feedback loops.
Ability to Execute
Business Value Generation is the New Bottleneck
How We Adhered to the Agile Manifesto on the Microsoft patterns & practices Team
Why So Many Ideas Die or Don’t Get Adopted
I'm a fan of simple maps to help drill in. After all, it's hard to explore the concepts if you don’t know they exist, or you don’t know what they are called. Below is a work in progress. I’m making a quick, simple map of the key activities for a some software project-relevant processes.
I’m sure I’m missing key practices and some of the names have changed. So I’m sharing it, so that folks can help share what they know, to get to a map that includes the right top level names of key practices.
A code sample is worth a thousand words. Here are a few projects to take a look at that go beyond just code snippets to show you how to put key technologies together in the form of sample applications. (Note, if you are looking for just code snippets and focused code samples, you can check out the Microsoft All-in-One Code Framework project site on CodePlex.)
Layered Architecture Solution Guidance Project Site - http://layerguidance.codeplex.com
”Designing and creating layered applications can be a challenging task to developers. Layered Architecture Solution Guidance is a Microsoft Visual Studio 2010 extension that provides a set of tools and guidance aimed at simplifying the development of layered applications. Layered Architecture Solution Guidance is a Guidance Automation Extension that integrates with Microsoft Visual Studio 2010 to allow developers to easily create and organize their projects in a layered fashion following the structure that is illustrated in the Layered Architecture Sample for .NET. It provides a set of solution templates integrated with a suite of code generators to make developing layered applications much simpler and quicker.
Microsoft Spain - Domain Oriented N-Layered .NET 4.0 Sample App Project Site - http://microsoftnlayerapp.codeplex.com/
The main goal is to show how to use .NET 4.0 wave technologies implementing typical DDD patterns: N-Layered Architecture, Domain Entities, Aggregates, Repositories, Unit of Work, Domain Services, Application Services, DTOs, DTO-Adapters, etc.
Improvements in the Domain Layer
Improvements in the Application Layer
Improvements in the Data-Persistence-Infrastructure Layer
Improvements in the Presentation Layer
Improvements in the Distributed-Services Layer
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
"I honestly think it is better to be a failure at something you love than to be a success at something you hate." -- George Burns
I should have written this a long time ago. This can potentially be one of the most important tools you add to your mental toolbox. It's life changing.
I'm giving you a recipe for success. Along the lines of Bruce Lee, I call it, The Way of Success. I named it "The Way of Success", because it's about working backwards from the end in mind, while enjoying the journey forward. Enjoying the journey forward, doesn’t mean that it’s a bed roses, but instead it’s more fulfilling and you can have confidence in the path, as well as enjoy more ups, than downs.
What is the Way of Success What exactly is "The Way of Success"? It's a proven practice for producing outstanding results in your life. Whether you want to change your lot in life, or improve your impact at work, or grow yourself to another level, this is a timeless technique for making it happen. Life can also throw us plenty of curve balls, so this is a way to work on your swing, and knock more out of the park.
The Way of Success at a Glance Here are the key steps in the process:
I explain each step in my article, The Way of Success. Note that while I share it as steps, the process is iterative and incremental.
It’s Not Easy, It’s Effective This is not an "easy" way to success. Instead it's an effective "path" for success. Unfortunately, sacrifice is often the price of success. To make it worse, it's easy to sacrifice a lot of time and energy, only to hit a dead-end or a glass ceiling. The solution is to use models and maps from working examples to avoid the pitfalls and streamline your success. So while it’s not easy, it can be “easier.”
The Balcony View is the Key to Success There really is a pattern for success and the beauty is that anybody can use it to do anything better. You can model the success and excellence of others and apply it to your own life. And there actually are short-cuts for speeding up your success, without cutting corners. The trick is finding the critical paths that work. The real trick though is to take the balcony view and look across the patterns of success from working models. By looking across, you can find the most likely models that will work for you, and you can find the nuances and distinctions that make them work. This is the ultimate formula and recipe for success that will help you get more leverage from the time and effort that you already put in.
The next time you see somebody succeeding in amazing ways, now you know how the magic trick was done, but better yet, how you can do it too.
Call to Action Read the The Way of Success. Apply it to an important area or challenge in your life. Test your results. Share your stories and feedback with me. Share the approach with others. Share it with anybody you know that needs an advantage in life, and would want a proven practice for improving their success.
I’ve made Sources of Insight available on the Kindle. You can find the sign up on Amazon at:
* Note that UK customers can purchase blog subscriptions only from the UK Kindle Store.
If you haven’t taken Sources of Insight for a test-drive, it’s my blog for sharing insight and action for work and life. It’s all about how to make you great, and growing your own personal garden of greatness.
Here are a few of the things you will find …
Cross-Cutting Skills for Life As far as key topics, I cover the following hot spots:
Deep Dives on Skills to Solve Real Problems and Improve Your Abilities I do dive deeps on key topics in a pragmatic way. I basically used what I’ve learned from building prescriptive guidance on the Microsoft patterns & practices team to create a knowledge-based of cross-cutting skills for life. For example, here’s an article on How To Think Like Bill Gates, where I share the non-obvious ways to improve your intellectual horsepower.
Book Nuggets I use books as my short-cut to the latest and greatest thinking and ideas (aside from people and mentors.) I also use books to learn fundamental skills and techniques I can apply on the job. One of my favorite blog posts to write is what I call a “book nugget” where I write about a specific insight or technique from a book, and show how I apply it on the job, or how you might immediately test it in your life. Here are a few of my favorite book nuggets I think you’ll find useful:
Best-Selling Authors Periodically, I feature best-selling authors. They write articles for Sources of Insight about their top lessons or their “ah-ha” surprises in life. Here are a few of my favorite examples:
Great Books I created an extensive book recommendations collection. For many months (well, years now I guess), I’ve spent ~ $300 on books. As you can imagine, I go through a lot of books. Here are a few of my key book recommendation lists:
Great People One of my favorite sources of insight is people. I share and distill lessons learned from a variety of key people. Here are some of my favorites I think you’ll enjoy:
Great Quotes Quotes are one of the simplest ways to share wisdom of the ages and modern sages. The right words really can light up insight or inspire action in new ways. Here are some of my favorite quote lists:
If you find it useful, please share the link with others and write a review on Amazon so others can benefit from your experience.
If you’re a Windows Azure developer or you want to learn Windows Azure, 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 Azure Developer Guidance Map helps you kill a few birds with one stone:
Download the Windows Azure Developer Guidance Map
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 Azure features:
Special Thanks … Special thanks to David Aiken, James Conard, Mike Tillman, Paul Enfield, Rob Boucher, Ryan Dunn, Steve Marx, Terri Schmidt, and Tobin Titus for helping me find and round up our various content collections.
Enjoy and share the map with a friend.
If you’re interested in Microsoft data access (ADO.NET, Entity Framework, etc.), 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 ADO.NET Developer Guidance Map helps you kill a few birds with one stone:
Download the ADO.NET Developer Guidance Map
Mental Model of the Map The map is a simple collection of content types from multiple sources, organized by common tasks, common topics, and ADO.NET features:
Special Thanks … Special thanks to Chris Sells, Diego Dagum, Mechele Gruhn, Paul Enfield, and Tobin Titus for helping me find and round up our various content collections.
The MSDN Library is the primary showcase of our Microsoft product documentation. It’s a treasure trove of gems. The problem is, if you don’t know where to look, sometimes finding the documentation you’re looking for can be a challenge. Part of your success hinges on finding the right information, so let’s see what we can do about that.
I put together a mockup of the MSDN Library Home for the MSDN Library team as an example of one way to showcase some key starting points for some popular technologies on the MSDN Library Home. Here is the model:
Here are some key points about the model:
Special Thanks … Special thanks to the following people for helping me find the main starting points and put the frame together: Alik Levin, Eric Peterson, Jesse Liberty, Joe Stagner, Jon Galloway, Paul Enfield, Pete Brown, Rey Bango, Rob Boucher, Sam Landstrom, Scott Hanselman, Tim Teebken, Wade Pickett
If you have thoughts on the model, send my way.
"To accomplish great things we must dream as well as act." -- Anatole France
Innovation is the way to leap frog and create new ways to do things better, faster, and cheaper.
But it takes slack.
The problem is when you squeeze the goose, to get the golden egg, you lose the slack that creates the eggs in the first place.
In the book The Future of Management, Gary Hamel shares how when there is a lack of slack, there is no innovation.
Creativity unleashes productivity. And it takes time to unleash creativity. But the big bold bet is that the time you give to creativity and innovation, pays you back with new opportunities and new ways to do things better, faster, or cheaper.
“In the pursuit of efficiency, companies have wrung a lot of slack out of their operations. That's a good thing. No one can argue with the goal of cutting inventory levels, reducing working capital, and slashing over-head. The problem, though, is that if you wring all the slack out of a company, you'll wring out all of the innovation as well. Innovation takes time -- time to dream, time to reflect, time to learn, time to invent, and time to experiment. And it takes uninterrupted time -- time when you can put your feet up and stare off into space. As Pekka Himanen put it in his affectionate tribute to hackers, '... the information economy's most important source of productivity is creativity, and it is not possible to create interesting things in a constant hurry or in a regulated way from nine to five.'”
Without think time, creativity lives in a cave.
“While the folks in R&D and new product development are given time to innovate, most employees don't enjoy this luxury. Every day brings a barrage of e-mails, voice mails, and back-to-back meetings. In this world, where the need to be 'responsive' fragments human attention into a thousand tiny shards, there is no 'thinking time.' And therein lies the problem. However creative your colleagues may be, if they don't have the right to occasionally abandon their posts and work on something that's not mission critical, most of their creativity will remain dormant.”
If you want more innovation, make space for it.
“OK, you already know that -- but how is that knowledge reflected in your company's management processes? How hard is it for a frontline employee to get permission to spend 20 percent of her time working on a project that has nothing to do with her day job, nor your company's 'core businesses'? And how often does this happen? Does your company track the number of hours employees spend working on ideas that are incidental to their core responsibilities? Is 'slack' institutionalized in the same way that cost efficiency is? Probably not. There are plenty of incentives in your company for people to stay busy. ('Maybe if I look like I'm working flat out, they won't send my job offshore.') But where are the incentives that encourage people to spend time quietly dreaming up the future?”
Are you slacking your way to a better future?
The Drag of Old Mental Models on Innovation and Change
The New Competitive Landscape
The New Realities that Call for New Organizational and Management Capabilities
Who’s Managing Your Company
This is a guest post by Paul Lidbetter. Paul is a seasoned Enterprise Architect on the Microsoft Enterprise Architect and Strategy Practice in the UK. His specialty is business value, strategic alignment, and Cloud transformation opportunities with customers.
Paul is also an active member of the Innovation Value Institute Consortium, a Chartered Engineer, Fellow of the BCS, and member of The Institution of Engineering and Technology (The IET).
Without further ado, here’s Paul on Value Realization …
Value realization is talked about, but is less frequently achieved because it is hard to deliver! Value realization tends to be thought of by many organizations as the magic that will happen at the end of a project/program.
Value Realization has evolved to become one of the most used phrases in project proposals, value propositions and investment discussions, but do we really know what the implications are or what we are promising by agreeing to Value Realization as part of a program of work?
Cost of ownership and business benefit measures have been and are still used as the focus for a business case, which is, at worst, simply a gate to justify a business investment, after which any focus on managing and delivering the expected business benefits, from the agreed investment, is long forgotten.
In my experience Value Realization is hard because it assumes some level of maturity for process, reporting, measures and decision making, as part of a value based culture, which supports long term ownership of change and value management over extended time lines. For example in the worst cases I have experienced;
As Value: = (Benefits - (Operational Costs & Investment-Capital Costs)) Realized Value is impacted by delivering more or less benefits and/or incurring more or less costs/investments needed to deliver such benefits over time. Indeed the investment is very much part of Value Realization. Value therefore needs to be measured over the life time of the change, for example some metrics may be evident early in the adoption cycle and others such as overall ROI may take years. Because of the time line, investment time/resources needed tend to increase and benefits fall/become less relevant with time, thereby leaking value from the business also impacting opportunity costs.
Realization means that the value defined by the business case (or agreed sub set) is actually delivered, is visible and has an agreed impact on business goals, KPIs, revenue and budgets. Until value is actually realized it is remains as potential value and no more. For example finding a cost saving and then not reducing budgets or reallocating the funds to drive new opportunities is not Value Realization, it is pretending that value has been delivered.
A more top down approach may increase accountability for delivering benefits, but the very same people may not want the benefits (e.g. they see dis-benefits based on cuts to their budgets, staff, maybe major personal and career change), or they may want the benefits, but are still dependent on another group, who may own the budgets/resources and have other priorities on time and resource, to enable solutions and deliver change.
So stakeholder management and alignment are key issues that can be a source of delay and indeed failure to optimize Value Realization.
Value Realization therefore demands a value culture or shift in an organization around value governance and increasing levels of maturity/capability to focus on qualifying decisions based on Realizable Value and managing value as part of delivery programs. Hence, successful Value Realization needs to be planned as part of any project/program from the start, not in panic at the end of the project based on smoke and mirrors. Of course if there are no defined measures to start with then smoke and mirrors can work every time.
Value Realization is/should become more critical to organizations as the ability to source new cloud services and capabilities accelerates and lowers the risk and costs for the design and deployment cycles, thereby throwing the internal focus on doing the right things and ensuring value is being created within shorter cycles. This is further driven by both business and accelerating technology trends which in some industries can be enabled to deliver value faster for competitive advantage. Being able to demonstrate that a program has delivered on time and on budget is no longer good enough, pretending that value just appears is no longer good enough to remain competitive.
Some organizations focus on realization in the short term, in order to mitigate this issues above and also to ensure that opportunity costs are maximized. Indeed some organizations I have worked with, both commercial and public sector, have banked the benefits at the start of the project. For example a CFO reduced the travel budgets at the start of a Unified Communication program to accelerate the program, business change and adoption. The final value delivered is still dependent on the overall level of investment, but this did drive behavior and accelerate change.
In a Telecommunications customer, although the initial discussion was with IT and around deployment, the focus for change was in fact the business (HR), which allowed both relevant measures and accountability to be established. Also the focus on delivering value was integrated into the PMO and associated change managers which enabled the Value Realization process to be part of the overall plan, as part of a Microsoft Enterprise Strategy Services engagement. In addition the number of measures where kept small and easy to verify. E.g. a cost saving metric, a productivity measure and a program acceleration measure (to demonstrate the value of the Microsoft Enterprise Strategy Services engagement)
A further example from a financial organization had some of the challenges, but the approach taken ensured that a culture and process change was slowly introduced with support from Microsoft Enterprise Strategy Services. Projects/Programs were delivered with measures that were more about cost and time, but in order to demonstrate the value of both Microsoft Enterprise Strategy Services and customer projects, some projects were evaluated for post Value Realization in which the benefits were signed off ( or not, by stakeholders) and accumulated with investments to provide a snap shot in time of value realized. Importantly this also allowed potential value, to be identified along with a portfolio based value management process and relevant accountabilities to be successfully introduced moving forwards.
Some of the key enablers are therefore;
Value Realization is a powerful tool when you use it as an approach to help connect business and IT, justify investments, accelerate business value, and drive adoption and change.
Martin Sykes on Value Realization
Mark Bestauros on Value Realization
Graham Doig on Value Realization
As part of our patterns & practices Application Architecture Guide 2.0 project, we've been hunting and gathering our patterns & practices solution assets. Here's our initial draft of our catalog at a glance:
You can use it to get a quick sense of the types and range of solution assets from blocks to guides.
Architecture Meta-Frame We used our Architecture Meta-Frame (AMF) as a lens to help slice and dice the catalog:
Here's some examples to illustrate:
The frame is easily extensible. For example, if we include our Engineering Practices Frame, we can group our process, activity, and artifact related guidance.
Catalog at a Glance Here's a quick list of key patterns & practices solution assets at a glance:
Application Types Guidance assets listed by application type.
My Related Posts
Chapters At a Glance Here’s the chapters at a glance:
My Related Posts
Pocket Guides Here’s the Pocket Guides available so far:
You can browse the list of pocket guides on the Pocket Guide Index page.
I posted my Lessons Learned in 2008 on Sources of Insight. 2008 was a pretty insightful year for me. I met a lot of great people, read a lot of books, and learned a lot along the way. I recapped my top 10 lessons here.
Top Ten Lessons for 2008
Now's your chance to influence patterns & practices Enterprise Library 5.0. You can do so by taking the Enterprise Library 5.0 Product Backlog Prioritization Survey. The current backlog includes more than 100 stories. You can suggest priorities for these items as well as suggest up to 3 new stories. Each story has a "T-Shirt size", which is a rough estimate of the cost. You get 100 points to spend on your priorities. For example, you might spend all 100 points on your most important priority or you might spread your points over several stories.
T-Shirt Cost Sizes / Cost Here's a summary of the T-Shirt sizes and relative costs:
Story Categories The Enterprise Library 5.0 product backlog is organized by the following categories:
Enterprise Library 5.0 Stories List Here's the list of stories in the tentative Enterprise Library 5.0 Product Backlog:
Resource Management & Localization