J.D. Meier's Blog

Software Engineering, Project Management, and Effectiveness

  • J.D. Meier's Blog

    Windows Azure Whitepapers Roundup

    • 0 Comments

    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.

  • J.D. Meier's Blog

    User Stories for Cloud Enterprise Strategy

    • 0 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.

    Categories

    • Awareness / Education
    • Architecture
    • Availability
    • Competition
    • Cost
    • Governance and Regulation
    • Industry
    • Integration
    • Operations
    • People
    • Performance
    • Planning
    • Risk
    • Security
    • Service Levels / Quality of Service
    • Solutions
    • Sourcing
    • Strategy
    • Support

    Cloud Enterprise Strategy Scenarios Map

    Category

    Items

    Awareness / Education

    • As a Business Leader, I want Microsoft to define their perspective on Cloud Computing and provide a holistic view of how their products, technologies and services help me
    • As an Enterprise Architect I want to know how the cloud architecture supports my business goals and enterprise architecture
    • As an IT Leader I want details on training and educating my staff in the use and support for the service

    View More…

    • As a Business Leader, I want to understand why I wouldn't go to a proven partner that has a history of doing this for my competition, one that is already providing a similar service as part of our outsourcing agreement
    • As an Enterprise Architect I want to understand how the cloud architecture reduces complexity
    • As an Enterprise Architect, I want a way to see what my peers are doing, to learn and support each other
    • As an Enterprise Architect, I want actionable guidance for prioritization of ground apps to cloud apps. How do I work out the balance for what should go into the cloud?
    • As an Enterprise Architect, I want education on the content myself so that I am well versed in the specific items that apply to my customer
    • As an Enterprise Architect, I want to know the good, bad, and ugly so that I am not misrepresenting this to the customer based on marketing material
    • As an Enterprise Architect, I want to understand why I would even consider moving to the cloud. What we have works, why change?
    • As an Enterprise Strategy Architect, I want to understand the perceptions of customers and assumptions they will have that lead to preconceived ideas – and how do I ‘unlearn’ them to get to a better discussion
    • As an Enterprise Strategy Architect, I want to understand the right sequence of steps to educate a customer on cloud
    • As an IT Leader, I want to know where the complexity is in the cloud. Every new paradigm claims to be simpler but still has to deal with the same operational baggage – where is the complexity in cloud solutions?
    • As an IT Leader, I want to know why I wouldn't just go to a traditional outsourcer
    • As an IT Leader, I want to understand how I manage corporate data that may span multiple cloud scenarios
    • As an IT Leader, I want to understand why I would introduce yet another environment into my services and the associated complexity

    Architecture

    • As an Enterprise Architect, I want to see reference architecture for compelling cloud scenarios that will help me build a desired end-state for my specific customer scenario
    • As an Enterprise Architect, I want to see case studies of both success and failure
    • As an Enterprise Strategy Architect, I want to learn about proven Reference Architecture patterns for the cloud.

    View More…

    • As an Enterprise Architect, I want to understand Microsoft’s reference models for cloud concepts and terms.
    • As an Enterprise Strategy Architect, I want data movement and management patterns and best practices
    • As an Enterprise Strategy Architect, I want to identify Cloud System Integration Patterns (Cloud-To-Ground, VendorCloud-To-Ground, OurCloud-ToVendorCloud, VendorCloud-to-VendorCloud-to-Ground, etc)

    Availability

    • As a Business Leader, I want to understand geographical redundancy
    • As an Enterprise Architect, I want to know how to handle disaster recovery in the cloud
    • As an IT Leader, I want to understand the same details I would expect from my own data center (fault tolerance, back up procedures, disaster recovery etc.)

    View More…

    • As a Business Leader, I want to know what happens when the next country decides to block Internet access
    • As an Enterprise Architect, I want to learn how to evaluate cloud services for availability across all regions I need to cover. (What is the performance? What about support in a global environment?)

    Competition

    • As a Business Leader, I want to know how Microsoft’s cloud offerings compare to the competition, and especially Amazon Web Services
    • As a Business Leader, I want to understand how cloud offerings can give me a leg up on my competition
    • As an Enterprise Architect, I want a way to know what competitors are saying and how it should be addressed

    Cost

    • As a Business Leader, I want to understand the cost structure for cloud solutions
    • As an Enterprise Architect, I want a way to create a realistic cost model based on the current workload
    • As an IT Leader, I want to know if I need to migrate or rewrite my apps and what are the costs associated with this

    View More…

    • As a Business Leader, how do I manage the transition period in which I probably have to pay twice?
    • As a Business Leader, I want a consistent cost of service so that I can manage against my budget
    • As a Business Leader, I want to know how to manage cloud service subscriptions across a large enterprise to optimize subscription costs
    • As a Business Leader, I want to know that I am not going to incur a large spike in my costs as part of the migration to the cloud
    • As a Business Leader, I want to know what geographic redundancy does to my bandwidth usage and costs
    • As an Enterprise Architect, I want a way to assist with the customer presentations and planning discussions
    • As an Enterprise Architect, I want a way to identify areas in IT where cost reductions can be had with relatively low risk
    • As an Enterprise Architect, I want the costs to be known and predictable so that I can budget accordingly
    • As an Enterprise Architect, I want to learn how to manage cloud service subscriptions across a large enterprise to optimize subscription costs
    • As an Enterprise Architect, I want to understand how to build the cost model for the customer
    • As an Enterprise Architect, I want understand the taxation impact on Cloud based Transactions (state, Federal, inter-nation)
    • As an IT Leader, I want a clear cost breakdown contrasted against my current costs or if I used my existing environment
    • As an IT Leader, I want to understand how I can implement chargeback within my IT environment to provide more transparency on costs
    • As an IT Leader, I want to understand the cost structure for the cloud solutions

    Governance and Regulation

    • As a Business Leader, I want to know how to manage government regulations related to where certain info can be stored. (For large enterprise that have subsidiaries in several countries. A single cloud service may not be able to comply with each countries various regulation needs)
    • As an Enterprise Architect, I want a way to address all regulations and restrictions that may be realized for my customers in all areas they do business
    • As an Enterprise Architect, I want to ensure I am meeting regulatory requirements

    View More…

    • As a Business Leader, I want to know how to adhere to the various government regulations related to pricing and information storage
    • As a Business Leader, I want to understand the environmental impact of moving to the cloud. How will this impact my green initiatives?
    • As an Enterprise Architect, I want to learn how to adhere to the various government regulations related to pricing and information storage.
    • As an Enterprise Architect, I want to learn how to manage government regulations related to where certain information can be stored.
    • As an Enterprise Architect, I want to understand the jurisdiction issues with the cloud and how to mitigate them for my region(s)

    Industry

    • As an Enterprise Strategy Architect, I want to identify the relevant cloud industry trends for the business.

    Integration

    • As a Business Leader, I want to understand how I integrate with my existing systems
    • As an Enterprise Architect, I want to understand how to integrate cloud solutions with my existing processes
    • As an IT Leader, do I need to move all my integrated apps to the cloud or can I do this progressively? What does this mean when apps are integrated (data, web services…)?

    Operations

    • As an IT Leader, I want to know how many environments do I need and what are the implications and costs (dev/test/pre-prod/prod)
    • As an IT Leader, I want to know how to integrate cloud reporting into my existing reporting infrastructure
    • As an IT Leader, I want to understand release management requirements to ensure they fit with our current procedures or do not create undue overhead

    View More…

    • As an IT Leader, I want to know what the reporting capabilities of the service are. This provides visibility to the business on how the services are performing.
    • As an IT Leader, I want to understand a holistic view on management that spans all cloud scenarios
    • As an IT leader, I want to understand how I model the health of applications that may span private and public clouds or fully deployed in public cloud to ensure I can have better control on service levels.
    • As an IT Leader, I want to understand how I model the health of applications that may span private and public clouds or fully deployed in public cloud to ensure I can have better control on service levels
    • As an IT Leader, what is the flexibility of an organization to decide of when upgrades are appropriate based on their priorities and rhythms and how can I test my environment before upgrading the production environment?

    People

    • As a Business Leader, I want to understand how my workforce must evolve to embrace the cloud
    • As a Business Leader, I want to understand how the cloud impacts my user base globally
    • As an Enterprise Architect, I want to know what this means to IT teams (Do I need to get rid of people or repurpose the teams -- which means here up leveling, training)

    View More…

    • As a Business Leader, I want to understand how various cloud scenarios impact my workforce levels
    • As an Enterprise Strategy Architect, I want guidance for measuring the impact of moving a system to the cloud (business and IT)

    Performance

    • As a Business Leader, I want to understand how my service level management processes need to cater to online service redelivery
    • As an Enterprise Architect, I want to know what are the availability, reliability, and scalability of the cloud (What do the SLAs mean? Do they still hold the same commitments?)
    • As an IT Leader, I want to know that I can make quick patches to address immediate quality of service issues

    View More…

    • As an Enterprise Architect, I want the cloud to provide elasticity for my business as it expands and contracts to address seasonal load
    • As an IT Leader, I want to know how to more effectively manage capacity requirements to avoid underutilized infrastructure and leverage online service more effectively
    • As an IT Leader, I want to understand the level of service I can expect for all of my user base

    Planning

    • As a Business Leader, I want to understand how I test the solution before deployment
    • As a Customer, I want to know how to work out the balance for what should go into the cloud – I accept it’s not 0% and not 100% - but how do I find the right balance?
    • As an Enterprise Architect, I want to develop some guiding architectural principles to help me build strategy and roadmap around Cloud Computing

    View More…

    • As a Business Leader, I want to determine the effort needed to migrate our existing solution. Is this a lift and shift? Is this a rewrite, do we extend?
    • As an Enterprise Architect, I want a way to determine the items in the cloud offerings that are relevant to my customer
    • As an Enterprise Architect, I want my application portfolio management to inject cloud relevant criteria to decide what moves to the cloud and when (if it all)
    • As an Enterprise Architect, I want to ensure we are not impacting the ability to realize change
    • As an Enterprise Architect, I want to know how I can reduce my IT infrastructure burden by bursting capabilities into the cloud when I can’t outsource the whole service to the cloud
    • As an Enterprise Architect, I want to know what maturity levels for what capabilities I need to ensure to better enable leveraging cloud scenarios
    • As an Enterprise Architect, I want to understand how I can treat my physical infrastructure assets as more of a fabric and abstract the complexities of OEM devices

    Risk

    • As a Business Leader, I want to know how I can retrieve my IP/Data should I decide to move provider (service lock-in)
    • As an Enterprise Architect, I want to understand the areas of risk that I am accepting by trusting an external data center and service
    • As an IT Leader, I want to know the blockers that lead to implementation failure

    View More…

    • As a Business Leader, how comfortable is a European company to host in a datacenter that is in the US?
    • As a Business Leader, I want to know what happens if the service is not reliable. What are my options? Can I easily find another solution and get out of the contract?
    • As a Business Leader, I want to understand the risks of depending on a single partner to run my business
    • As a Business Leader, I want to understand what is involved if we decide to return to our existing service
    • As an Enterprise Architect, I want to be able to test with low risk opportunities if we decide to proceed
    • As an Enterprise Architect, I want to know how to avoid vendor lock in
    • As an Enterprise Architect, I want to understand how to identify low risk opportunities for the cloud
    • As an IT Leader, I want to know the blockers for adoption that cause decision paralysis
    • As an IT Leader, I want to know where the complexity is in cloud based solutions

    Security

    • As an Enterprise Architect I want to understand what new security risks exist in the cloud and what old risks have been mitigated
    • As an Enterprise Architect, I want to know how I manage identity across cloud scenarios considering I’ve already invested heavily in my internal IT
    • As an Enterprise Architect, I want to know how to manage privacy and integrity of the data if it’s hosted in the cloud. (How do I restrict access to the data by the hoster, and what do I do about a local copy of the data that is synchronized regularly?)

    View More…

    • As an Enterprise Architect, I want to know how to manage accessing cloud services from within the various heterogeneous internal networks
    • As an Enterprise Architect, I want to understand a holistic view on security that spans all cloud scenarios
    • As an Enterprise Architect, my company has invested in a common directory (AD/SSO). How does this work in the cloud?

    Service Levels / Quality of Service

    • As a Business Leader I want to understand who is liable in the event of a service failure
    • As a Business Leader I want to understand who is liable in the event of a security breach
    • As an Enterprise Architect, I want to understand what level of technical support is available to myself and my team

    View More…

    • As an Business Leader, I want to know if I’ll have to change my SLA with customers
    • As an Enterprise Architect, I want to know how the cloud infrastructure is supported

    Solutions

    • As a Business Leader, I want to try before I buy and have access to a proof of concept
    • As an Enterprise Architect, I want access to experts that can do analysis on creating solutions to determine the issues, risks, and costs for migration
    • As an IT Leader, I want to understand the balance for what should go in the cloud; I accept it’s not 0% and not 100%, how do I find the right balance

    View More…

    • As an Enterprise Architect, I want a way to assist with the proof of concept
    • As an Enterprise Strategy Architect, I want to know how I can backup our Ground based HPC with the Cloud for on demand scale
    • As an IT Leader, I want my IT strategy to reflect Cloud computing, on-premises and off-premises capabilities

    Sourcing

    • As an Enterprise Architect, I want to know how to do partnership management in the cloud. (Managing a partner is hard and when this comes down to the fact that the service can be unavailable it is even more important to do a good job)
    • As an Enterprise Architect, I want to know how to evaluate whether the application or system is considered core to my business and could be sourced to a partner in the cloud (Can the system or application be hosted outside of the intranet?)
    • As an Enterprise Strategy Architect, I want to know how to use the Cloud for our DR plan. (i.e. fail from Ground to Cloud)

    Strategy

    • As an Enterprise Architect, I want to understand Microsoft’s strategy for cloud

    Support

    • As a business leader, I want to know how we integrate with our existing help desk for escalation
    • As a Business Leader, I want to know if there is a reliable support structure (24x7)
    • As an IT Leader, I want to know what happens if something goes wrong; how fast will I be notified of an issue, how long will it take to be addressed, what priority will I be given contrasted against the other consumers of the service?

    View More…

    • As a Business Leader, I want to know what the support implications are in a global environment
    • As an Enterprise Architect, I want to know how to evaluate or enforce a 24x7 support model with the cloud
    • As an Enterprise Architect, I want to know who I call if I am experiencing an issue with the hosted solution
  • J.D. Meier's Blog

    How To Use Getting Results the Agile Way with Evernote

    • 0 Comments

    One of the most common questions I get with Getting Results the Agile Way is, “What tools do I use to implement it?”

    The answer is, it depends on how "lightweight" or "heavy" I need to be for a given scenario.  The thing to keep in mind is that the system is stretch to fit because it's based on a simple set of principles, patterns, and practices.  See Values, Principles, and Practices of Getting Results the Agile Way.

    That said, I have a few key scenarios:

    1. Just me.
    2. Pen and Paper.
    3. Evernote.

    The Just Me Scenario
    In the "Just Me" scenario, I don't use any tools.  I just take "mental notes."  I use The Rule of Three to identify three outcomes for the day.  I simply ask the question, "What are the three most important results for today?"  Because it's three things, it's easy to remember, and it helps me stay on track.  Because it's results or outcomes, not activities, I don't get lost in the minutia.

    The Pen and Paper Scenario
    In the Pen and Paper scenario, I carry a little yellow sticky pad.  I like yellow stickies because they are portable and help me free up my mind by writing things down.  The act of writing it down, also forces me to get a bit more clarity.  As a practice, I either write the three results I want for the day on the first note, or I write one outcome per note.  The main reason I write one result per sticky note is so that I can either jot supporting notes, such as tasks, or so I can throw it away when I've achieve that particular result.  It's a simple way to game my day and build a sense of progress.

    I do find that writing things down, even as a simple reference, helps me stay on track way more than just having it in my head.

    The Evernote Scenario
    The Evernote scenario is my high-end scenario.  This is for when I'm dealing with multiple projects, leading teams, etc.  It's still incredibly light-weight, but it helps me stay on top of my game, while juggling many things.  It also helps me quickly see when I have too much open work, or when I'm splitting my time and energy across too many things.  It also helps me see patterns by flipping back through my daily outcomes, weekly outcomes, etc.

    It's hard to believe, but already I've been using Evernote with Getting Results the Agile Way for years.  I just checked the dates of my daily outcomes, and I had switched to Evernote back in 2009.  Time sure flies.  It really does.

    Anyway, I put together a simple step-by-step How To to walk you through setting up Getting Results the Agile Way in Evernote.  Here it is:

    OneNote
    If you’re a OneNote user, and you want to see how to use Getting Results the Agile Way with OneNote, check out Anu’s post on using Getting Results the Agile Way with OneNote.

  • J.D. Meier's Blog

    Adam Grocholski on Timeboxing

    • 0 Comments

    Adam Grocholski has a great post on timeboxing.  In his post, he shares his secrets of how he’s applied Getting Results the Agile Way to take control of his time.  One of my favorite parts is where he explains how he made a business case with his customers to spend less time in meetings, and more time producing results.

    Check out Adam’s post on Timeboxing.

  • J.D. Meier's Blog

    MSDN Library Home Adds Quick Links

    • 0 Comments

    Jeff Braaten let me know that the MSDN Library Home is now featuring Quick Links … and it’s poetry in motion:

    image

    The point behind the Quick Links is to help you jump quickly to some of the most popular areas of the MSDN Library.

    App Types / Platform Technology Clusters
    The links are clustered around key application types and platform technology areas:

    • Cloud Development
    • Data Development
    • Desktop Development
    • Game Development
    • Phone Development
    • Web Development

    API Reference, Code Samples, and How Tos by Technology
    At a glance, you can quickly jump to API references, Code Samples, and How Tos for some of your favorite technologies:

    • ADO.NET
    • ADO.NET Entity Framework
    • ASP.NET
    • ASP.NET MVC
    • Azure Tools for Microsoft Visual Studio
    • CSS
    • HTML
    • Internet Explorer
    • JavaScript
    • LINQ
    • Silverlight (out-of-Browser Support)
    • Silverlight for Windows Phone
    • SQL Azure
    • SQL Server
    • WCF
    • WCF Data Services
    • WCF RIA Services
    • Windows Client
    • Windows Phone Developer Tools
    • WPF
    • XNA

    Enjoy browsing the Quick Links!

  • J.D. Meier's Blog

    How Microsoft IT Does Cloud Computing

    • 0 Comments

    While researching some cloud topics, I came across a nice resource on TechNet called How Microsoft IT Does It.

    It’s an insider’s look showcasing how our Microsoft IT department plans for, deploys, and manages our enterprise solutions across the business lines using our Microsoft product and technology platforms.

    Here is a roundup of the cloud-focused resources.

    Videos

    Webcast

    Podcasts

  • J.D. Meier's Blog

    Six Steps for Enterprise Architecture as Strategy

    • 0 Comments

    One of my new favorite books is, Enterprise Architecture as Strategy, by Jeanee W. Ross, Peter Weill, and David C. Robertson.  My colleague, Danny Cohen recommended it as one of the best books on enterprise strategy and I agree.

    A big focus of the book is on execution and how to build a strong foundation for execution.  The key is an effective enterprise architecture.  With an effective enterprise architecture, you can improve business agility, achieve higher profitability, reduce time to market, lower IT costs, improve access to shared customer data, lower the risk of mission-critical systems failures.  Enterprise architecture as strategy means your enterprise architecture is addressing two key challenges: 1) integration and 2) standardization across the company.

    Six Steps to Build a Foundation for Execution
    Here are six steps Ross, Weill, and Robertson identify for re-thinking a foundation for execution and creating and effective enterprise architecture:

    • Step 1 –Analyze your existing foundation for execution.
    • Step 2 – Define your operating model.
    • Step 3 – Design your enterprise architecture.
    • Step 4 – Set priorities.
    • Step 5 – Design and implement an IT engagement model.
    • Step 6 – Exploit your foundation for execution for growth.

    Summary Table and Notes
    In this table, I  summarized key notes along with each step:

    Step Notes
    Step 1 - Analyze your existing foundation for execution
    • Identify digitized processes.
    • Figure out which processes are mission critical transactions.
    • Identify elements of IT that are world-class.
    • Evaluate the reach, security, data access, and flexibility you need.
    • Identify the strengths and weaknesses in your foundation.
    Step 2 - Define your operating model
    • Identify the processes that differentiate you competitively
    • Envision your ideal customer experience.
    • Determine how you want to grow (acquire or grow related businesses, expand globally, acquire competitors, offer more products and services.)
    Step 3 - Design your enterprise architecture.
    • Map out the essence of your business – your foundation for execution (companywide business processes, shared data, key technologies, and critical customer interfaces.)
    Step 4 - Set priorities.
    • Highlight priorities on the core architecture diagram (the base that the future capabilities depend on)
    • Align the project portfolio to match the enterprise architecture
    Step 5 - Design and implement an IT engagement model.
    • Create a formal IT engagement model (1) IT governance at senior levels, 2) disciplined project management across all major projects, 3) linkages that ensure IT governance and project management reinforce each other.
    Step 6- Exploit your foundation for execution for growth.
    • Plan to cash in on the benefits.
    • Allocate generous funding for training and development.
    • Align incentives so people are motivated to exploit the foundation.
    • Encourage and reward creativity.
  • J.D. Meier's Blog

    Reference Models, Reference Architectures, and Reference Implementations

    • 0 Comments

    "All models are wrong, but some are useful." -- George Box

    I often see confusion over reference models, reference architectures, and reference implementations.  In this post, I’ll share my experience and learnings and observations:

    • Reference Model - A Reference model is a model of something that embodies the basic goals or ideas, and you can use it at as a reference for various purposes.  It’s like holding up a diamond and looking at the different facets.  It basically serves as a backdrop or canvas, or a foundation and springboard for deeper dives.  They are also useful for pulling together a bird’s-eye view of a domain or problem space.  A well-known example is the OSI model.  Key Attributes include: abstract, entities and Relationships, technology agnostic, and they clarify things within a context.  By using a model, you can focus on higher-level concepts, ideas, and decisions.
    • Reference Architecture - A reference architecture provides a proven template solution for an architecture for a particular domain.  It’s the high-level “blue prints” for putting the pieces of the puzzle together.
    • Reference Implementation - A reference Implementation goes beyond a reference architecture and is an actual implementation.  This is where the rubber meets the road and it serves as an exemplar down at the implementation level.

    I think the confusion is usually because the argument usually hinges on whether a reference architecture or reference implementation needs to be in code, when that’s really just a form factor decision.  The distinction is actually the focus and concern, independent of how you share it, although code can help illuminate a reference implementation and a reference architecture.  The other confusion is often around how big or small it needs to be to determine whether it’s a reference architecture or reference implementation, but that’ also a herring.  Again, it goes back to what the focus of the example is.  If it’s an exemplar of the architecture, it’s a reference architecture.  If it’s an exemplar of the implementation, then it’s a reference implementation, and each serve different purposes, and require different levels of detail or abstraction.

    Reference Model Examples
    Reference models give us a quick way to see and talk about a given problem space.  Here is an example of a simple reference model that does nothing more than frame out some cornerstone concepts for cloud computing.  In this case, it’s a visual model for cloud computing:

    image

    This is another of my favorite reference models.  In this case, this is a continuum of moving up the stack with types of cloud services from IaaS to PaaS to SaaS :

    image

    I also like a few of the cloud reference models, especially how they can be used for overlaying security concerns.

    Reference Architecture Examples
    The beauty of the reference architecture is that you can shape the application before you implement it.  One of the simplest ways to achieve this is to whiteboard it.  When you put it on the whiteboard, you can focus on key engineering decisions and avoid getting lost in the details.  You can focus on a conceptual, physical, or logical view, … you can focus on the business perspective, user perspective, or technical perspective … and you can move up and down the stack to zoom in or zoom out … but the main point is to show how the bits and pieces should fit together.  The power of a reference architecture is that it creates a shared mental model for the architecture and design and it can help you identify the key decisions and key risks early on.  This helps you both shape a skeleton solution as well as identify what you need to prototype, especially in terms of cross-cutting concerns, or tracer-bullets.  From an agile perspective, the Reference Architecture complements the system metaphor and it helps you identify potential areas to spike on.  Here are a few examples …

    One of my favorite reference architecture examples is the reference architecture from the ESB Toolkit.

    image

    Another of my favorite reference architectures is the reference architecture for the PetShop Sample Application:

    image

    One approach I like to use for sharing reference architectures is what I call Application Scenarios or Scenarios and Solutions.  It’s a whiteboard sketch of the end-to-end solution.  Here is an example:

    image

    Another of my favorite approaches is to use what I refer to as Application Patterns.  It’s like the Application Scenarios, but I overlay patterns on top.  Here is an example:

    image

    image

    image

    The real key of reference architectures is that they help you explore the thinking and design at a higher-level before getting lost in the weeds.  Getting lost in the weeds is a common problem with reference implementations.  That’s why it’s helpful when they include a reference to their corresponding reference architecture.

    The best combinations I find for nailing a problem space include a reference model + reference architecture + reference implementation.

  • J.D. Meier's Blog

    Change is Good

    • 0 Comments

    "All projects experience changing requirements.  Traditional projects view this as bad.  Agile projects embrace it."  -- Steven Thomas, BBC

    Kelley Hunsberger writes about embracing scope creep, rather than fight it in her article “Change is Good”, in PM Network.

    According to Hunsberger, scope creep can create three key opportunities:

    1. Clients can figure out exactly what they want - clients figure out what they really want through the process
    2. The project team discovers a thing or two - the technical team is figuring out what works and what doesn't.
    3. Flexibility pays off - the ability to react to something late in the cycle is a competitive advantage.

    In my experience, this tends to be true, especially for knowledge work or where the work is not well known.  Change is a good thing, especially when it means acting on windows of opportunity, and delivering more value, in a timely way.  Customers tend to embrace the change when they are involved throughout the process.

    My favorite point in the article is about shaping scope as you go -- "With every sprint or iteration in agile, you are adding more clarity to the project's scope and reacting to it.  But just because you are changing the scope of a project doesn't mean you are adding more scope to it."

  • J.D. Meier's Blog

    Test-Driven Product Design

    • 0 Comments

    One way to drive more effective product design is to start with scenarios.  One way to think of this is “Persona-based scenarios with goals.”  You can use the scenarios as test cases.  The scenarios can help you evaluate the design and they can help you evaluate implementation.  Simply put, “Can the persona or user perform the particular scenario effectively?”  You can then use criteria to evaluate.

    It’s test-driven product design.

    You can imagine how you can start with key themes and then break those down into more specific groups or frames. You end up with unit tests for experiences or scenarios and you can evaluate key things.  For example, if you were doing a competitive assessment, you might evaluate against the following criteria:

    • Complexity
    • Time to implement
    • Out of the box experience
    • Compliance with best practice

    The frames approach is a common approach for how platform competitive assessments are performed.  That’s why we adopted it as an approach for how we do prescriptive guidance … it’s a proven practice for mapping out the problem domain within a given domain or space.

    Example Scenarios Map
    This is an example of mapping out core scenarios, in this case, developer scenarios for source control:

    image

    Example of Sub-Scenarios
    This is an example of elaborating the core Branch/Label/Merge scenarios above:

    image

    There are many ways to gather, organize and use scenarios.  In the end, what’s important is that you have the user scenarios validated with the actual users, and that you use them as a hub to bring together the customer, the developers, and the testers.

    The beauty is that you can re-use the scenarios, whether it’s to explain your product, write documentation, or create prescriptive guidance.

  • J.D. Meier's Blog

    Evaluation Criteria Example

    • 0 Comments

    I often find myself sharing examples of evaluation criteria in the prescriptive guidance space.  Here are some examples of criteria from one of my favorite platform assessments:

    • Best practice compliance. For a given analysis topic, to what degree did the platform permit implementation of best practices? Factors influencing best practice compliance include transparent integration (the default behavior enforces best practices automatically), user-assist features in the IDE, and degree of clarity of configuration.
    • Implementation complexity. How difficult was it for the developer to implement the desired feature? Factors influencing implementation complexity include the ease of use of the feature (as implemented in a tool), amount and length of code (if any was needed) Quality of documentation and sample code . How appropriate was the documentation? If examples were supplied with the documentation, were they sufficient to illustrate the concept, and did they exhibit best practices?
    • Developer competence. How skilled did the developer need to be in order to implement the security feature? To ensure an apples-to-apples comparison, prior knowledge of the tools platform is not assumed.
    • Time to implement. How long did it take to implement the desired feature or behavior?
    • The search cost. How long did it take for the user to find information on how to use the feature? Was the information shipped with the product or was it found externally on a vendor website or via search engine?
    • The implementation time. How long did it take, after knowledge assimilation, to configure or code the platform to implement correct behaviors?
  • J.D. Meier's Blog

    Scenario Scoreboards for Testing Your Product Success

    • 0 Comments

    Here is an example of a simple, but surprisingly effective way to test your product success. Around patterns & practices, a few of us affectionately called this a “consumer reports” view.  Whether your product is prescriptive guidance or code, the concept is the same – you’re testing your product against user scenarios.

    To create a Scenario Scoreboard, simply put together a matrix of scenarios. Next, add criteria. Next, test against the scenarios and rate the criteria.  Note – There are two keys to making this successful: 1) have a useful collection of scenarios, and 2) get agreement on the criteria.  You want agreement on the criteria so that people can stand behind the results.  Tuning your criteria can help you tune your product success.  You’re basically creating a feedback loop to measure the success of your product against user scenarios.

    Example of a Scenario Scoreboard
    What’s important in the example is the simple frame:  scenarios and criteria.   The scenarios are grouped into buckets.

    Category

    Scenarios / Tasks

    Criteria

    Best Practice Compliance

    Implementation Complexity

    Implementer Competence

    Time to Implement

    General

    • How to push peak loads to the cloud to reduce the size of an on premise data center.
    • How to decide if you application is right for the cloud (on-premise vs. cloud, advantages/disadvantages)
    • How to run your own VM in the cloud.
    • How to run an on-premise app in the cloud.
    • How to create a small-to-medium Web app.
    • How to create a large Web application.
    • How to create a parallel processing application.
    • How to store blog data for an on premise application.

    Arch / Design

    • How to structure your application.
    • How to partition based on latency.
    • How to scale horizontally.
    • How to scale vertically.
    • How to manage state.
    • How to design for Hybrid  (i.e. part of the application runs on premise, part in the cloud)

    Auditing and Logging

    • How to log information.
    • How to throttle your logging.
    • How to determine your log destination
    • How to view logs

    Authentication

    • How to authenticate callers.
    • How to perform single sign on (Federation).
    • How to build an STS.
    • How to identify callers.
    • How to manage personally identifying information / sensitive data in the cloud. 

    Authorization

    • How to use roles to protect resources.
    • How to leverage claims.
    • How to turn your application into a claims aware application.
    • How to turn claims into roles.

    Caching

    • How to use local storage.
    • How to leverage a distributed cache.
    • How to swap out cache providers.
    • How to cache data effectively.
    • How to expire the cache.

    Configuration

    • How to cache configuration data.
    • How to decide what settings you should use.

    Data Access

    • How to design an extensible schema that will never need to be updated.
    • How to choose a partition key for different entities.
    • How not to get too much data into one partition.
    • How to repartition your live data.
    • How to load initial/domain data.
    • How to do BI in the cloud.

    Monitoring / Health

    • How to monitor web roles.
    • How to monitor worker roles.
    • How to alert/alarm.

    Performance and Scalability

    • How to simulate load tests.
    • How to compare blog storage against local files.
    • How to measure performance against CRUD.
    • How to do capacity planning.
    • How to access/view Performance Counters

    State

    • How to design statelessness.

    Storage

    • How to decide which storage to use.
    • How to organize your containers and blobs efficiently.
    • How to track/retrieve additional information/properties about blobs
    • How to authorize access to containers/blobs

    Transactions

    • How to roll back.
    • How to update multiple pieces of data at the same time.
    • How to implement 2-phase commit.
    • How to lock effectively.

    Worker Model

    • How to schedule work.
    • How to group different types of work.
    • How to communicate between different types of worker roles.
    • How to determine the number of worker roles.
    • How to determine if multiple threads should be used

    Workflow

    • How to design for asynchronous work.
    • How to design for integration (custom cloud applications / finished services / on premise / ESB.

    Deployment

    • How to deploy seamlessly with no downtime
    • How to architect your application to allow data schema deployment to happen independent from app deployment

    Ratings for the Evaluation Criteria
    Here are some examples of ratings for the criteria:

    Rating Category

    Criteria

    Best Practice Compliance Ratings

    1. Not possible
    2. Developer implements
    3. Developer extends
    4. Wizard
    5. Transparent

    Implementation Complexity Ratings

    1. Large amount of code
    2. Medium amount of code
    3. Small amount of code
    4. Wizard +
    5. Wizard

    Quality of Documentation and Sample Code Ratings

    1. Incorrect or inaccurate
    2. Vague or Incomplete
    3. Adequate
    4. Suitable
    5. Best Practice Documentation

    Developer/Administrator Competence Ratings

    1. Expert (5+ years of experience
    2. Expert/intermediate (3-5 years of experience)
    3. Intermediate
    4. Intermediate/novice
    5. Novice (0-1 years of experience)

    Time to Implement

    1. High (More than 4 hours)
    2. Medium to High (1 to 4 hours)
    3. Medium (16-60 minutes)
    4. Low to Medium  (6-15 minutes )
    5. Low (5 minutes or less )

    Additional Resources

    My Related Posts

  • J.D. Meier's Blog

    Product Success Frame for High Customer Impact

    • 0 Comments

    What proven practices have you seen are vital behaviors that significantly contribute to customer success? …

    That’s a common question I get, having spent the bulk of my time at Microsoft in patterns & practices.  In fact, that’s a question the Windows Azure team asked me last Summer, as a way to boil down my lessons learned from patterns & practices and turn the insight into action.

    Let me first set the stage that this information is primarily what contributes to a product’s success aimed at “developers.”

    Banging on Products from Multiple Angles Helps You See the Good, the Bad, and the Ugly
    I’ve had a chance to see the good, the bad, and the ugly in terms of our products and how they land with customers.  I’ve participated in many dog-fooding exercises, supportability reviews, platform evaluations, etc., so I‘ve learned what to look for.  Because I’ve worked across so many products and technologies, I’ve had the chance to see what success patterns, as well as anti-patterns, show up time and again.   In fact, one of the things I often do is cross-pollinate the best practices that I see across various product teams.

    As an aside, before I joined patterns & practices, I worked in Microsoft Developer Support, which means I was on the receiving end of customer pain, and I learned how to walk a product from a usability and supportability standpoint, as well as learn many of the supportability (and “un-supportability”) patterns.

    A Quick Sampling of Product Success Patterns … 
    Here is a quick example to light up the idea of how some teams set the state for product success.  For example, the ASP.NET team drove significant improvements into their platform early on through eating their own dog food and performing application building exercises. This created a lot of empathy for customers and customer scenarios. Having “Blue Books” or “Platform Playbooks” for security and performance helped win significant accounts, as well as create a glide-path for customers coming from the Java world. The QuickStart for ASP.NET with it’s amazing set of “Common Tasks” helped many, many developers get up and running with the platform in a simple way. Having a set of common baseline architectures and deployment patterns helped us show customers how to make the platform work for their scenarios in a proven and repeatable way.

    Some Products are Destined for Success 
    To share what I’ve learned, I’ve created a simple frame that encapsulates some of the things that I’ve seen make a key difference. Creating prescriptive guidance has always been a combination of creating a “driver’s guide,” test driving the product against customer scenarios, finding effective solutions and workarounds, and improving the story around qualities, such as security or performance. During the process, I’ve found that some products are destined for success and have a strong customer adoption story out of the gate, while others face an uphill battle or never really succeed.

    Sadly, I can easily see products that will fail, right up front too.

    Product Success Frame
    Here is the frame I’ve been using for sharing some of the most important product success patterns. 

    image

    It needs some iterations, but it’s been useful so far for putting some key success patterns into buckets.  The table below shares some examples of what would fall under these buckets.  After the table, I’ve provide some visual examples to help illustrate.

    Category

    Samples

    Mental Models

    How to picture, think about, and talk about the problem space.

    • A Language for the Space (“Domain Model” / “Folksonomy” )
    • Application Scenarios (Common Patterns)
    • Canonical Architecture
    • Customer Solution Stacks (common combos of product and technologies)
    • Deployment Patterns
    • Frame (Lens for looking at the space, what’s in, what’s out)
    • Hot Spots (Top Areas of Pain or Opportunity)
    • Pattern Language (Shared vocabulary for the key concepts)

    Prescriptive Guidance

    Sharing and scaling expertise, including driver’s guides and proven practices.

    Collateral

    “Train-the-Trainer” material for wide-spread adoption and viral expertise.

    • Architecture Kit
    • Case Studies         
    • Demos
    • Offerings (MCS / Service SKUs)   
    • Roadmap  
    • Rude Q&A            
    • Slides        
    • Train-the-Trainer 
    • Webcasts / Podcasts

    Competitive

    • Capabilities Matrix
    • Competitive Studies

    Competitive

    Knowing your unique value and where you stand in the market or how you relate.

    • Capabilities Matrix
    • Competitive Studies
    Customer-Connected

    Building for the customer and with the customer to co-create a better future, as well as simplifying the user experience, and making it easy to find all the blocks.

    Supportability

    Assume bad things happen to good people and making it easy to fall into the pit of success or get back to a successful state, or avoid falling off the cliff in the first place.

    • Dog-fooding
    • Fault-Tree Model
    • Supportability Review
    • Supportability Whitepaper

    Channels

    Know the touch points and the constellation of channels where users interact with your stuff, along with the user experiences for each of those channels.

    • 3rd Party / Partner Sites
    • Community Site (Home)
    • Dev Centers
    • Forums
    • Subscriptions   

    Feedback

    • Customer Proof Points
    • Product Support Reviews (“BillG Reviews”)
    • SEO Analysis and Data
    • Usability Studies
    The Network

    Get the network on your side, from a tribe of raving fans, and closer followers, to a wider community base.

    • 5 Pillar Customers (Reference examples and champions)
    • Blogger Team
    • CAT (Customer Advisory Team) Team (“SQL CAT”)
    • Champs (Internal / External)
    • Community PM
    • Insiders (“ASP.NET Insiders”)
    • MVPs
    • Product Support / Escalation Team
    • Rangers (“TFS Rangers”)

    A Quick Tour of Examples …
    The following is a quick visual tour of some of the common things that help customers make the most of the product.

    Application Scenarios and Solutions Example
    Application Scenarios and Solutions are a quick sketch of how to solve an end-to-end problem, along with key information on how to prototype the solution and test whether the solution will work for your scenario.

    image

    Canonical Application Architecture Example
    A canonical application architecture helps customer see how to put the building block technologies together into an ideal pattern.

    image

    CAT “Customer Advisory Team” Teams
    Customer Advisory Teams site between the product and the customer and they help address the patterns of customer problems through prescriptive guidance and hands-on support.  They can also provide in-depth product feedback because they see the patterns and practices of large sets of customers, against specific scenarios and solutions.

    • Focused team that connects the customer scenarios to the product team.
    • Strong engineering team with a solution focus.
    • Solves customer problems (with a by-product of code and content re-usable assets.)
    • Provides actionable product feedback to the product teams.

    For an example, see the SQL CAT Team.

    Catalog of Solution Assets Example
    When you build out a catalog of solution assets, it’s a proven practice to have a set of content types.   This helps users know what to expect in your catalog.  This also helps you streamline your efforts for populating your catalog.  The key is to focus on a small set of high ROI content types.  For example, a common pattern is to focus on code samples, how tos, videos, and tutorials.

    image

    Customer Proof Points
    Customer Proof points are simply verbatums and scores on a slide from a customer to help show impact.  The verbatums provide qualitative and the scores provide quantitative.  The two key numbers to see are overall satisfaction and a change in confidence in the product, tool, or platform.  

    image

    Deployment Patterns
    Deployment Patterns show how the common ways that the application is physically distributed.  This can help you very quickly see the end in mind.

    image

    Feature Set Example
    Having your feature set at a glance, helps users quickly see all the dials, knobs, switches at a glance.  Having the features at a glance is also an easy way to help your users learn the scope of your product.  You can also use the features at a glance as one way for organizing, driving, and prioritizing your documentation.  This, in conjunction with a scenarios map is a powerful combination.

    image

    Hot Spots for Architecture
    Hot Spots are basically a heat map of common pain points or key engineering decisions.  They help you quickly see the forest from the trees in a given domain.  For example, in a typical application, some of the cross-cutting concerns are auditing and logging, authentication, authorization, data access, exception management, etc.  Knowing the Hot Spots helps inform you as an product designer or engineering, by helping inform you where to invest more energy.

    image

    Hot Spots for Security Example
    You can think of Hot Spots as a lens and you can overlay or focus on a particular topic, such as security, and highlight just those Hot Spots.

    image

    Hot Spots for Performance Example
    Here is an example of bubbling up common performance Hot Spots for a Web application.

    image

    How Tos
    How Tos provide step-by-step instructions for performing a task or solving a problem.  When done well, they are among the most valued content because they directly map to user challenges, scenarios, and tasks.

    image

    See Security How Tos for an example of a How Tos collection.

    Scenario Frames / Maps Example
    Scenario Maps are an easy way to gather and organize all the user scenarios in a meaningful way.  Scenarios put requirements into context by showing what a particular user would try to accomplish.  A collection of scenarios acts as a map that helps you see the landscape of your product, from both the engineering and the user view.

    image

    Scenario Scoreboard Example
    A Scenario Scoreboard is a simple way to evaluate the effectiveness of your product against the user scenarios.  You simply add evaluation criteria and rate each scenario against the products, tools, and platform.

    image

    QuickStarts (Simple Starts for Common Tasks)
    QuickStarts are a way to share a quick map of common tasks, along with examples and step-by-step guidance.

    image

    See example at - http://quickstart.developerfusion.co.uk/QuickStart/howto/

    My Related Posts

  • J.D. Meier's Blog

    Anu on Getting Results the Agile Way

    • 0 Comments

    “Productivity is never an accident. It is always the result of a commitment to excellence, intelligent planning, and focused effort.” -- Paul J. Meyer

    Anutthara Bharadwaj, a Program Manager on the Microsoft Visual Studio team shares her experience on adopting the Agile Results system in her post, Getting Results the Agile Way.  In her story, Anu writes how she went from being overwhelmed to on top of her game by adopting three core practices:

    1. The Rule of 3
    2. Monday Vision, Daily Outcome, and Friday Reflection
    3. Hot Spots

    I like her concrete examples.  In her case, she uses One Note to implement the system.   That’s the power of the Agile Results system.  It’s a principle-based system so you can use whatever tools works best for you for adopting the practices.  (I’ve used everything from pen and paper, whiteboards, Evernote, Outlook, One Note, simple text files, etc.)

    Small changes in your day, add up to big changes in life.  I’ve had the chance first-hand to watch Anu transform and it’s been an amazing journey.

    Stop by and check out Anu’s post on Getting Results the Agile Way.

  • J.D. Meier's Blog

    Time Management Tips #9 - Pair Up

    • 0 Comments

    Untitled

    What's the best way to do it?

    Together.

    Pair up.

    Time management tips #9 is pair up.  Paring up simply means find somebody that will work with you on something, rather than go it alone.   When you pair up, you create a team of capabilities and you learn how to love the things you might otherwise hate.  Worst case, you at least make doing what you don’t enjoy, more fun.  Best case, you find a new passion for something you didn’t know you had.

    We all have things to do that we're not great at, or slow us down.  Maybe it's because we don't have talent for it.  Maybe it's because we hate doing it.  Maybe it's because we just don't know a few tricks of the trade. (Sadly, I find the that it’s missing the tricks of the trade, that holds us back the most … and learning the tricks, actually unleashes a passion in us, because we no longer suck at it … it’s such a chicken and an egg scenario time and time again.)

    Chances are you know somebody who is great at whatever it is that you need to do, or at least better than you.  Just because you might hate to do something, doesn't mean that somebody else does not live for it.  One person's trash is another's treasure.  And that's a good thing. 

    Pairing up is the fastest way to transfer tribal knowledge.  It’s visceral.  You *feel* it.  You immerse yourself in it.  You get to see how somebody that likes doing this activity, actually goes about it.  It's your chance to learn everything from the mindset they have, to the questions they ask, to the short-cuts they use, or how they make it fun.

    One of my favorite phrases at work is, "Show me how."

    So many experts love to show and share how they do their magic.  It puts them in their element.  Sometimes they will genuinely want to help you succeed.  Other times, it's just so they can show off.  Either way, it doesn't matter.  What matters is that you make the most of it.

    One of the best pairing situations is where you find a "workout buddy" for work.  Maybe you are good at doing slides, and maybe they are good at technical details.  When you pair up, you can both look good, and you both have something to gain.

    Pairing works best when it's a mutual gain, so it's always helpful to bring something to the table.  Sometimes, all you bring to the table is appreciation for their amazing skill, and sometimes that is enough.

    Another great pattern for pairing is if you are a "starter" -- you like to start things, but you aren't a strong "finisher."  A strong "starter" and "finisher" pair is like a dynamic duo in action that amplify each other's success.  One's strength is another's weakness, and your goal is to build a mini-team of capabilities over a one-man band.

    It's not just effective, it's strategic.  By doing what you do best, and supplementing where you are not, you maximize your ability to make things happen in the most effective way, while staying true to you.

    In 30 Days of Getting Results, you can use the time management exercises to be a more effective starter or finisher and get exponential results on a daily and weekly basis.  You can also find more time management tips in my book, Getting Results the Agile Way, and on Getting Results.com

    You Might Also Like

  • J.D. Meier's Blog

    Embrace the Effort and Expand What You’re Capable Of

    • 0 Comments

    I wrote a post about how to embrace the effort.   Effort is something I knew very well, and it's helped me differentiate in many scenarios.

    It's easy to downplay the benefit of effort, especially because you aren’t rewarded for effort, you’re rewarded for results.  I never got an A for effort (although I did get an E.)

    But here's the catch:  YOU have to reward yourself for your own effort.  And just because you don't get the results you wanted, you still need to acknowledge and appreciate your own effort.  It’s critical to your long-term success.

    Effort really is an essential ingredient of your personal greatness.  Sure, you can luck into success some of the time, and talent can get you so far, but effort is the difference that makes the difference, and it’s the maker of more consistent success.  Effort is also the key to making more meaning in your life, and it's an integral part of the path of fulfillment.  Yeah, fulfillment happens more when we give our best, where we have our best to give, on a meaningful mission.  Giving your best takes effort, and meaningful missions are always filled with challenges.  That’s why in life … it’s the journey AND the destination (and sometimes the journey is all we’ve got.)

    It's wise advice that we should focus on what we control, and let the rest go.  One of the toughest lessons in life is that we can't control everything … and many times, the results are out of our hands.   Sure, we get to influence, but the bigger the challenge, the less we control how the cards will fall. 

    But what do we always control?  The effort that we put in.  That’s the difference maker in our lives.

    If you're not getting the results you want in work or life, take a look at the effort you are putting in.  If you aren't putting in the effort required, try adding some effort to see if that makes the difference.  In fact, embrace the effort.  Effort is what expands what we're capable of.  Feel the effort, and feel your growth.

    When effort is not the trick, it's often a matter of strategy.  Working harder isn't always the answer (though sometimes it is.)  A lot of times it's working smarter.  In many cases, the answer is "AND" ... it’s about working smarter AND working harder.  (What a powerful combo.)

    The beauty is that well-applied effort, often pays off.

    And if you acknowledge and reward yourself along the way for the effort you put in, that always pays off.

    Check out embrace the effort, and put the power of effort on your side.

  • J.D. Meier's Blog

    Time Management Tips # 10 - Set Limits

    • 0 Comments

    Untitled

    I hate quotas.  For me, I'm about quality, not quantity.  And yet quotas have consistently helped me get the ball rolling, or find out what I'm capable of.

    Time management tips # 10 – set limits.  When we set a quota, we have a target.  It helps turn a goal into something we can count.  And when we can count it, we build momentum.

    In my early days of Microsoft, my manager set a limit that I needed to write two Knowledge Base articles per month.  I did that, and more.  Way more.  It turned out to be a big deal.  Before that limit, I didn't think I could do any or would ever do any.

    A few years back, I set a limit that my posts would be no longer than six inches (yeah, that sounds like a weird size limit, but I wanted to fill no more than where the gray box on my blog faded to white.)  My blog ended up in the top 50 blogs on MSDN, of more than 5,000 blogs, and my readership grew exponentially that month.  The reason I set the size limit is because my original limit was "write no more than 20 minutes."  The problem is, when I'm in my execution mode, I write fast, and my posts were getting really long, even if I only wrote for 20 minutes.

    Setting limits in time, size, or quantity can help you in so many ways.  Especially, if getting started is tough.  One great way to start, is simply to ask, "What's one thing I can do today towards XYZ?"  Limits also help us avoid from getting overwhelmed or bogged down.  If we’re feeling heavy or overburdened, start chopping at limits until your load feels lighter.

    Here are some example of some limits you can try:

    1. Write one blog post each day.
    2. Spend a maximum of 20 minutes each day on XYZ.
    3. Spend a minimum of 30 minutes on exercise every other day.
    4. Spend 30 days on XYZ.
    5. Read three books this month.
    6. Cut the time of your XYZ routine in half.
    7. Ship one phone app this month.
    8. Ship one eBook this month.
    9. Start one blog this month.
    10. Spend no more than 30 minutes on email a day.

    Once you set a limit, you suddenly get resourceful in findings new ways to optimize, or new ways to make it happen.  When there is no limit, it's tough to optimize because you don't know when you are done.

    While I'm a fan of quality, the trick is to first "flow some water through the pipe" so you can tune, prune, and improve it.

    If you're feeling rusty, try setting little limits to bootstrap what you're capable of.

    In 30 Days of Getting Results, you can use the time management exercises to be more effective and get exponential results on a daily and weekly basis.  You can also find more time management tips in my book, Getting Results the Agile Way, and on Getting Results.com

    You Might Also Like

  • J.D. Meier's Blog

    Time Management Tips # 11 - 30 Day Sprints

    • 0 Comments

    Do you have something that you've been wanting to learn, but just don't have the time?  Do you have an area at work that you struggle with?  Do you dabble in too many things at once, and never make real progress?

    Enter 30 Day Sprints.

    Time management tip # 11 is 30 Day Sprints30 Day Sprints let you try something out for 30 days and make progress.  30 Day Sprints also give you a way to cycle through something new each month.   It’s a great way to embrace continuous learning.  Each month you can add something new to your portfolio of skills, so at the end of the day, you can have 12 big changes under your belt.

    I adopted 30 Day Improvement Sprints several years ago to deal with a couple of challenges:

    1. I needed a way to really focus.
    2. I needed a way to make significant change.
    3. I needed a consistent way to make space for new things in my life.

    What I learned is that committing to 30 days of improvement in a focused area, is easier to swallow than changing for life.  However, improving an area for 30 days, is actually life changing.

    With 30 days, persistence and time are on my side.  It's a big enough time box that I can try different techniques, while building proficiency.  Using 30 days makes working through hurdles easier too.  A lot of the hurdles I hit in my first week, are gone by week 2.  Little improvements each day, add up quickly.  I look back on how many things I tried for a week and stopped thinking I hadn't made progress.  The trick was, I didn't get to week 2 or week 3 to see my results.

    That last point is a big deal.  When you stick with something for more than two weeks, you get over the humps and hurdles that hold you back.  It's like chipping away at the stone, and sometimes the breakthroughs don't happen until you're a few weeks in.

    This is also a powerful way to add habits or change a habit.  Why?  Because you can do something small today.  And tomorrow you can do another small thing.  You can keep little commitments with yourself.  You can glide your way into your habit, versus run out of steam.  If you’ve ever been gung-ho for a week, and then fizzled out, 30 Day Sprints can be your answer.

    As we turn the page to a new month, pick a focus for the month, and make it your 30 Day Sprint.

    In 30 Days of Getting Results, you can use the time management exercises to get exponential results on a daily and weekly basis.  You can also find more time management tips in my book, Getting Results the Agile Way, and on Getting Results.com

    You Might Also Like

  • J.D. Meier's Blog

    Time Management Tips # 12 - Do Something Small

    • 0 Comments

    Sometimes small is the best way to make progress.  In fact, sometimes it's the only way.

    If you don't have time to do something big, do something small.  Don't make a major production out of it, don't make a mountain out of a molehill.  Chunk it down.  It's a skill you can practice daily. 

    What's one small thing you could do … today?

  • J.D. Meier's Blog

    Time Management Tips #13 - Just Start

    • 0 Comments

    Sometimes getting started is the hardest part.  In fact, sometimes the start takes more effort than the work:

    "It is always the start that requires the greatest effort." -- James Cash Penney (Yeah, the guy that started J.C. Penney’s)

    If you don't know where to start, then start with something small.

    Be a fire-starter ... use your little victories for kindling.

    How do you get started? 

    Just start.

  • J.D. Meier's Blog

    7 Practices for More Effective Meetings

    • 0 Comments

    Here are seven practices I’ve experienced that worked well with meetings:

    1. Let a person finish their point
    2. Answer the question asked.
    3. Say what you mean, mean what you say.
    4. No leading questions or asking questions you know the answer to (see #3)
    5. Answer the question simply, and only elaborate if asked (this saves on long answers to the wrong questions or misunderstandings.)
    6. Make it safe to explore an idea and play out a thought -- help each other express/understand/be understood.
    7. Ask questions at the end – this builds momentum.

    It’s really about momentum … we can spiral up or spiral down.  Energy is our best asset to spend on the right things.

    On #7 -- Any time I've seen meetings have momentum (and I can think of multiple vignettes), it’s when somebody put their thoughts out on the table first, without being sliced and diced along the way.  I also think of examples, where somebody finishes painting the broad strokes of their picture  ... and we get the bigger picture, before needling at the fine points, and fracturing great ideas in the making … or at least getting the bird’s-eye view before chasing the rabbit down the hole.

    When we practice #7, it builds trust, people are heard and understood, and people will be less long-winded, and defensive, etc.

    Bonus --- Have a skilled facilitator, manage the shot clock, set time for things (timebox), take decisive actions, and have a parking lot to put things.

  • J.D. Meier's Blog

    Why We Feel Unproductive

    • 0 Comments

    “If you want something done, ask a busy person to do it. The more things you do, the more you can do." -- Lucille Ball”

    I was reading Scott Hanselman's post on Productivity vs. Guilt and Self-Loathing.  In his post, Scott shares what he does when he feels unproductive.  If you know Scott, he's the opposite of unproductive.  So the question then is ...

    Why do we sometimes feel unproductive?

    I played with this question on my way to work, and then a few dots connected.

    We See the Work
    I connected the dots when I was surprised by a few people that said they didn’t really see all the work ahead.  They were working on a few things, but there was not an amazing forest of challenges and opportunities ahead of them.   Instead, it was just a tree here or there.  It baffled me, but then it clicked.  Not everybody looks to see the forest.

    As a Program Manager, I'm constantly breaking work down.  I need to map out paths from A to B. I'm constantly sorting massive lists of work to be done.  I'm always looking at the system.  I need to find the bottlenecks in our system and ecosystem and unblock them.  I need to orchestrate people to bring out their best.  I need to foresee and anticipate humps and hurdles and have a game plan to get around them.

    It's not that the job of a Program Manager is never done (It isn't BTW.)  It's that some people see the task at hand, while others see the bigger map.

    Any idea that comes my way, I have to start breaking it down into experiences, scenarios, features, requirements, timelines, milestones, etc.  I always see the work.

    Some people don't "see the work."  I've run into this pattern multiple times, where somebody looks like they have nothing to do.  In their mind they don't.  Nobody told them to do anything.  They aren't a self-starter.  If nothing is assigned to them, then there's nothing to do.  For others, they are looking for work, but they can't see the work.  They haven't done work-breakdown-structures, or iteration planning, or any sort of planning, so they just aren't familiar with how to look for work ... and more importantly, they don’t know how to identify meaningful and game-changing work.

    When you see the bigger map, it can feel like people are re-arranging deck chairs on the Titanic.  Your job then becomes to educate people on the why, the what, and the goals of the work, so people can put the deck chairs down, and re-focus their efforts.

    So when I measure myself against the work to be done, I always fall short.  When I get to the top of the mountain, I see more mountains.

    The solution?   Set milestones, identity tests for success, and stop to smell the roses.  Look back on achievements, to balance always looking ahead.

    We Have Ideas
    When you constantly flow ideas, you are brutally aware of missed opportunities, and worse, missed windows of opportunity.  The backlog of ideas just keeps growing, and, it's not a shortage of good or even great ideas, there is a shortage of execution.

    It's OK for bad ideas or lesser ideas to die a slow death, but it's a real shame when the game changers die due to lack of love.

    It's amazing how many ideas can flow when you know how to debottleneck your mind.  When I learned that Thomas Edison had an idea quota, I thought that was interesting.  You get what you measure, and you get more of what you focus on.  When I learned how to clear my head by dumping my state, and to capture ideas with a thought catcher, my speed of ideas outpaced my execution by a long shot.  As a Program Manager, I'm skilled in making things happen and going from idea to done ... but my pace of ideas outpaced what was possible within time, resource, and budget constraints.

    The solution?  Focus on the whitelist of great ideas, versus the blacklist ... Hit more windows of opportunity, ruthlessly prioritize, trade bad, good, or great for oustanding, and really focus on wins ... three wins for the day, three wins for the week, three wins for the month, three wins for the year. 

    We Feel the Impact
    This one is tough.  When you know what's possible from excellent execution, and when you know the power of productivity, it's actually painful when opportunities slip through your fingers.  When you can step into the future and you know how the world could be a better place, and yet at the same time, you know that without the right things happening, it's not going to happen ... it's tough.

    When you know that a lack of execution or lack of effective productivity will translate into businesses going under, or people losing their jobs, or evil winning the day, it's tough to rest.  On the flip side, when you know that giving a little more, and then a little more, can create powerful transformation, it's tough not to fight the good fight, and march onward and updward.

    Again, it can be tough to stop and smell the roses, and it can feel like the weight of the world on your shoulders.

    We Don't Always Keep Score
    We learn in school to focus on what we got wrong, not what we got right.  We forget to ask the simple questions like:

    - What's on my "Done" list?
    - What were my wins for the day?
    - What were my wins for the week?
    - What were my wins for the month?
    - What were my wins for the year?

    One of the people I mentor asked me if it was important to keep her "Done" list.  (A "Done" list is simply a list of things you completed during the day.)  I said, "Absolutely.  It's a reminder of what you achieved during the day.  And you can balance it against your three wins that you identified at the top of your list."

    The idea here is that, as simple as it sounds, a little progress can go a long way toward feeling productive, and feeling fulfilled.  Little lists help, even as simple as having a "Done" list for your day.

    We Have to Trim the Tree
    Periodically, we have to “Trim the Tree.”  We have to put the bags down, and start with a clean slate.  We need a fresh look, and a fresh perspective.  We need to recharge and renew.  We need to let our “mighty mounds of work-to-be-done”, crumble and fall, so we can build better, more meaningful mounds.  

    The reality is that time changes what’s important, and if we keep carrying the weight forward, it holds up back or holds us down.  We have to cut the dead wood.

    I like using a “Trim the Tree” metaphor because I think of trimming branches, beyond just leaves.  My goal is always to get back to the essential that matters … here and now … and to shape what will matter … so that the way forward is sustainable, inspiring, and lifts us in ways we know are possible.

    The goal – at the end of the day – is this …

    You need to be who you want to be, and create the experiences you want to create. 

    Your best strategy for that is to follow your personal strategy for work and life, including your vision, mission, and values, and playing to your strengths, and differentiating through your unique experience, capabilities, and approach.  We also know three paths of happiness you can follow:

    1. The Pleasant Life – Do more stuff that feels good now.
    2. The Good Life – Spend more time in your values.
    3. The Meaningful Life – Follow your personal path of fulfillment by doing great service for the greater good, giving your best where you have your best to give, and living your vision, mission, and values.

    When you combine strategy with your productivity, you help not only life your meaningful life, but you help lift the life of others, by bringing your unique value to the world.  Or, to put it another way, it’s a great way to build skills to pay the bills and lead a better life.

    I’ve baked many of these strategies and techniques from hard lessons learned in the most challenging scenarios into a simple system for meaningful results.  It’s Agile Results, and it’s introduced in my book, Getting Results the Agile Way.   You can read it free online, or get Getting Results the Agile Way on Kindle and take it with you wherever you go.

  • J.D. Meier's Blog

    Time Management Tips #14 - Dump Your State

    • 0 Comments

    Untitled

    When it comes to time management, one of the most common questions I get is, “How do you dump your state?”  Meaning, how do you dump what's on your mind to a place you trust, and how do you pick up where you left off?

    Time management tips #14 is dump your state.  Dumping your state helps you pick back up where you left off, and it frees your mind to focus on the tasks at hand.  It also helps you move up the stack.  After all, if your mind is filled with little unclosed loops, you are not at your most resourceful and creative best.

    When you have baggage of the brain, it's tough to focus. Your mind is busy circling back on the loops it hasn't closed.  It's also buzzing endlessly in the background to remind you of the things you should not forget.  All the mental chatter gets in the way of you having peace of mind, clarity of thought, and focused attention ... right here, right now.

    That's one scenario of why dumping your state matters.

    Another scenario where dumping your state matters is when we want to pick up from where we left off.  We spend all day working on a problem, building up state, but then we can't finish, so we have to park if for the day.  The problem is we want to be able to pick back up the next day, from where we left off.  Worse, sometimes we can't pick up back up the next day, and then all the state we built up starts to rot on the shelf of our minds, or decays in some place that we may never find again.

    So what can you do?

    It's very simple, and I call it brain dumps or "Session Dumps."  To do a “Session Dump”, just dump what's on your mind, down onto paper or onto a page, using your favorite system.  For me, sometimes this is an email that where I will dump my whiteboard fast, or I use Onenote to dump, or I use EverNote to dump plain text.  In most scenarios, I have notepad open on my desktop, and I constantly dump to it ... so instead of little insights or actions floating in my head, they are jotted down to where I can see and organize them.

    It might seem like an endless list in your mind, but you’ll be surprised that the more you dump, the less it is.  It gets faster too.   And thinking on paper is powerful.   When you see the list in front of you, you may very quickly realize what you can let go, and what you really need to hold on to.

    Here's the real trick though.  Since I do this daily, I found that the best approach is to simply "dump state" to a clean sheet each day, and to name it the current date.  For example, for today, I would title my Session Dump as follows:

    2012-08-02

    Naming my Session Dump by date means I never need to figure out a good title, and by keeping all of my dumps in one folder, it's easy for me to always find them.  I use that simple format because I can easily flip through in sequence.

    I have to let a lot of things go, so I can focus on the best opportunities and challenges that lie before me.  Time is always changing what’s important.  Having a rapid way to dump state or pick up where I left off is a big deal.  Now I never have to wonder where I dumped straggling ideas, or things that were percolating on my mind.

    At the end of the day, dump your state before you go home and see how much it frees you up.

    For free, self-paced modules on time management training, check out 30 Days of Getting Results.

    You Might Also Like

  • J.D. Meier's Blog

    Time Management Tips #15 - Make Lists for Action

    • 0 Comments

    Untitled

    Every time you have to remember what’s next to do, you waste your time.  You've heard of "paper shuffling."  This is like "thought shuffling."  You spend a lot of time shuffling your thoughts around, but not actually doing anything.

    Enter stage right … the power of lists.

    Time management tips #15 is make lists for action.  Use lists to organize and take more effective action.  Lists are your friend.  They help you organize your thoughts and ideas into action.  Pilots use checklists.  Sure they know what to do, but they also know that having the checklist helps free up their mind (specifically, their prefontal cortex).  Teams use inspection lists to drive quality, share processes, and share work.  Companies large and small use checklists for quality control and streamlining performance.

    You can use lists to streamline yourself, improve your own quality, and simplify your work.

    When you make your lists, test them against effectiveness.  Keep them as simple as possible, but make sure they help you.  Never become a slave to your list.  If your list gets too big, start a new one and carry the good forward.  Let things slough off.

    Here are some of the most useful lists to have, when it comes to organizing your work and guiding your action:

    1. TODO for Today.  List your goals and tasks for the day.  Tip – Add your Three Wins for Today at the top)
    2. TODO for the Week.  List your goals and tasks for the week.  Tip – Add your Three Wins for the Week at the top)
    3. List of Projects.  List of the actual projects you are working on.  Give them a name.
    4. One List Per Project.  Have one list for each project to dump outcomes, goals, insights, actions.  This gives you one place to look.
    5. Backlog.  All the stuff you think you need to do.  Tip – Organize this by A-Z so you can quickly scan and find duplicates, and it forces you to name things better.  Name your work so you can refer to it, talk about, and think about it more effectively.
    6. Ideas.  Your nifty ideas to change the world, or your world, or whatever.
    7. Irritation List.  List of the things that bug you.  Get it out of your head, and down onto paper.

    Another useful list is a quick list of the steps for a given task.  This can help you stay on track, or remember where you are, or easily find the next step.  The trick is not to over do this, or over-engineer your steps, or worse, forget to be flexible in your approach.  Focus on the goal, but stay flexible in how you achieve it.

    Goals are always your guide.

    Use lists to organize your work, organize your actions, and simplify your work and life.

    For free, self-paced modules on time management training , check out 30 Days of Getting Results, and for more time management tips check out Getting Results.com.

    You Might Also Like

  • J.D. Meier's Blog

    Time Management Tips #19 - Just Finish

    • 0 Comments

    Sometimes you need to Just Start.  Other times, you need to Just Finish.

    One of the best ways never to finish something, is to spread it out over time.  Time changes what's important.  People lose interest.  Changes of heart happen along the way.  Spreading things over time or pushing them out is a great way to kill projects.

    Open items, open loops, and unfinished tasks compound the problem.  The more unfinished work there is, the more task switching, and context switching you do.  Now you're spending more time switching between things, trying to pick up where you left off, and losing momentum.

    This is how backlogs grow and great ideas die.  This is how people that "do" become people that "don't."

    Time management tips #19 is just finish.  If you have a bunch of open work, start closing it down.  Swarm it.  Overwhelm your open items with brute force.  Set deadlines:
    - Today, I clear my desk.
    - Today, I decide on A, B, or C and run with it.
    - Today, I close the loop.
    - Today, I solve it.
    - Today, I clear my backlog.

    If you want to finish something, then “own” it and drive it.  To finish requires ruthless prioritization.  It requires relentless focus.  It requires putting your full force on the 20% of the things that deliver 80% of the value.  It requires deciding on an outcome and plowing through until you are done.

    Stop taking on more, until you finish what's on your plate.  If you want to take on more, then finish more.  The more you finish, the better you get.

    The more you finish, the more you will trust yourself to actually complete things.

    The more you finish, the more others will trust you to actually take things on.

    The more you finish, the more you build your momentum for great results.

    For time management skills , check out 30 Days of Getting Results, and for a time management system check out Agile Results at Getting Results.com.

    You Might Also Like

Page 40 of 45 (1,105 items) «3839404142»