Smart+Shanghai+2008 09 05

1,243 views
1,151 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,243
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
42
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • I have learnt much of software development from two areas: From sports From the construction industry
  • Smart+Shanghai+2008 09 05

    1. 1. Be Smart! Ivar Jacobson with Pan Wei Ng, Ian Spence and Kurt Bittner [email_address]
    2. 2. First a question…. How good are we at software development? Quality: Cost: Low High Low High Value for Money: Poor Good Timeliness: On-Time Late User Experience Bad Good Secure / Reliable: Low High Potential: Low High
    3. 3. Some people feel we are this good <ul><li>How a Software Company would design a Treeswing </li></ul>
    4. 4. Let’s look at our press
    5. 5. It certainly seems like … … we need to get better! Quality: Cost: Low High Low High Value for Money: Poor Good Timeliness: On-Time Late User Experience : Bad Good Low High Potential: Limited Open Ended Secure / Reliable:
    6. 6. Is Software Development a Fashion Industry? <ul><li>Yes, Software Development is driven by fashions and fads </li></ul><ul><ul><li>Fifteen years ago it was all about OO </li></ul></ul><ul><ul><li>Ten years ago it was about components, UML, Unified Process </li></ul></ul><ul><ul><li>Five years ago it was about RUP and CMMI </li></ul></ul><ul><ul><li>Two years ago it was about XP </li></ul></ul><ul><ul><li>Today it is about Scrum </li></ul></ul><ul><li>All good, but none is all you need </li></ul>The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International This is unsmart!
    7. 7. What can we do about it? <ul><li>Yes, Software Development is driven by fashions and fads </li></ul><ul><ul><li>Fifteen years ago it was all about OO </li></ul></ul><ul><ul><li>Ten years ago it was about components, UML, Unified Process </li></ul></ul><ul><ul><li>Five years ago it was about RUP and CMMI </li></ul></ul><ul><ul><li>Two years ago it was about XP </li></ul></ul><ul><ul><li>Today it is about Scrum </li></ul></ul><ul><li>All good, but none is all you need </li></ul>The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International THERE IS NO SILVER BULLET! This is unsmart!
    8. 8. What can we do about it? <ul><li>Yes, Software Development is driven by fashions and fads </li></ul><ul><ul><li>Fifteen years ago it was all about OO </li></ul></ul><ul><ul><li>Ten years ago it was about components, UML, Unified Process </li></ul></ul><ul><ul><li>Five years ago it was about RUP and CMMI </li></ul></ul><ul><ul><li>Two years ago it was about XP </li></ul></ul><ul><ul><li>Today it is about Scrum </li></ul></ul><ul><li>All good, but none is all you need </li></ul>The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International We have to work smarter! This is unsmart!
    9. 9. Agenda <ul><li>What does Smart mean? </li></ul><ul><li>Smart Cases – Recognize it when you see it </li></ul><ul><li>How do you become Smart </li></ul><ul><li>What does Smart really mean? </li></ul>
    10. 10. What does Smart mean? Things should be done as simple as possible – but no simpler © 2008 Ivar Jacobson International This is smart! E= mc 2 - Albert Einstein
    11. 11. What does being Smart mean? <ul><li>Being Smart is not the same thing as being intelligent </li></ul><ul><ul><li>You can be intelligent without being smart - and you can be very smart without being very intelligent </li></ul></ul><ul><li>Smart is more than having common sense </li></ul><ul><ul><li>You can have common sense without being smart, but if you are smart you must have common sense. </li></ul></ul><ul><li>Being Smart is being agile, but more </li></ul><ul><ul><li>Agile means being flexible and adaptable to different situations. </li></ul></ul><ul><ul><li>Being Smart = Being Agile + doing exactly the right thing in a particular situation . </li></ul></ul><ul><ul><li>Doing exactly the right things comes from rules (harvested from training and experience) </li></ul></ul>Mr Smart © 2008 Ivar Jacobson International
    12. 12. Agenda <ul><li>What does Smart mean? </li></ul><ul><li>Smart Cases – Recognize it when you see it </li></ul><ul><ul><li>People </li></ul></ul><ul><ul><li>Projects </li></ul></ul><ul><ul><li>Requirements </li></ul></ul><ul><ul><li>Architecture </li></ul></ul><ul><ul><li>Modeling </li></ul></ul><ul><ul><li>Test </li></ul></ul><ul><ul><li>Documentation </li></ul></ul><ul><ul><li>Process </li></ul></ul><ul><li>How do you become Smart </li></ul><ul><li>What does Smart really mean? </li></ul>© 2008 Ivar Jacobson International
    13. 13. Unsmart with People <ul><li>Some companies view process and tools as more important than people </li></ul><ul><ul><li>They think they can use process to make people interchangeable </li></ul></ul><ul><ul><li>They think that tools will make people with poor skills as effective as people with excellent skills </li></ul></ul>© 2008 Ivar Jacobson International A fool with a tool is still a fool but a dangerous fool This is unsmart!
    14. 14. Smart with People <ul><li>Software is developed by people! </li></ul><ul><ul><li>By competent and motivated people </li></ul></ul><ul><ul><li>Using consumable practices and tools </li></ul></ul><ul><ul><li>Balancing tasks with competencies </li></ul></ul><ul><li>Case study: Ericsson AXE – the largest commercial success story ever in Sweden </li></ul><ul><li>We had no tools and an old-fashioned methodology </li></ul><ul><li>Despite this, we developed components, use cases, and a modeling language now part of UML </li></ul><ul><li>This could only have been done with people – good people </li></ul>© 2008 Ivar Jacobson International This is smart!
    15. 15. Unsmart with Projects © 2008 Ivar Jacobson International This is unsmart! <ul><li>Most companies still follow the waterfall approach </li></ul>Requirements High-Level Design Detailed-Level Design Coding Testing
    16. 16. Smart with Projects <ul><li>Build a skinny system to demonstrate that you have eliminated all critical risks </li></ul><ul><li>Add more capabilities on top of that skinny system </li></ul>Skinny System Full Fledged System This is smart! © 2008 Ivar Jacobson International
    17. 17. Unsmart with Requirements A constant in software development is that requirements always change <ul><li>Still many managers believe you can detail all the requirements upfront... </li></ul><ul><li>...and based on these can accurately predict the cost of the solution </li></ul>This is unsmart! © 2008 Ivar Jacobson International Thou shalt work with fixed requirements for fixed prices
    18. 18. Smart with Requirements <ul><li>Base early decisions on lightweight requirements and detail as and when it is needed </li></ul><ul><ul><li>Use case outlines, feature lists or user stories </li></ul></ul><ul><li>Design your project for requirement changes </li></ul><ul><ul><li>Remember requirements are negotiable and priorities will change </li></ul></ul><ul><li>Sell tailormade solutions but renegotiate standard solution </li></ul><ul><ul><li>The Swedish telecom case </li></ul></ul>I understand your needs, let’s work together to make sure we develop the right system for the right price. This is smart! © 2008 Ivar Jacobson International
    19. 19. Unsmart with Architecture This is unsmart! © 2008 Ivar Jacobson International Two extremes: The single most important determinant of a software system’s quality is the quality of its architecture Mr Supposedly Agile No architecture Just Code Refactor later Mr Enterprise Architect on Ivory Tower I’ll design everything up front
    20. 20. Smart with Architecture <ul><li>Focus on the skinny system </li></ul><ul><li>But an architecture without executable code is a hallucination </li></ul><ul><li>Refactor over releases, but large refactoring is very costly </li></ul>This is smart! © 2008 Ivar Jacobson International Skinny System Full Fledged System Architectural Blue Print
    21. 21. Unsmart with Modeling <ul><li>We have always had programming languages. </li></ul>© 2008 Ivar Jacobson International This is unsmart! Mr Hacker Model Nothing Just Code user : Clerk mainWnd : MainWnd fileMgr : FileMgr repository : Repository document : Document gFile : GrpFile 9: sortByName ( ) L 1: Doc view request ( ) 2: fetchDoc( ) 5: readDoc ( ) 7: readFile ( ) 3: create ( ) 6: fillDocument ( ) 4: create ( ) 8: fillFile ( ) Window95 ¹®¼­°ü¸® Ŭ¶óÀ̾ðÆ®.EXE Windows NT ¹®¼­°ü¸® ¿£Áø.EXE Windows NT Windows95 Solaris ÀÀ¿ë¼­¹ö.EXE Alpha UNIX IBM Mainframe µ¥ÀÌŸº£À̽º¼­¹ö Windows95 ¹®¼­°ü¸® ¾ÖÇø´ Document FileManager GraphicFile File Repository DocumentList FileList user mainWnd fileMgr : FileMgr repository document : Document gFile 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( ) 4: create ( ) 5: readDoc ( ) 6: fillDocument ( ) 7: readFile ( ) 8: fillFile ( ) 9: sortByName ( ) ƯÁ¤¹®¼­¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù. È­ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼­ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼­ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù. È­¸é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È­¸é¿¡ º¸¿©ÁØ´Ù. Actor A Use Case 1 Use Case 2 Actor B Use Case 3 GrpFile read( ) open( ) create( ) fillFile( ) rep Repository name : char * = 0 readDoc( ) readFile( ) (from Persistence) FileMgr fetchDoc( ) sortByName( ) DocumentList add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fList 1 FileList add( ) delete( ) 1 File read( ) read() fill the code.. Mr Analysis and Design Standards Model everything Now we also have modeling languages
    22. 22. Smart with Modeling <ul><li>If the modeling language isn’t executable, focus on the essentials only – the skinny system </li></ul><ul><li>Don’t duplicate the effort by modeling everything, </li></ul>Full Fledged System This is smart! © 2008 Ivar Jacobson International
    23. 23. Unsmart with Test <ul><li>We have two classes of people: Thinkers and Cleaners </li></ul><ul><ul><li>Testers are the cleaners in the software world </li></ul></ul>This is unsmart! © 2008 Ivar Jacobson International <ul><li>Testing is done as an after thought – too late and too expensive </li></ul>
    24. 24. Smart with Test <ul><li>Our mantra: </li></ul><ul><li>Whatever you do you are not done until you have verified that you did what you wanted to do. </li></ul>This is smart! We are all testers ! © 2008 Ivar Jacobson International
    25. 25. Unsmart with Documentation <ul><li>Over many years there has been an over-emphasis on teams producing documentation </li></ul>This is unsmart! Thou shalt follow the document template I give you to document every part of the system. © 2008 Ivar Jacobson International Vision Document Template Architecture Description Template Use Case Specification Template
    26. 26. Smart with Documentation <ul><li>Myth: The idea that you document software so people later can read what you did. </li></ul>This is smart! … making sure the documents add value. © 2008 Ivar Jacobson International <ul><ul><li>Law of nature: People don’t read documents </li></ul></ul><ul><ul><li>Focus on the essentials, the placeholders for conversations, people figure out the rest themselves </li></ul></ul>Emphasize the essentials…
    27. 27. Unsmart with Process <ul><li>We have got enough of process </li></ul>Unified Process © 2008 Ivar Jacobson International Agile CMMI CMMI Project Lead Existing Way of Working
    28. 28. Unsmart with Process <ul><li>We have got enough of process </li></ul>Project Lead © 2008 Ivar Jacobson International Unified Process Agile CMMI CMMI Existing Way of Working
    29. 29. Unsmart with Process <ul><li>We have got enough of process </li></ul>© 2008 Ivar Jacobson International I want a new way of working New Way of Working Unified Process Agile CMMI CMMI Project Lead
    30. 30. Unsmart with Process <ul><li>We have got enough of process </li></ul>New Way of Working This is unsmart! © 2008 Ivar Jacobson International I want to be agile I like to have some of unified process Let me start with CMMI, maybe Does not work I cannot get it together Unified Process Agile CMMI CMMI Project Lead
    31. 31. Smart with process <ul><li>Law of Nature: People don’t read process books </li></ul><ul><li>Focus on the essentials, people figure out the rest themselves </li></ul>Use a practice-based approach such as EssWork Practices are separate but composable Practices come from any source in the world Improve in small steps © 2008 Ivar Jacobson International Existing Way of Working
    32. 32. Smart with process <ul><li>Law of Nature: People don’t read process books </li></ul><ul><li>Focus on the essentials, people figure out the rest themselves </li></ul>Use a practice-based approach such as EssWork Practices are separate but composable Practices come from any source in the world Improve in small steps © 2008 Ivar Jacobson International New Way of Working This is smart!
    33. 33. Agenda <ul><li>What does Smart mean? </li></ul><ul><li>Smart Cases – Recognize it when you see it </li></ul><ul><li>How do you become Smart </li></ul><ul><li>What does Smart really mean? </li></ul>© 2008 Ivar Jacobson International
    34. 34. How do you become Smart? <ul><li>You need knowledge and experience in a never-ending stream </li></ul><ul><ul><li>continuously striving for improvement </li></ul></ul><ul><li>You need good practices from different domains </li></ul><ul><ul><li>Software engineering, process improvement, social engineering </li></ul></ul><ul><li>... but don’t throw away what you have, </li></ul><ul><ul><li>instead start with what you have </li></ul></ul><ul><ul><li>Find your pain points and improve in small steps – one practice at a time </li></ul></ul>It is as simple as that  © 2008 Ivar Jacobson International
    35. 35. Agenda <ul><li>What does Smart mean? </li></ul><ul><li>Smart Cases – Recognize it when you see it </li></ul><ul><li>How do you become Smart </li></ul><ul><li>What does Smart really mean? </li></ul>© 2008 Ivar Jacobson International
    36. 36. What does Smart really mean? <ul><li>If you didn’t get what smart is so far let me summarize it to you </li></ul>© 2008 Ivar Jacobson International
    37. 37. Of course, eventually it comes back to you, but We can all become smarter © 2008 Ivar Jacobson International
    38. 38. Thank You © 2008 Ivar Jacobson International This is smart!
    39. 39. Article images

    ×