Be Smart! Ivar Jacobson with Pan Wei Ng, Ian Spence and Kurt Bittner [email_address]
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
Some people feel we are this good How a Software Company would design a Treeswing
Let’s look at our press
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:
Is Software Development a Fashion Industry? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International This is unsmart!
What can we do about it? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International THERE IS NO SILVER BULLET! This is unsmart!
What can we do about it? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International We have to work smarter! This is unsmart!
Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean?
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
What does being Smart mean? Being Smart is not the same thing as being intelligent You can be intelligent without being smart - and you can be very smart without being very intelligent Smart is more than having common sense You can have common sense without being smart, but if you are smart you must have common sense.  Being Smart is being agile, but more Agile means being flexible and adaptable to different situations. Being Smart = Being Agile +  doing exactly the right thing  in  a particular situation . Doing exactly the right things comes from rules (harvested from training and experience) Mr Smart © 2008 Ivar Jacobson International
Agenda What does Smart mean? Smart Cases – Recognize it when you see it People Projects Requirements Architecture Modeling Test Documentation Process How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
Unsmart with People Some companies view process and tools as more important than people They think they can use process to make people interchangeable They think that tools will make people with poor skills as effective as people with excellent skills © 2008 Ivar Jacobson International A fool with a tool is still a fool but a dangerous fool This is unsmart!
Smart with People Software is developed by people! By competent and motivated people Using consumable practices and tools Balancing tasks with competencies Case study:  Ericsson AXE – the largest commercial success story ever in Sweden We had no tools and an old-fashioned methodology Despite this, we developed components, use cases, and a modeling language now part of UML This could only have been done with people – good people © 2008 Ivar Jacobson International This is smart!
Unsmart with Projects © 2008 Ivar Jacobson International This is unsmart! Most companies still follow the waterfall approach Requirements High-Level  Design Detailed-Level  Design Coding Testing
Smart with Projects Build a skinny system to demonstrate that you have eliminated all critical risks Add more capabilities on top of that skinny system Skinny System Full Fledged System This is smart! © 2008 Ivar Jacobson International
Unsmart with Requirements A constant in software development is that requirements  always  change Still many managers believe you can detail all the  requirements upfront... ...and based on these can accurately predict the cost of the solution  This is unsmart! © 2008 Ivar Jacobson International Thou shalt  work with fixed requirements for fixed prices
Smart with Requirements Base early decisions on lightweight requirements and detail as and when it is needed Use case outlines, feature lists or user stories Design your project for requirement changes Remember requirements are negotiable and priorities will change Sell tailormade solutions but renegotiate standard solution The Swedish telecom case 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
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
Smart with Architecture Focus on the skinny system But an architecture without executable code is a hallucination Refactor over releases, but large refactoring is very costly This is smart! © 2008 Ivar Jacobson International Skinny System Full Fledged System Architectural Blue Print
Unsmart with Modeling We have always had programming languages.  © 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
Smart with Modeling If the modeling language isn’t executable, focus on the essentials only – the skinny system  Don’t duplicate the effort by modeling everything, Full Fledged System This is smart! © 2008 Ivar Jacobson International
Unsmart with Test We have two classes of people: Thinkers and Cleaners Testers are the cleaners in the software world This is unsmart! © 2008 Ivar Jacobson International Testing is done as an after thought – too late and too expensive
Smart with Test Our mantra:  Whatever you do  you  are not done until  you  have verified that  you  did what  you  wanted to do. This is smart! We are all testers ! © 2008 Ivar Jacobson International
Unsmart with Documentation Over many years there has been an over-emphasis on teams producing documentation 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
Smart with Documentation Myth: The idea that you document software so people later can read what you did. This is smart! … making sure the documents add value. © 2008 Ivar Jacobson International Law of nature: People don’t read documents Focus on the essentials, the placeholders for conversations, people figure out the rest themselves Emphasize the essentials…
Unsmart with Process We have got enough of process Unified  Process © 2008 Ivar Jacobson International Agile CMMI CMMI Project Lead Existing Way  of Working
Unsmart with Process We have got enough of process Project Lead © 2008 Ivar Jacobson International Unified  Process Agile CMMI CMMI Existing Way  of Working
Unsmart with Process We have got enough of process © 2008 Ivar Jacobson International I want a new way of working New Way  of Working Unified  Process Agile CMMI CMMI Project Lead
Unsmart with Process We have got enough of process 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
Smart with process Law of Nature: People don’t read process books Focus on the essentials, people figure out the rest themselves 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
Smart with process Law of Nature: People don’t read process books Focus on the essentials, people figure out the rest themselves 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!
Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
How do you become Smart? You need knowledge and experience in a never-ending stream continuously striving for improvement You need good practices from different domains Software engineering, process improvement, social engineering ... but don’t throw away what you have,  instead start with what you have Find your pain points and improve in small steps – one practice at a time It is as simple as that   © 2008 Ivar Jacobson International
Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
What does Smart really mean? If you didn’t get what smart is so far let me summarize it to you © 2008 Ivar Jacobson International
Of course, eventually it comes back to you, but  We can all become smarter © 2008 Ivar Jacobson International
Thank  You © 2008 Ivar Jacobson International This is smart!
Article images

More Related Content

PPTX
Common Objections to TDD (and their refutations)
PDF
PDF
10 Big Ideas from Industry
PDF
Software design - Write solid software with the ideal chalk
PPTX
No Silver Bullet - Essence and Accidents of Software Engineering
PDF
BBOM-AgilePT-2010
KEY
Agile Development Overview (with a bit about builds)
PDF
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau
Common Objections to TDD (and their refutations)
10 Big Ideas from Industry
Software design - Write solid software with the ideal chalk
No Silver Bullet - Essence and Accidents of Software Engineering
BBOM-AgilePT-2010
Agile Development Overview (with a bit about builds)
"Startups, comment gérer une équipe de développeurs" par Laurent Cerveau

What's hot (20)

PDF
01 (IDNOG01) Keynote 1 by Barry Greene
PPTX
DevOps
PPTX
Mind, heart, and hands: Lifelong learning and teaching in the digital age
PDF
Big Ball of Mud: Software Maintenance Nightmares
PDF
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
PDF
Resource Adaptive Systems
PDF
Leadership Without Management: Scaling Organizations by Scaling Engineers
PPTX
Tom Gilb - Power to the Programmers @ I T.A.K.E. Unconference 2014, Bucharest
PDF
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
PDF
SEI Webinar Series: Making Agile Work for You
PDF
Mary Poppendieck: Agile under contract
PPT
Audrys Kažukauskas: Big Up Front Design is dead. Long live Emergent Design
PDF
Taming Complex Domains with Domain Driven Design
PPT
20070921 Uni Softwareengineering
PDF
Patterns of Evolutionary Architecture - Agile and Beyond 2018
PDF
Real-Time Working With Collaboration
PPTX
ROOTS2011 Continuous Delivery
PDF
Velocity. Agility. Python. (Pycon APAC 2017)
PDF
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
PDF
How DevOps is Transforming IT, and What it Can Do for Academia
01 (IDNOG01) Keynote 1 by Barry Greene
DevOps
Mind, heart, and hands: Lifelong learning and teaching in the digital age
Big Ball of Mud: Software Maintenance Nightmares
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
Resource Adaptive Systems
Leadership Without Management: Scaling Organizations by Scaling Engineers
Tom Gilb - Power to the Programmers @ I T.A.K.E. Unconference 2014, Bucharest
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
SEI Webinar Series: Making Agile Work for You
Mary Poppendieck: Agile under contract
Audrys Kažukauskas: Big Up Front Design is dead. Long live Emergent Design
Taming Complex Domains with Domain Driven Design
20070921 Uni Softwareengineering
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Real-Time Working With Collaboration
ROOTS2011 Continuous Delivery
Velocity. Agility. Python. (Pycon APAC 2017)
DSC UTeM DevOps Session#1: Intro to DevOps Presentation Slides
How DevOps is Transforming IT, and What it Can Do for Academia
Ad

Viewers also liked (20)

PPT
16pm04 Microsoft
PPT
Computers And Stuff
PDF
Zeitungsartikel Ansbach 18jul08
PPT
20080903arsenalsofnemesis 04
DOC
PPT
Online Research-- Seminar 3 Fall 08
PDF
Elbulli2 Layout 1
PPT
Juegos OlíMpicos
PPT
1 Kennismaking
PPT
The Innovators
PPT
Why speaking English?
PPT
Make flowers with maple leaves
PPT
Propaganda Mic
PDF
Chelsea
PPT
Tutorial Edubusiness
DOC
Word File
PPT
Gran Juego En Equipo Waleshka Y Monica Molina 7 A
PPT
Expo Secretarias2008 Charla
PDF
Guitar Lesson John Petrucci Rock Discipline
ODP
Mida me teeksime, kui poleks leiutatud arvutit
16pm04 Microsoft
Computers And Stuff
Zeitungsartikel Ansbach 18jul08
20080903arsenalsofnemesis 04
Online Research-- Seminar 3 Fall 08
Elbulli2 Layout 1
Juegos OlíMpicos
1 Kennismaking
The Innovators
Why speaking English?
Make flowers with maple leaves
Propaganda Mic
Chelsea
Tutorial Edubusiness
Word File
Gran Juego En Equipo Waleshka Y Monica Molina 7 A
Expo Secretarias2008 Charla
Guitar Lesson John Petrucci Rock Discipline
Mida me teeksime, kui poleks leiutatud arvutit
Ad

