J.D. Meier's Blog

Software Engineering, Project Management, and Effectiveness

  • J.D. Meier's Blog

    Lessons Learned in 2008

    • 5 Comments

    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

    • Adapt, adjust, or avoid situations. Learn how to read situations. Some situations you should just avoid.  Some situations you should adapt yourself, as long as you play to your strengths.  Some situations you should adjust the situation to set yourself up for success.  See The Change Frame.
    • Ask questions over make statements.  If you want to get in an argument, make statements.  If you want to avoid arguments, ask questions.
    • Character trumps emotion trumps Logic.  Don’t just go for the logical win.  Win the heart and the mind follows.  Build rapport.  Remember the golden rule of “rapport before influence.  Have the right people on your side.   If you win the right pillars first, it’s a domino effect.  It’s part of social influence.  See Character Trumps Emotion Trumps Logic.
    • Develop a routine for exceptional thinking.  Create a preperformance routine that creates consistent and dependable thinking.  Work backwards from the end in mind.  Know what it’s like when you’re at your best.  Model from your best experiences.  Success leaves clues.  Turn them into a routine.  Set time boundaries.  Don’t let yourself take as long as it takes.  Work has a way of filling the available hours. Set a timebox and improve your routine until you can shift gears effectively within your time boundaries.  See Design a Routine for Exceptional Thinking.
    • Give your best where you have your best to give.   Design your time to spend most of your time on your strengths.  Limit the time you spend in your weaknesses.   Play to your strengths.  When you play to your strengths, if you get knocked down, it’s easier to get up again.  It’s also how you unleash your best.  See Give Your Best Where You Have Your Best to Give.
    • Label what is right with things.  There’s been too much focus on what’s wrong with things.  Find and label what’s right with you.  We all have a deep need to know what’s right with us.  Shift from labeling what’s wrong, to labeling what’s right. See Label What is Right with Things.
    • One pitch at a time.  Focus on one pitch at a time.  Hook on to one thing.  Be absorbed in the moment, no matter what’s at stake.  Let results be the by-product of what you’re doing.  Don’t judge yourself while you’re performing.  Don’t rearrange your work; rearrange your focus.  See One Pitch at a Time.
    • Spend 75 percent on your strengths.  Very few people spend the majority of their time on their strengths.  Create timeboxes for your non-negotiables.  You’re not your organization’s greatest asset until you spend your time on your strengths.  Activities that you don’t like, hurt less, if you compartmentalize them to a smaller chunk of your day.  See Spend 75 Percent on Your Strengths.
    • Ask Solution-focused questions.   Ask things like “how do we make the most of this?” … “what’s the solution?” … “if we knew the solution, what might it be?”  Believe it or not, a lot of folks get stuck unless you add the “if you did know the solution …” or “what might it be?”  See Solution-Focused Questions.
    • Use stress to be your best.  It’s not what happens to you, it’s what you make of it.  Distinguish stress from anxiety.  Stress is your body’s response.  Anxiety is your mind’s response.   See Use Stress to Be Your Best.
  • J.D. Meier's Blog

    Grady Booch on the Microsoft Application Architecture Guide 2.0

    • 4 Comments

    Grady Booch blogged about our patterns & practices Application Architecture Guide 2.0, which is our Microsoft playbook for the application platform.  It's a thoughtful post and he obviously took the time to figure out the structure of the guide.   The guide is probably particularly relevant for him since he's working on his Handbook of Software Architecture.

    Booch on the Application Architecture Guide 2.0
    Here's what Booch has to say:

    "I find this work to be very interesting (and useful). Architecture is all about making significant design decisions, and this guide focuses on a number of such decision points, including caching, communication, concurrency and transactions, configuration management, coupling and cohesion, data access, exception management, layering, logging and instrumentation, state management, structure, validation, and workflow (collectively, Microsoft calls these "architectural frames"). Full of best practices and patterns, I particularly liked the enumeration of architectural styles the authors have collected: client-server, component-based, layered, message-bus, model-view-controller, n-tier, object-oriented, and service-oriented. Congruent with these styles is their concept of application archetypes, which include mobile, rich client, rich internet, services, and web. Combine the these styles and archetypes, and you have an interesting language for describing a large class of applications. While I don't necessarily agree that these styles and archetypes are orthogonal (nor are the lists complete) for the general domain of software architecture, for Microsoft's purposes, these styles offer an excellent operating model into which one can apply their patterns and practices."

    For whatever reason, I can't figure out how to link to the individual post, so I'm linking to the page that includes Grady's post on the Microsoft Application Architecture Guide.

    My Take
    I agree with Grady that the list of application archetypes and arch styles is not complete (at least the versions that we've shared online).  We only shared a subset.  We do have some pretty rich Mind Maps that are more exhaustive, but they're somewhat unwieldy.  It's a trade-off.

    We basically forked the app types.  The app types that we shared are optimized around technical types that customers quickly identify with.  We also have a set of business types, but the problem is these are more long-tail and there was less agreement on naming.  Worse, customers couldn't quickly identify with them.  There was a slight learning curve.  I think we can potentially tune them and share them downstream, more as a visual catalog.

    On the arch styles, they're not necessarily orthogonal, but we found it helpful to first identify the overall app type (web, RIA, ... etc.) and then shape the app with the arch styles.  For precision, I think of the architecture styles as sets of principles that shape an important dimension of the application (such as deployment, structure, domain, communication ... etc.)  It's like a bunch of martial arts systems for different styles of fighting.  They have their pros and cons, but you can only evaluate them in context and measure effectiveness.

    Key Take Aways
    Here's my key take aways:

    • Architecture Frames.  The arch frames are useful for cataloging the patterns and practices into actionable categories: caching, communication, concurrency ... etc.
    • Architecture Styles.  The arch styles include client-server, component-based, layered, message-bus, model-view-controller, N-tier, object-oriented, and service-oriented.
    • Application Archetypes.  The application archetypes are a language for describing classes of apps: mobile, rich client, RIA, services and Web.

    Someday, I'd like to synch with Grady and show him all the stuff we haven't exposed at this time, including our technical capability maps, pattern capability maps, application patterns, quality attribute maps, ... etc.  While a lot of it is half-baked, we have some good foundations for elaboration.  Unfortunately, there's only so much we could share in a six month project where the dominant focus is writing a book.

  • J.D. Meier's Blog

    Jack Canfield Speaks at Microsoft

    • 1 Comments
    JackCanfield

    I posed my Lessons Learned from Jack Canfield on Sources of Insight.  Jack presented to Microsoft earlier in October.  He's the author of many successful books including Chicken Soup for the Soul and The Success Principles.  He holds the Guinness Book World Record for having seven books simultaneously on the New York Times Bestseller List.  Impressive!

    I ended up taking a lot of notes, way more than I expected.  He had a good way of boiling down some key insights.   I liked the fact that I didn't have any expectations going in, since I didn't actually realize who he was at first.  This meant that I was purely judging the session by results and with an open mind.

    We shook hands and spoke briefly.  I'm glad I got to meet him.  The more I research his work, the more I'm impressed.  He's obviously dedicated a lot of his life to studying and sharing success, and he's a top success coach and presenter.

    My Related Posts

  • J.D. Meier's Blog

    Character Trumps Emotion Trumps Logic

    • 1 Comments

    One of the simplest ways to improve your effectiveness is to know the pecking order of persuasion.  I wrote a post on Sources of Insight about how character trumps emotion trumps logic.  This is a pretty important piece of information, considering it impacts how well you influence your peers, your kids, your manager, your stakeholders or anyone, really.

    To bottom line it, if your arguments based on data aren't working, consider that if you win the heart, the mind follows, and that who you have on board can make all the difference in your success.  Change your approach and you'll be surprised by the results.  One simple thing you can do is use more metaphors to make your points.  Visual words stick more and they help bring some emotion to the table.  Choose carefully, of course.

  • J.D. Meier's Blog

    Know Your learning Styles

    • 1 Comments

    This is for all you life-long learners out there.  If you know your learning styles, you can improve your results.  You can also improve your interaction with others.  This is something that shows up everyday, but you might not be aware of it.  I posted an article on the key learning styles and how you can use them on Sources of Insight.

    Here's a summary of the key styles

    • Concrete Random - You want specifics, but you don't care about the order of the information.
    • Concrete Sequential - You want specifics and you want it in a linear, logical fashion.
    • Abstract Random - Generalities and abstractions are fine and you could care less whether this is the beginning, middle or the end of the story.
    • Abstract Sequential - Generalities and abstractions are fine, but you want them to have a sequential flow.

    As with any lens, we're all a mix of styles and it's a continuum so the key is to know your preferences and the preferences of others. 

    If you've ever seen an architect and developer locked in a debate, you might just be experiencing a conflict between abstract and concrete.  If you've ever had a hard time making your point, maybe you were hopping around randomly when you needed to be sequential.  If you've ever bored the wits out of somebody, maybe you just needed to hop around to the good stuff instead of making them follow your path over the river and through the woods, just to get to Grandma's house.

    Enjoy!

  • J.D. Meier's Blog

    The Zen of Results and Evernote

    • 4 Comments

    I tested Evernote with my time management system, The Zen of Results.  Evernote is like ITunes for knowledge.  Check out how easily The Zen of Results fit with Evernote:

    EvernoteAndTheZenOfResults

    It took me under 5 minutes from start to finish.  It was intuitive and friction free.  One of the keys to effective time management techniques is getting rid of friction, otherwise it's death by a 1000 paper cuts in the long run.  I expected some learning curve or some issues, so I was pleasantly surprised.  Maybe I'll be unpleasantly surprised later, but so far so good.

    Results
    The quick test was a success:

    • I found it very easy to create folders and lists – just like I do on my hard-drive and in Outlook. 
    • I like the idea that it’s an online/offline system.  It's a S+S (software plus services) application.
    • You can tag stuff too. 
    • It’s nice and crisp.

    Notebook Summary
    Here's a summary of the notebooks I created in Evernote for The Zen of Results:

    • Vision / Mission / Values - my internal compass.
    • Outcomes - my overall big picture accomplishments.

    Action

    • To Dos - my daily outcomes – the value I bite off for the day.
    • Queue - my list for each project and my backlog of pending stuff.
    • Weekly Outcomes - my “Monday Vision” for the week’s planned results.  It sets the weekly forest from the monthly trees.

    Reference

    • Notes - any random dumps from links to whatever.
    • Thoughts - my little “ah has” or ideas – it’s a thought catcher.
    • Sessions - my running dumps where I’ll dump my notes from stickies or notes from the day (I keep a notepad file open so I always have a place to dump my brain without wasting think time)

    Checklists / Scripts

    • Checklists - my checklists ;)
    • Scripts - my step by step instructions – for anything from a routine to an “improvement script” that I cycle through to improve.

    Improvement / Results

    • Results Log - my daily log of stuff I accomplished.  I only use it if I get in stuck mode or feel like I’m thrashing or churning or just don’t feel good about accomplishment.
    • Monthly results - my monthly snapshot of results – a simple bulleted list of things I did.  Perfect for reviews and for sending to management each month.
    • Lessons Learned - my distillations on projects or from other people – it’s whenever I do the exercise.

    My Related Posts

  • J.D. Meier's Blog

    Personal Development Books

    • 1 Comments

    I created a list of my favorite personal development books on Sources of Insight.   I'm a fan of continuous learning with an emphasis on personal excellence.  This includes working on interpersonal skills, leadership skills, thinking skills ... etc.  Basically, I'm on a quest for the best principles, patterns, and practices for effectiveness and books end up being one of my primary sources.  To find the best books, I ask the smartest people I know what their favorite book is that had an impact on their life.  It leads me to some interesting discoveries and down some fun paths.

    What's your favorite book that changed your life?

  • J.D. Meier's Blog

    Application Architecture Guide 2.0 Final Release

    • 14 Comments

    We released our final release of the patterns & practices Application Architecture Guide 2.0 on Codeplex.  It's the "Microsoft playbook for application architecture."  This is our guide to help solution architects and developers make the most of the Microsoft platform.  It's a distillation of many lessons learned.  It’s principle-based and pattern-oriented to provide a durable, evolvable backdrop for application architecture.  It's a collaborative effort among product team members, field, industry experts, MVPs, and customers.

    Key Links

    Key Changes Since Beta 2

    • Added a foreword by Scott Guthrie.
    • Incorporated feedback from internal and external reviewers.
    • Tuned and pruned the recommendations across the entire guide.

    Architecture Meta Frame (AMF)
    The Architecture Meta Frame integrates context, application types, architecture styles, and an architecture frame to help map out the application architecture space. 

    ArchitectureMetaFrame

    The Architecture Meta Frame serves as a durable, evolvable backdrop for the guidance in the patterns & practices Application Architecture Guide 2.0.

    Key Scenarios for the Guide

    • Choose the right architecture for your application.
    • Choose the right technologies.
    • Make more effective choices for key engineering decisions.
    • Map appropriate strategies and patterns.
    • Map relevant patterns & practices solution assets.

    Key Features of the Guide

    • Canonical Application Frame.  Describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer is described in terms of its focus, function, capabilities, common design patterns and technologies.
    • Application Types.  Canonical application archetypes to illustrate common application types.  Each archetype is described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype will be mapped to the canonical app frame. They are illustrative of common app types and not comprehensive or definitive.
    • Architecture Frame.  A common set of categories for hot spots for key engineering decisions.
    • Quality Attributes.  A set of qualities/abilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.
    • Principles, patterns and practices.  Using the frames as backdrops, the guide overlays relevant principles, patterns, and practices.
    • Technologies and capabilities.  A description and overview of the Microsoft application development platform and the main technologies and capabilities within it.

    Team
    Here's the team that brought you this guide:

    • Core Dev Team: J.D. Meier , Alex Homer, David Hill, Jason Taylor , Prashant Bansode , Lonnie Wall, Rob Boucher Jr, Akshay Bogawat
    • Test Team - Rohit Sharma, Praveen Rangarajan
    • Edit Team - Dennis Rea.

    Contributors / Reviewers
    One of our themes throughout the guide was "Stand on the shoulders of giants."  We leveraged a lot of experts inside and outside of Microsoft:

    • External Contributors/Reviewers - Adwait Ullal; Andy Eunson; Brian Sletten; Christian Weyer; David Guimbellot; David Ing; David Weller; Derek Greer; Eduardo Jezierski; Evan Hoff; Gajapathi Kannan; Jeremy D. Miller; John Kordyback; Keith Pleas; Kent Corley; Mark Baker; Paul Ballard; Peter Oehlert; Norman Headlam; Ryan Plant; Sam Gentile; Sidney G Pinney; Ted Neward; Udi Dahan
    • Microsoft Contributors / Reviewers - Ade Miller; Amit Chopra; Anna Liu; Anoop Gupta; Bob Brumfield; Brad Abrams; Brian Cawelti; Bhushan Nene; Burley Kawasaki; Carl Perry; Chris Keyser; Chris Tavares; Clint Edmonson; Dan Reagan; David Hill; Denny Dayton; Diego Dagum; Dmitri Martynov; Dmitri Ossipov; Don Smith; Dragos Manolescu; Elisa Flasko; Eric Fleck; Erwin van der Valk; Faisal Mohamood; Francis Cheung; Gary Lewis; Glenn Block; Gregory Leake; Ian Ellison-Taylor; Ilia Fortunov; J.R. Arredondo; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Luke Nyswonger; Manish Prabhu; Meghan Perez; Mehran Nikoo; Michael Puleio; Mike Francis; Mike Walker; Mubarak Elamin; Nick Malik; Nobuyuki Akama; Ofer Ashkenazi; Pablo Castro; Pat Helland; Phil Haack; Reed Robison; Rob Tiffany; Ryno Rijnsburger; Scott Hanselman; Seema Ramchandani; Serena Yeoh; Simon Calvert; Srinath Vasireddy; Tom Hollander; Wojtek Kozaczynski
  • J.D. Meier's Blog

    Quitting and Sticking More Effectively

    • 0 Comments

    Are you the best at what you do?   Could you be the best at something else?  How do you know when to hold'em?  How do you know when to fold'em?

    The Gambler teaches us:

    "You got to know when to hold 'em, know when to fold 'em.
    Know when to walk away, and know when to run."

    ... But where's the prescriptive guidance?  Luckily, there's Seth Godin and The Dip.  In the book, the Dip, Seth teaches us:

    "Winners quit fast, quit often, and quit without guilt -- until they commit to beating the right Dip for the right reasons.  In fact, winners seek out the Dip.  They realize that the bigger the barrier, the bigger the reward for getting past it.  If you can become number one in your niche, you'll get more than your fair share of profits, glory, and long-term security.  Losers, on the other hand, fall into two basic traps.  Either they fail to stick out the Dip - they get to the moment of truth and then give up - or they never even find the right Dip to conquer."

    I wrote up my Lessons Learned from the Dip on Sources of Insight.

  • J.D. Meier's Blog

    Jason Taylor on The Zen of Results

    • 0 Comments

    Jason shares how he implements the Zen of Results workflow as well as a dialogue around some sticking points with his team.  Jason's one of the most effective people I know and his insights are always crisp and actionable. 

    Here's my key take aways:

    • Free yourself from your tasks to focus on delivering real value.
    • Be mindful of your results.
    • Avoid becoming attached to your backlog.  Time changes what's important.
    • Use the weekly cycle and reflection to improve your ability to execute.
    • Reprioritize, delegate, and defer.
    • Watch out for common binds - randomization, poorly planned objectives, fuzzy priorities.
    • Create a workflow that revolves around delivering value, not completing tasks.
    • if you're not hitting your goals, figure out why - don't spiral into the pit of despair.
    • Results build momentum.

    Additional Resources

    My Related Posts

  • J.D. Meier's Blog

    Why Do You Do What You Do?

    • 1 Comments

    One of the keys to making impact is knowing "why" you do what you do?  Chasing the "what" can be a red herring.  It's living your"why" and "how" that helps you be your best and it's where your inner strength comes from.  Most importantly, it's where you give your best where you have your best to give.  One of the tools for figuring out why you do what you do is the Golden Circle.  You can watch this video interview with Simon Sinek on the Golden Circle for an overview.   I also shared my Golden Circle results in my post, Why Do You Do What You Do? on Sources of Insight as both a reminder and inspiration.  Enjoy!

  • J.D. Meier's Blog

    Personal Productivity Quotes

    • 1 Comments

    I shared a set of personal productivity quotes on Sources of Insight.   There's some classics from Bruce Lee, Lao Tzu, Peter Drucker, Tony Robbins, and more.  I framed the quotes for quick browsing.  There's buckets for action, focus, time management and more.  Enjoy!

  • J.D. Meier's Blog

    The Zen of Results Free E-Book

    • 12 Comments
    TheZenOfResultsEBook

    Personal productivity is one of my passions.  As one of my little experiments while I'm out of the office, I put together The Zen of Results E-Book.  I turned a slide deck into a PDF to see if it makes it easier to share.  It's brief (17 pages) and quick to flip through.  More importantly though, it captures the heart of how you can improve your productivity, in a principle and pattern based way.  It's a lightweight approach and it's easy to tailor for your situation. 

    The Approach in a Nutshell
    Here's the keys to the approach:

    • Scannable outcomes to guide your activities and tasks.
    • Life frame to organize and balance the important hot spots in your life.
    • Monday Vision, Daily Outcomes, Friday Reflection to guide your week.
    • Daily Outcomes to  guide your day.

    Thoughts on Productivity
    I'm not a fan of productivity for productivity's sake.  Instead, I care that I'm working on the right things,  I care that the time I spend working, is as efficient and effective as possible.  I also care that I can carve out time in a way to achieve work/life balance.  I care more about outcomes than activities and I work backwards from the end in mind.  To put it another way, I put more emphasis on learning, improving, and enjoying, than simply going through the motions or putting in my time.   I'll also add -- I like my downtime and my free time ;)

    What The Zen of Results is Based On
    I'd like to say it's based on Getting Things Done, but somehow we just never crossed-paths.  Instead, it's born from a combination of the school of hard knocks, masters at Microsoft, software development practices, and my mentoring experience.   when I first joined Microsoft, I was overwhelmed.  I was on a sink or swim team with lots of trials by fire.  I wanted to swim.  Long story short, I learned from anyone and everyone around me.  In fact, I started seeking out people in the company and comparing email practices, storing information, and how to become more effective.  I learned a lot.

    Software Engineering Meets Project Management Meets Productivity
    When I joined patterns & practices some years ago, a few things happened.  I had to figure out project management in the context of a competitive environment where the ultimate judge is results.  Not just the results of what you produce, but how you produce results.  How many dead bodies and what sort of wake do you leave behind? 

    Meanwhile, Agile was becoming increasingly pervasive and I had the benefit of working with folks like Ward Cunningham and Peter Provost.  They taught me lot about the principles and concepts behind Agile.  Somewhere along the way, I had figured out how to catalog, manage, and prioritize an endless stream of potential activity from various sources: my teams, my manager, my inbox, my head. 

    I learned that improving an hour, improved a day, improved a week, improved a month.  I learned the value of sharing lessons learned.  I learned the value of biting off what you could chew.  I learned that it's better to finish what's on your plate and go up for seconds versus overflow your plate up front.  I weaved in my timeboxing lessons from performance and my compartmentalizing lessons from security. 

    I used my lessons from my manager to focus on strengths over weaknesses to keep a high level of energy.  Bottom line, the sum is more than the parts, but it's an integration of software development, project management and personal productivity with an emphasis on meaningful work for a meaningful life ... by design (that's my inner engineer talking).

    Enjoy!

  • J.D. Meier's Blog

    Lessons Learned in Product Management on Shaping Software

    • 1 Comments

    I have a guest post at Shaping Software by Rick Samona on Lessons Learned in Product Management.  Rick's actually one of the most effective Microsoft product managers I know.  I had the pleasure of working with Rick on several security projects, including our .NET Framework Security Guidance Project, patterns & practices Security Engineering Explained, and patterns & practices Threat Modeling Web Applications.

  • J.D. Meier's Blog

    Out for December

    • 4 Comments

    Just a quick note -- I'm out of the office through December.  Here's what I'm up to:

    • Improving Sources of Insight.  That's where I share my lessons learned from books, quotes and people for improving effectiveness for mind, body, career, financial, relationships, and fun.
    • Improving Shaping Software.  That's where I share my lessons learned on software success.
    • Improving my body.  I'm running Monday through Friday and taking Pilates.  I'll be working on my flexibility and kicks too (from Kick Boxing)
    • Improving my mind.  I'm reading some stuff that's supposed to make me smarter.  I'll test how well it works when I'm back at work ;)
    • Testing my limits.  It's the end of the year, so it's a good time to see where I'm waxing and where I'm waning and where I might want to retool.
    • Writing books. This is more of an experiment, but a promising one.  I'm attempting to crack the nut on human potential.  How anybody can go from ordinary to extraordinary.  I'm chunking the problem down and focusing on personal productivity.  I'd like to see more people unleash their potential.  I'm distilling the best of what I've learned for getting results.  It's early, but I think I'm on to something.  This can seriously change people's lives.
    • Slacking.  I'm a fan of downtime and I like a lot of movies ;)

    Meanwhile, back at the ranch, you can follow along the Application Architecture Guide 2.0 project at the following sites:

  • J.D. Meier's Blog

    Pocket Guide Series for Application Architecture

    • 5 Comments
    Agile Architecture Method Pocket Guide
    Our Application Architecture Pocket Guides are available from our Application Architecture KB.  Our pocket guides are based on our Application Architecture Guide 2.0.   We prioritized an initial set of pocket guides based on customer demand for focused content on specific topics.

    Pocket Guides
    Here’s the Pocket Guides available so far:

    You can browse the list of pocket guides on the Pocket Guide Index page.

  • J.D. Meier's Blog

    Agile Architecture Method Pocket Guide

    • 9 Comments
    Agile Architecture Method Pocket Guide
    We posted our Agile Architecture Method 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:

    • Ch 01 - Agile Architecture Method
    • Ch 02 - Step 1 - Identify Objectives
    • Ch 03 - Step 2 - Identify Key Scenarios
    • Ch 04 - Step 3 - Application Overview
    • Ch 05 - Step 4 - Key Hot Spots
    • Ch 06 - Step 5 - Candidate Solutions
    • Ch 07 - Reviewing Your Architecture
    • Ch 08 - Communicating Your Architecture

    Download

    My Related Posts

  • J.D. Meier's Blog

    Web Application Architecture Pocket Guide

    • 12 Comments
    Web Architecture Pocket Guide
    We posted our Web Application 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:

    • Ch 01 – Web Application Architecture
    • Ch 02 - Design Guidelines
    • Ch 03 - Presentation Layer Guidelines
    • Ch 04 - Business Layer Guidelines
    • Ch 05 - Data Access Layer Guidelines
    • Ch 06 - Service Layer Guidelines
    • Ch 07 - Communication Guidelines
    • Ch 08 - Deployment Patterns

    Download

    My Related Posts

  • J.D. Meier's Blog

    Mobile Application Architecture Pocket Guide

    • 7 Comments
    Mobile Architecture Pocket Guide
    We posted our Mobile Application 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:

    • Ch 01 – Mobile Application Architecture
    • Ch 02 – Architecture and Design Guidelines
    • Ch 03 - Presentation Layer Guidelines
    • Ch 04 - Business Layer Guidelines
    • Ch 05 - Data Access Layer Guidelines
    • Ch 06 - Service Layer Guidelines
    • Ch 07 - Communication Guidelines
    • Ch 08 - Deployment Patterns

    Download

    My Related Posts

  • J.D. Meier's Blog

    RIA Architecture Pocket Guide

    • 8 Comments
    RIA Architecture Pocket Guide
    We posted our RIA 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:

    • Ch 01 - RIA Architecture
    • Ch 02 - Design Guidelines
    • Ch 03 - Presentation Layer Guidelines
    • Ch 04 - Business Layer Guidelines
    • Ch 05 - Data Access Layer Guidelines
    • Ch 06 - Service Layer Guidelines
    • Ch 07 - Communication Guidelines
    • Ch 08 - Deployment Patterns

    Download

    My Related Posts

  • J.D. Meier's Blog

    Rich Client Application Architecture Pocket Guide

    • 5 Comments
    Rich Client Architecture Pocket Guide
    We posted our Rich Client Application 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:

    • Ch 01 - Rich Client Application Architecture
    • Ch 02 - Architecture and Design Guidelines
    • Ch 03 - Presentation Layer Guidelines
    • Ch 04 - Business Layer Guidelines
    • Ch 05 - Data Access Layer Guidelines
    • Ch 06 - Service Layer Guidelines
    • Ch 07 - Communication Guidelines
    • Ch 08 - Deployment Patterns

    Download

    My Related Posts

  • J.D. Meier's Blog

    Service Architecture Pocket Guide

    • 6 Comments
    Service Architecture Pocket Guide

    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:

    • Ch 01 - Service Architecture
    • Ch 02 - Designing Services
    • Ch 03 - Service Layer Guidelines
    • Ch 04 - Communication Guidelines
    • Service Layer Checklist

    Download

    My Related Posts

  • J.D. Meier's Blog

    Application Architecture Visios Now Available

    • 12 Comments

    We added our Application Architecture Diagrams (Visios) to our Application Architecture Knowledge Base (KB) on CodePlex.  You can download the Visios and customize for your own presentations or documents.

    Application Architecture Figures
    Here’s the figures available:

    • Architecture Meta Frame (AMF)
    • User, Business, and System Perspectives
    • Agile Architecture Method
    • Layered Architecture
    • Layered Architecture with Services Layer
    • Layered Architecture with Multi-Clients / Multi-Channel
    • Web Application Archetype
    • Mobile Application Archetype
    • Rich Internet Application (RIA) Archetype
    • Rich Client Archetype
    • Service Archetype

    Architecture Meta Frame (AMF)

    Architecture Meta Frame

    User, Business, System Perspectives

    User Business System

    Agile Architecture Method

    Agile Architecture Method

    Layered Architecture

    Layered Architecture

    Layered Architecture with Services Layer

    Layered Architecture with Services Layer

    Layered Architecture with Multi-Client / Multi-Channel

    Layered Architecture with Multi-Client 

    Web Application Archetype

    Web Application Archetype

    Mobile Application Archetype

    Mobile Application Archetype

    Rich Internet Application (RIA) Archetype

    RIA Application Archetype

    Rich Client Archetype

    Rich Client App Archetype

    Service Archetype

    Service Archetype

  • J.D. Meier's Blog

    Architecture Meta Frame Cheat Sheet

    • 1 Comments

    We posted our Architecture Meta Frame Cheat Sheet to CodePlex as part of our Application Architecture Knowledge Base.   The Architecture Meta Frame (AMF) is a lens to help you quickly navigate the application architecture space.  You can think of it as bringing together some of the important factors that shape applications.  You can also use it as a way to help find hot spots for focusing your architecture efforts.

    Architecture Meta Frame (AMF)
    The Architecture Meta Frame integrates context, application types, architecture styles, and an architecture frame to help map out the application architecture space.

    ArchMetaFrame

    The Architecture Meta Frame serves as a durable, evolvable backdrop for the guidance in the patterns & practices Application Architecture Guide 2.0.

    Key Features of the Architecture Meta Frame
    Here’s a summary of the Architecture Meta Frame:

    • Scenarios. Application scenarios tie architecture solutions to the real world scenarios that impact your application design.
    • Quality Attributes. Quality attributes represent cross-cutting concerns that apply across application types, and should be considered regardless of architecture style. Security, performance, maintainability, and reusability are examples of quality attributes.
    • Requirements and Constraints. Requirements and constraints narrow the range of possible solutions for your application architecture problems.
    • Application Types. Application types categorize the major application technology stacks on the Microsoft platform. Examples of application types include Mobile, Rich Internet Application (RIA), Services Application, and Web Application.
    • Architecture Styles. An architectural style is a collection of principles that shapes the design of your application. Many of these styles overlap and can be used in combination. Architectural styles tend to be tied both to the application type as well as to the point in time in which the application was developed.
    • Architecture Frame. The architecture frame is a collection of hot spots you can use to analyze your application architecture. This helps you turn core features such as caching, data access, validation, and workflow into actions.

    You can read more about the Architecture Meta Frame in Cheat Sheet – Architecture Meta Frame (AMF) on CodePlex.

    My Related Posts

  • J.D. Meier's Blog

    patterns & practices Reference Application Architecture Cheat Sheet

    • 2 Comments

    We posted our patterns & practices Reference Application Architecture Cheat Sheet on CodePlex.  It’s an overview of a layered architecture, including an brief explanation of each layer and the relevant components.

    Layered Architecture at a Glance
    Here’s a figure that shows the layers and components:

    RefArch

    Layers
    Here’s a brief summary of the layers:

    • Presentation Layer - Presentation layer components implement the functionality required to allow users to interact with the application.
    • Business Layer - Business layer components implement the core functionality of the system, and encapsulate the relevant business logic.
    • Data Layer - Data layer components provide access to data that is hosted within the boundaries of the system, and data exposed by other back-end systems.
    • Services Layer - Services layer components provide other clients and applications with a way to access business logic in the application, and make use of the functionality of the application by passing messages to and from it over a communication channel.

    Components
    Here’s a listing of the key components for each layer:

    Presentation Layer Components

    • User Interface (UI) components
    • UI process components

    Business Layer Components

    • Application facade
    • Business components
    • Business workflows
    • Business entity components

    Data Layer Components

    • Data access components
    • Data helper and utility components
    • Service agents

    Services Layer Components

    • Service Interfaces
    • Message Contracts

    You can read more about the components in our Cheat Sheet – Reference Application Architecture.

    My Related Posts

Page 29 of 43 (1,074 items) «2728293031»