User Driven Software Architecture

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    4 Favorites

    User Driven Software Architecture - Presentation Transcript

    1. User Driven Software Architecture Simon Guest Senior Director Platform Architecture Team Microsoft Corporation
    2. “ What is Architecture?”
    3. “ Architecture is the balance between art and engineering”
    4. But does this apply to Software Architecture?
    5. Engineering Concerns SOA ESB Web Services Transactions ORM Replication etc.
    6. What is the art in Software Architecture?
    7. User Experience Often Comes Last
    8. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
    9. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
    10. User Experience Often Comes Last Source: www.userinterfacehallofshame.com
    11. Well understood environment… … with bright people… … and stable business model
    12. … and we’d never get funding I’m not very good at UI stuff… … our users are smart enough…
    13. “ What did I do wrong?”
    14. New Perspective
    15. New Perspective As architects and developers, we are in a position to affect user experience
    16.  
    17. “ Was this application really designed for me?” “ Why doesn’t this application help me get my work done?” “ If it wasn’t for this application, I’d do stuff differently”
    18. Personas Purpose Prototype Ideas
    19. Personas Purpose Prototype Ideas “ I use a similar application at home, and that works” “ Should I have read the manual?” “ The performance of this application sucks!”
    20. Personas Performance Productivity Purpose Prototype Platform Interface Ideas
    21. Personas Performance Productivity Purpose Prototype Platform Interface Ideas “ Err.. How long did you guys spend developing this?” “ I don’t think it installed properly…” “ Excuse me! I have a suggestion…”
    22. Personas Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals
    23.  
    24.  
    25. Know Thy User For He Is Not Thee Questions and Quote, Source: Why Software Sucks [2006], David Platt
    26. Definition of a “user”
    27. “ This would be quicker to develop as a Web Application. Users will understand how to use this.”
    28. “ Yeah, most users will have access to a printer from their desk…”
    29. “ Of course this button should be red. Users will know that this means danger.”
    30. Think instead using Personas
      • Sally (Sales Professional)
      • 38, Married
      • 2 Children
      • 5 years of computer experience
      • Windows, Office, PowerPoint
      • Has between 10 and 20 SME clients
      • Uses Sony Vaio and Samsung Blackjack
      • “ Keep me connected to the top issues that customers are calling in with”
      • Derek (Call Center Operator)
      • 25, Single
      • 9 years of computer experience
      • 3 years of which in a call center
      • PDA/gadget junkie – “lifehacker”
      • Relies on call center application
      • Gets bonus if exceeds monthly quota
      • “ I want the application to decrease my time spent per call”
      • Jim (Call Center Executive)
      • 57, Married
      • 4 Children, all left home
      • Very limited computer experience
      • Brenda (his admin) used to print all his Email until very recently
      • Shows off his PDA on the golf course
      • “ I want the high level, abstract view of my customers”
    31. “ For Sally , a Web Interface may make sense. But Derek has a lot of keyboard shortcuts we need to implement.”
    32. “ Jim will have access to a printer via his admin, but Sally works on the road, so may need another option”
    33. “ For Jim , a red button may mean danger, but we should check for Derek in our offshore call center”
    34. Takeaways Source: Persona Lifecycle [Pruitt, Adlin] Morgan Kaufmann Do you use personas today? If so, how many? (3 – 7 personas per application is recommended) How do you use the word “user”? (Think about personas to help define who you are writing the application for) Do you know how Microsoft uses personas? (Use “Persona Lifecycle” for VSTS related personas)
    35.  
    36.  
    37. Create new document Type text Format the text Email to editor
    38. Create new document Type text Format the text Email to editor Task Task Task Task Goal
    39.  
    40. Create new document Type text Format the text Email to editor Task Task Task Task Filter
    41. Create new document Type text Format the text Email to editor Task Task Task Task Guess the Goal
    42.  
    43. Create new document Type text Format the text Email to editor Task Task Task Task Apply Context Apply Context Apply Context
    44.  
    45.  
    46.  
    47. Source: www.devcomponents.com
    48. Takeaways In use cases, how do you deal with tasks and goals? (Focus on the difference between the two) How do you use context in your applications? (Use context to help guide the experience) Could the Office UI be suitable for your application? (Refer to the list of ISVs supporting controls)
    49.  
    50.  
    51. You want to build a house… You hire a building architect… You discuss requirements…
    52. A prototype is created
    53. 12 months later…
    54. You want to build a house… You hire a software architect… You discuss requirements…
    55. Yeah, sorry, I don’t have much to show you right now…
    56. I can show you some diagrams, but you won’t understand them.
    57. But trust me – it’s going to be great!
    58. 12 months later…
    59. In Software Architecture we don’t do enough prototyping
    60. Static, one-way presentations (shown only to management) Few re-usable design assets Often different to what gets delivered
    61. Great for Management!
      • Looks almost done
      • But…
      • Users won’t give you much feedback…
      • High Fidelity
      • “ Just sign here…”
    62. Great for Users!
      • Great for user feedback
      • But…
      • You wouldn’t take it into the board room…
      • Low fidelity
      • “ Sure, we can move it…”
      Image: Paper Prototyping / Nielsen Norman Group
    63. The same set of controls Inherit High Fidelity Style Inherit Low Fidelity Style
    64. How about if we could switch styles?
    65. Takeaways Are you able to re-use any assets? (A prototype in XAML allows many design assets to be reused) What prototyping do you do? (Software Architects don’t do enough) What fidelity do you use? (A mix of high and low fidelity prototypes can be used for different feedback loops)
    66.  
    67.  
    68.  
    69. Too many choices…
    70. No one wants to choose the wrong thing…
    71. Pick something based on Competition Pick something based on Experience Pick something based on Politics
    72. Technically savvy, but not optimal Trapped in a process It’s just the way that things work here
    73. But there’s plenty of guidance, right?
    74. No!
    75. Microsoft is Guilty!
    76. Study of permutations to deliver a user interface
    77. 32 (We actually think it’s nearer to 50, but we ran out of time) Windows Presentation Foundation Client Smart Client with ClickOnce Deployment Windows Presentation Foundation XBAP Microsoft Office SharePoint Web Part Windows Vista Gadget PowerShell CmdLet InfoPath Media Center Add In Windows Live Messenger Add In Command Line Application Microsoft Office Add In Media Player Add in Windows Live Messenger Activity Window ASP.NET Microsoft Office COM Add In XBOX/XNA Application Windows Forms Application ASP.NET Mobile Microsoft Office Business Application Windows Mobile Pocket Outlook Application Windows Desktop Search Add In ASP.NET AJAX Microsoft Office Smart Docs Ink Enabled Tablet Application Windows Forms via Terminal Services Internet Explorer Add In Microsoft Office VBA Windows Mobile 5.0 Application System Tray Applet Silverlight Microsoft Office VSTO Add In Windows Mobile 5.0 Smartphone Application
    78. What vectors can we use?
    79. Application Connectivity Graphics Look and Feel Interaction Environment Installation Integration Hardware Developer IQ Persona Location Mobility Training Personalization
    80.  
    81. Takeaways What can Microsoft do to help? (We need to create more guidance for helping abstract technology selection decisions) How do you select technology? (Gut feel may result in short term gain, but often long term pain) Would a tool like this be useful? (And if so, do you have any other ideas for visualization?)
    82.  
    83.  
    84. Productivity Time
    85. 1. Discovery 2. Learning 3. Mastery Productivity Time
    86. Reduced by Familiarity Productivity Time
    87.  
    88.  
    89.  
    90. Siebel Client Siebel CRM
    91. Web Browser Siebel CRM Web Services ASP.NET
    92. Web Browser Siebel CRM Web Services ASP.NET Outlook
    93.  
    94. Web Browser Siebel CRM Web Services ASP.NET Outlook
    95. Web Browser Siebel CRM Web Services ASP.NET Outlook
    96.  
    97. Productivity Time D L M Persona - Sally
    98. Productivity Time Persona - Derek D L M
    99. Productivity Time Persona - Jim D L M
    100. Productivity Time D L M
    101. Takeaways Is productivity important for different roles in your organization? (Map personas to the productivity curve) How do you measure productivity? (Often the most productive applications are not the best looking) Can existing experiences be extended? (Often extending an experience results in greater productivity)
    102.  
    103. Performance conversations are often engineering conversations
    104. Performance vs. Expectations
    105. Specific Expectations
    106. Why is this taking so long?!
    107. Few Expectations
    108. I wonder how long this will take?
    109. Asynchronous Javascript And XML
    110.  
    111. Takeaways Have user’s expectations been met? (Sitting with users before a new system is deployed can help set expectations) How do you plan for performance? (Conversations around milliseconds tend to be engineering focused) What technology do you use? (AJAX can help address specific expectations that the user may have)
    112.  
    113. Performance Productivity Purpose Prototype Proactive Platform Proven People Interface Ideas Internals Personas
    114.  
    115. The biggest hurdle for building trust in your application is time
    116. Once that trust is lost, it’s very difficult to recover
    117. Installation
      • Visualization
      • Annoying Flash/animations
      • Too many options
      • Unpacking the installation
      • Pre-Requisites
      • Do you really need a restart?
      • What permissions required?
      • What apps need quitting?
      Source: http://simonguest.com/blogs/smguest/archive/2006/11/21/Ten-Ways-for-Good-Installation-Karma.aspx
    118. Installation Handling Exceptions
    119. Installation Handling Exceptions Enable Undo’s
    120. Typical User Testing Willing users
    121.  
    122. Etc. RITE Rapid Iterative Testing and Evaluation Willing user
    123. Source: http://download.microsoft.com/download/5/c/c/5cc406a0-0f87-4b94-bf80-dbc707db4fe1/mgsut_MWTRF02.doc.doc RITE Rapid Iterative Testing and Evaluation
    124. Takeaways How do you deal with installation, exception handling, and undos? (They are all part of the experience) What is your quality bar? (Trust takes time) What is your user testing strategy? (The RITE methodology can help find errors that would go otherwise undiscovered)
    125.  
    126.  
    127. It’s all about the SDLC…
    128. Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT Development of Services IT UI is created IT User Testing User / BA
    129. I know what we’ll do…
    130. Project Starts! Use cases created Prototyping Development of Services UI is created IT + User / BA IT IT IT User Testing Project Complete User / BA
    131. A more successful methodology for promoting UX
    132. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT User Testing User / BA
    133. Are all designers the same?
    134. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
    135. Graphic Designer Interaction Designer Interaction Designer
    136.  
    137. Project Starts! Project Complete Use cases created IT + User / BA Prototyping Development of Services IT UI and Services Integrated User Testing User / BA Development of UX
    138. Project Starts! Project Complete Use cases created IT + User / BA Prototyping IT + Designer + User / BA Development of Services IT IT + Designer User Testing User / BA Development of UX Designer + User / BA
    139. What we need to learn:
      • How much code level understanding will designers require?
      • Who owns check-in of XAML artifacts?
      • Will we require an “interface stub” for communication?
      XAML Developer Designer
    140. Takeaways What types of designers do you need? (Recognize the different designer roles and how they can work within the SDLC) Does UX factor in to your SDLC? (Incorporating UX into the SDLC can help create a better output) Do your developers and designers talk to each other? (We need to support this)
    141.  
    142.  
    143. Hey team, v2.0 was a hit! 8 7 7 9 8
    144. … it’s been out for a month and we haven’t heard a thing back from our users! ? ? ? ? ?
    145. Reactive feedback is all too common 2 1 3 1 1
    146.  
    147. Rating scale in the application
    148. Remote troubleshooting Rating scale in the application
    149. Remote troubleshooting Effective status updates Rating scale in the application
    150. 2 1 3 1 1 Takeaways What happens when things go wrong? (How does the architecture of an application handle exceptions?) How do your users provide feedback? (Proactive feedback can be very powerful input for the SDLC) Do you provide status? (Good and bad status reports can help users better understand failure)
    151.  
    152. Overall Takeaways Define the Interface and think about how the platform choice, productivity, and performance will affect you Remember the Internals that enable proven, proactive applications designed by a team that understands user experience Realize Ideas by defining personas, purpose and prototyping
    153. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. [email_address] http://www.simonguest.com

    + Simon GuestSimon Guest, 10 months ago

    custom

    1136 views, 4 favs, 1 embeds more stats

    A presentation that shares a framework for thinking more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1136
      • 1114 on SlideShare
      • 22 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 133
    Most viewed embeds
    • 22 views on http://simonguest.com

    more

    All embeds
    • 22 views on http://simonguest.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories