Successfully reported this slideshow.

Passion For Excellence

6,896 views

Published on

The Role of Visioning and Passion For Excellence in Software Development

Published in: Business

Passion For Excellence

  1. 1. The Role of Visioning and Passion For Excellence in Software Development Miles Lewitt Vice President Intuit Corporation
  2. 2. What is Excellence <ul><li>Exceed customer expectations on all Dimensions </li></ul><ul><ul><li>Correctness </li></ul></ul><ul><ul><li>Robustness </li></ul></ul><ul><ul><li>Able to Scale </li></ul></ul><ul><ul><li>Usability </li></ul></ul><ul><ul><li>Functionality </li></ul></ul><ul><ul><li>Compatibility </li></ul></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Reusability </li></ul></ul><ul><ul><li>Timeliness </li></ul></ul><ul><li>Minimal cost </li></ul><ul><ul><li>Development </li></ul></ul><ul><ul><li>Support cost </li></ul></ul><ul><ul><li>Data center cost </li></ul></ul>08/21/09 02:30 MML
  3. 3. Recipe For Excellence 08/21/09 02:30 MML Excellent Outcome What How Organization Capability Requirements is determined by is determined by is determined by is determined by
  4. 4. Requirements 08/21/09 02:30 MML Requirements Customer Needs Technical Requirements Visioning consists of consists of consists of
  5. 5. Organization Capability 08/21/09 02:30 MML Organization Capability Skills & Intelligence Process Passion For Excellence consists of consists of consists of
  6. 6. What is Passion For Excellence <ul><li>An attribute of an organization that: </li></ul><ul><ul><li>Encourages each individual to be on a personal quest to improve their skills </li></ul></ul><ul><ul><li>That strives for functional excellence in all disciplines (e.g. architecture, automated testing) </li></ul></ul><ul><ul><li>where the entire organization accepts from itself nothing less than excellent work </li></ul></ul><ul><ul><ul><li>Personal Level – Each member of the team strives for excellence in everything they do </li></ul></ul></ul><ul><ul><ul><li>Team Level – The team only accepts that it produces excellent work </li></ul></ul></ul><ul><ul><ul><li>Artifact Level – Design and code demonstrate Dimensions of Software Excellence </li></ul></ul></ul><ul><ul><ul><li>System Level - The developed system performs with excellence </li></ul></ul></ul>08/21/09 02:30 MML
  7. 7. What is Passion For Excellence <ul><li>Personal Level – Each member of the team strives for excellence in everything they do </li></ul><ul><ul><li>Each individual is on a personal quest to improve their skills </li></ul></ul><ul><ul><li>Each individual considers: do I have the skills to perform this task with excellence – if not seek assistance </li></ul></ul><ul><ul><li>Each individual reflects: did I perform this task as well as I should have? </li></ul></ul><ul><ul><ul><li>Strategic (e.g. Design Document) </li></ul></ul></ul><ul><ul><ul><li>Day to day (e.g. fill in all fields when entering information about a defect) </li></ul></ul></ul>08/21/09 02:30 MML
  8. 8. What is Passion For Excellence <ul><li>Team Level – The team only accepts that it produces excellent work </li></ul><ul><ul><li>Pointing out work that needs to be improved – where the project would benefit by taking the time to improve the quality of the work </li></ul></ul><ul><ul><li>Team quality is of higher importance than individual quality </li></ul></ul>08/21/09 02:30 MML
  9. 9. What is Passion For Excellence <ul><li>Artifact Level – Design and code demonstrate the Dimensions of Software Excellence </li></ul><ul><ul><li>Correctness: perform the task defined by the specifications </li></ul></ul><ul><ul><li>Robustness: software is designed to react appropriately to unusual conditions, degrade gracefully when experiencing increasing adversity </li></ul></ul><ul><ul><li>Able to scale: functions per second not limited by software constraints </li></ul></ul><ul><ul><li>Usability: people find it easy to use </li></ul></ul><ul><ul><li>Functionality: provide the functions needed for the intended tasks </li></ul></ul>08/21/09 02:30 MML
  10. 10. What is Passion For Excellence <ul><li>Artifact Level – Design and code demonstrate the Dimensions of Software Excellence </li></ul><ul><ul><li>Compatibility: works well with other software & systems </li></ul></ul><ul><ul><li>Extensibility: easily adapts to changes of specification </li></ul></ul><ul><ul><li>Reusability: architecturally compliant, serve for the construction of many programs </li></ul></ul><ul><ul><li>Timeliness: released when the users want it </li></ul></ul>08/21/09 02:30 MML
  11. 11. What is Passion For Excellence <ul><li>System Level – The developed system performs with excellence </li></ul><ul><ul><li>Strive for zero customer detected defects. Every operational intervention (e.g. restart) is treated as a customer detected defect </li></ul></ul><ul><ul><ul><li>Defects tracked to root cause </li></ul></ul></ul><ul><ul><ul><li>Product and process repaired </li></ul></ul></ul><ul><ul><li>Exceed reliability and uptime requirements </li></ul></ul><ul><ul><li>Systems react appropriately to unusual conditions, degrade gracefully when experiencing increasing adversity including loads above the projected peak </li></ul></ul>08/21/09 02:30 MML
  12. 12. Passion For Excellence <ul><li>Is not a passion for perfection </li></ul><ul><ul><li>To strive for perfection results in paralysis </li></ul></ul><ul><ul><li>Excellence is always in the context of what we know (and what we don’t know) at the current stage of the project </li></ul></ul><ul><ul><li>Excellence understands that both discovery and change are a part of developing software </li></ul></ul>08/21/09 02:30 MML
  13. 13. Passion For Excellence <ul><li>Engineers want to do excellent work </li></ul><ul><li>What gets in their way </li></ul><ul><ul><li>Not provided with the environment for excellent work </li></ul></ul><ul><ul><ul><li>Just the right amount of process </li></ul></ul></ul><ul><ul><ul><li>Clear and consistent leadership </li></ul></ul></ul><ul><ul><li>Reward something else (e.g. firefighting) </li></ul></ul><ul><ul><li>Focused on the schedule </li></ul></ul><ul><ul><li>Inadequate skills for the task </li></ul></ul><ul><ul><li>Unmanaged changing requirements </li></ul></ul><ul><ul><li>Inadequate planning </li></ul></ul><ul><ul><li>etc. </li></ul></ul>08/21/09 02:30 MML
  14. 14. Capability Importance 08/21/09 02:30 MML
  15. 15. Improve Your Organization’s Passion For Excellence <ul><li>Communicate your expectations </li></ul><ul><ul><li>Often </li></ul></ul><ul><ul><li>Different settings: big groups, small groups, 1-on-1 </li></ul></ul><ul><ul><li>By writing down your point of view you make it more tangible and more effectively communicated </li></ul></ul><ul><ul><li>Try to achieve organizational alignment on it’s the right thing to do </li></ul></ul><ul><li>Tell stories that remind the organization of shortcut induced pain </li></ul><ul><li>Ask the organization questions that demonstrate the importance of excellence </li></ul><ul><li>Reward individuals when they demonstrate the passion for excellence behavior </li></ul>08/21/09 02:30 MML
  16. 16. Visioning 08/21/09 02:30 MML Requirements Customer Needs Technical Requirements Visioning What is determined by consists of consists of consists of
  17. 17. Visioning <ul><li>Visioning adds imagination to the requirements process </li></ul><ul><li>For example, we want the next release of the software to improve the customer’s experience. Depending on the number of customers (tens or millions) we talk to (or survey) our customers to learn how we can improve. However, this is unlikely to lead to any breakthrough thinking. </li></ul><ul><li>Asking customers, software engineers and individuals in product marketing to imagine in an unconstrained manner what would the ideal customer experience be; can lead to innovative thinking. </li></ul><ul><li>Visioning can lead to discovering “delighters” (Kano Taxonomy of Customer Needs). </li></ul>08/21/09 02:30 MML
  18. 18. Kano Analysis <ul><li>A model of how product features meet customer expectations </li></ul><ul><li>Today’s “Delighter” becomes tomorrow’s “Must Have” </li></ul>08/21/09 02:30 MML Must Haves More is Better Delighters
  19. 19. Other Uses of Visioning <ul><li>Visioning solicits more strategic information </li></ul><ul><ul><li>For example: the lessons learned process. We tend to ask: “What went right and what went wrong”. This typically results in a tactical response. By asking an additional question: “If we had this project to do over again, how would you recommend we do it differently” we get more significant feedback to consider. </li></ul></ul>08/21/09 02:30 MML
  20. 20. Dual Nature of Software <ul><li>Developing a software system is still a difficult and unpredictable task. </li></ul><ul><li>The best path to success lies in embracing the dual nature of software </li></ul><ul><li>Software Engineering: follow a written process, documentation, measure, improve </li></ul><ul><li>Crafting Software: best practices, skill, learning from masters </li></ul>08/21/09 02:30 MML
  21. 21. Achieving Excellence <ul><li>Start with a software engineering approach as the baseline </li></ul><ul><ul><li>Get the requirements right </li></ul></ul><ul><ul><li>Follow and improve your process </li></ul></ul>08/21/09 02:30 MML <ul><li>Augment with a crafting software perspective </li></ul><ul><ul><li>Envision what is possible </li></ul></ul><ul><ul><li>Have a passion for excellence </li></ul></ul><ul><li>Remember that the people on the team are the most important factor </li></ul><ul><ul><li>Intelligence, creativity, communication skills, teamwork and technical skills </li></ul></ul>

×