Similar to Smart+Shanghai+2008 09 05 (20)

PDF
GMO'less Software Development Practices
PPT
Methodology for Information System Project Management
PPT
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
PPT
Agile Methodologies And Extreme Programming - Svetlin Nakov
PDF
Notes for Evolutionary Development Methodology
PPT
Agile Methodologies And Extreme Programming
PPTX
Design Types
 
PPT
Jde world to e1 v9 upgrade v2
PPT
Jde world to e1 v9 upgrade v2
PPTX
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
PDF
Raising the Bar
PDF
AI Intelligence: Exploring the Future of Artificial Intelligence
PDF
From open source labs to ceo methods and advice by sysfera
PPTX
International business english (Workshop, part 3) Svitlana Stetsy
PPTX
Security Is a Concern, Let’s Make It an Enabler
PDF
Lean en gros, c'est comme l'Agilité, sauf que... - Martin Goyette
PPT
Agile And Open Development
PPTX
Stream SQL eventflow visual programming for real programmers presentation
DOCX
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
PDF
Sacrificing the golden calf of "coding"
GMO'less Software Development Practices
Methodology for Information System Project Management
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Agile Methodologies And Extreme Programming - Svetlin Nakov
Notes for Evolutionary Development Methodology
Agile Methodologies And Extreme Programming
Design Types
 
Jde world to e1 v9 upgrade v2
Jde world to e1 v9 upgrade v2
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
Raising the Bar
AI Intelligence: Exploring the Future of Artificial Intelligence
From open source labs to ceo methods and advice by sysfera
International business english (Workshop, part 3) Svitlana Stetsy
Security Is a Concern, Let’s Make It an Enabler
Lean en gros, c'est comme l'Agilité, sauf que... - Martin Goyette
Agile And Open Development
Stream SQL eventflow visual programming for real programmers presentation
SOFTWARE ENGINEERINGNinth EditionIan SommervilleAddi.docx
Sacrificing the golden calf of "coding"

Recently uploaded (20)

PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Comparative analysis of machine learning models for fake news detection in so...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PDF
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
future_of_ai_comprehensive_20250822032121.pptx
PDF
Auditboard EB SOX Playbook 2023 edition.
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
PPTX
Internet of Everything -Basic concepts details
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PPTX
MuleSoft-Compete-Deck for midddleware integrations
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
Advancing precision in air quality forecasting through machine learning integ...
The influence of sentiment analysis in enhancing early warning system model f...
Comparative analysis of machine learning models for fake news detection in so...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Taming the Chaos: How to Turn Unstructured Data into Decisions
Improvisation in detection of pomegranate leaf disease using transfer learni...
Rapid Prototyping: A lecture on prototyping techniques for interface design
Accessing-Finance-in-Jordan-MENA 2024 2025.pdf
Custom Battery Pack Design Considerations for Performance and Safety
5-Ways-AI-is-Revolutionizing-Telecom-Quality-Engineering.pdf
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Consumable AI The What, Why & How for Small Teams.pdf
future_of_ai_comprehensive_20250822032121.pptx
Auditboard EB SOX Playbook 2023 edition.
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Internet of Everything -Basic concepts details
Data Virtualization in Action: Scaling APIs and Apps with FME
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
MuleSoft-Compete-Deck for midddleware integrations

Smart+Shanghai+2008 09 05

  • 1. Be Smart! Ivar Jacobson with Pan Wei Ng, Ian Spence and Kurt Bittner [email_address]
  • 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. Some people feel we are this good How a Software Company would design a Treeswing
  • 4. Let’s look at our press
  • 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. Is Software Development a Fashion Industry? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International This is unsmart!
  • 7. What can we do about it? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International THERE IS NO SILVER BULLET! This is unsmart!
  • 8. What can we do about it? Yes, Software Development is driven by fashions and fads Fifteen years ago it was all about OO Ten years ago it was about components, UML, Unified Process Five years ago it was about RUP and CMMI Two years ago it was about XP Today it is about Scrum All good, but none is all you need The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International We have to work smarter! This is unsmart!
  • 9. Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean?
  • 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. What does being Smart mean? Being Smart is not the same thing as being intelligent You can be intelligent without being smart - and you can be very smart without being very intelligent Smart is more than having common sense You can have common sense without being smart, but if you are smart you must have common sense. Being Smart is being agile, but more Agile means being flexible and adaptable to different situations. Being Smart = Being Agile + doing exactly the right thing in a particular situation . Doing exactly the right things comes from rules (harvested from training and experience) Mr Smart © 2008 Ivar Jacobson International
  • 12. Agenda What does Smart mean? Smart Cases – Recognize it when you see it People Projects Requirements Architecture Modeling Test Documentation Process How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
  • 13. Unsmart with People Some companies view process and tools as more important than people They think they can use process to make people interchangeable They think that tools will make people with poor skills as effective as people with excellent skills © 2008 Ivar Jacobson International A fool with a tool is still a fool but a dangerous fool This is unsmart!
  • 14. Smart with People Software is developed by people! By competent and motivated people Using consumable practices and tools Balancing tasks with competencies Case study: Ericsson AXE – the largest commercial success story ever in Sweden We had no tools and an old-fashioned methodology Despite this, we developed components, use cases, and a modeling language now part of UML This could only have been done with people – good people © 2008 Ivar Jacobson International This is smart!
  • 15. Unsmart with Projects © 2008 Ivar Jacobson International This is unsmart! Most companies still follow the waterfall approach Requirements High-Level Design Detailed-Level Design Coding Testing
  • 16. Smart with Projects Build a skinny system to demonstrate that you have eliminated all critical risks Add more capabilities on top of that skinny system Skinny System Full Fledged System This is smart! © 2008 Ivar Jacobson International
  • 17. Unsmart with Requirements A constant in software development is that requirements always change Still many managers believe you can detail all the requirements upfront... ...and based on these can accurately predict the cost of the solution This is unsmart! © 2008 Ivar Jacobson International Thou shalt work with fixed requirements for fixed prices
  • 18. Smart with Requirements Base early decisions on lightweight requirements and detail as and when it is needed Use case outlines, feature lists or user stories Design your project for requirement changes Remember requirements are negotiable and priorities will change Sell tailormade solutions but renegotiate standard solution The Swedish telecom case 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. 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. Smart with Architecture Focus on the skinny system But an architecture without executable code is a hallucination Refactor over releases, but large refactoring is very costly This is smart! © 2008 Ivar Jacobson International Skinny System Full Fledged System Architectural Blue Print
  • 21. Unsmart with Modeling We have always had programming languages. © 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. Smart with Modeling If the modeling language isn’t executable, focus on the essentials only – the skinny system Don’t duplicate the effort by modeling everything, Full Fledged System This is smart! © 2008 Ivar Jacobson International
  • 23. Unsmart with Test We have two classes of people: Thinkers and Cleaners Testers are the cleaners in the software world This is unsmart! © 2008 Ivar Jacobson International Testing is done as an after thought – too late and too expensive
  • 24. Smart with Test Our mantra: Whatever you do you are not done until you have verified that you did what you wanted to do. This is smart! We are all testers ! © 2008 Ivar Jacobson International
  • 25. Unsmart with Documentation Over many years there has been an over-emphasis on teams producing documentation 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. Smart with Documentation Myth: The idea that you document software so people later can read what you did. This is smart! … making sure the documents add value. © 2008 Ivar Jacobson International Law of nature: People don’t read documents Focus on the essentials, the placeholders for conversations, people figure out the rest themselves Emphasize the essentials…
  • 27. Unsmart with Process We have got enough of process Unified Process © 2008 Ivar Jacobson International Agile CMMI CMMI Project Lead Existing Way of Working
  • 28. Unsmart with Process We have got enough of process Project Lead © 2008 Ivar Jacobson International Unified Process Agile CMMI CMMI Existing Way of Working
  • 29. Unsmart with Process We have got enough of process © 2008 Ivar Jacobson International I want a new way of working New Way of Working Unified Process Agile CMMI CMMI Project Lead
  • 30. Unsmart with Process We have got enough of process 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. Smart with process Law of Nature: People don’t read process books Focus on the essentials, people figure out the rest themselves 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. Smart with process Law of Nature: People don’t read process books Focus on the essentials, people figure out the rest themselves 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. Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
  • 34. How do you become Smart? You need knowledge and experience in a never-ending stream continuously striving for improvement You need good practices from different domains Software engineering, process improvement, social engineering ... but don’t throw away what you have, instead start with what you have Find your pain points and improve in small steps – one practice at a time It is as simple as that  © 2008 Ivar Jacobson International
  • 35. Agenda What does Smart mean? Smart Cases – Recognize it when you see it How do you become Smart What does Smart really mean? © 2008 Ivar Jacobson International
  • 36. What does Smart really mean? If you didn’t get what smart is so far let me summarize it to you © 2008 Ivar Jacobson International
  • 37. Of course, eventually it comes back to you, but We can all become smarter © 2008 Ivar Jacobson International
  • 38. Thank You © 2008 Ivar Jacobson International This is smart!

Editor's Notes

  • #2: I have learnt much of software development from two areas: From sports From the construction industry