SlideShare a Scribd company logo
1 of 40
Be Smart!
                     or

What they don’t teach you
about software at school

            Ivar Jacobson
                    with
   Ian Spence, Pan Wei Ng and Kurt Bittner


         ivar@ivarjacobson.com
            www.ivarblog.com
Your goal is the same as always!




                                       Good
                                      Software




Good Software, Quickly and at Low Cost!
 © 2008 Ivar Jacobson International              2
What it takes


                                            Quickly
                                     Competent & Motivated People



                                           Low Cost
                                     Large Scale Reuse of Components



                                       Good Software
          Useful                             Extensible        Reliable


© 2008 Ivar Jacobson International                                        3
What it takes


                    Quickly
     What they don’t
             Competent & Motivated People



     teach you about
          Low Cost
             Large Scale Reuse of Components
    software at school
    Useful
              ☺
        Good Software
                     Extensible        Reliable
One major obstacle…we are a fashion industry

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                This is unsmart!




       The software industry keeps looking for a silver bullet


 © 2008 Ivar Jacobson International                                  5
One major obstacle…we are 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                This is unsmart!




        The software industry keeps looking for silver bullets


 © 2008 Ivar Jacobson International                                  6
One major obstacle…we are 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                This is unsmart!




        The software industry keeps looking for silver bullets


 © 2008 Ivar Jacobson International                                  7
Agenda

  1.       What does Smart mean?
  2.       Smart Cases – Recognize it when you see it
  3.       How do you become Smart
  4.       What does Smart really mean?




 © 2008 Ivar Jacobson International                     8
What does Smart mean?

             Things should be done
             as simple as possible – but no simpler
                                     - Albert Einstein



                                                   E= mc2



                                      This is
                                      smart!



 © 2008 Ivar Jacobson International                         9
Smart and Intelligent?




• 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


                                                    Mr Smart



 © 2008 Ivar Jacobson International                            10
Smart and Agile?

• Being Smart is an evolution of Being Agile
   – Agile means being flexible and adaptable.
   – Agile provide simple/lightweight starting points
   – But being smart is knowing when to go
     beyond agile
              • Knowing when to follow the rules and when to break
                them
              • Knowing when to be consistent and when to change
              • Knowing when to grow and when to shrink


                                                                     Mr Smart
                                      Smart = Agile ++
 © 2008 Ivar Jacobson International                                             11
Everyone is Agile!

  • Agile is in Everything!
  • Agile’s origin is social engineering
           – Now everything good in software development has become agile
  • Scaling agile
           – Picking the low hanging fruits of agile
           – Getting the dramatic effects with agile
  • Practices are the tool to scale
           –    There are practices and Practices
           –    Practices made practical
           –    Our precise practices are as simple as possible – but not simpler
           –    Precise practices change the whole concept of process




 © 2008 Ivar Jacobson International                                                 12
Agenda
              1. What does Smart mean?
              2. Smart Cases – Recognize it when you see it
                       1. People
                       2. Teams
                       3. Projects
                                             What they don’t
                       4. Requirements         teach you
                       5. Architecture
                       6. Modeling
                                             about software
                       7. Test                  at school
                       8. Documentation
                       9. Process
                       10.Knowledge
                                                    ☺
                       11.Outsourcing
                       12.Tools

              3. How do you become Smart
              4. What does Smart really mean?
                             www.ivarblog.com
 © 2008 Ivar Jacobson International                            13
Not smart with People

  Some companies view process and tools as
  more important than people




                                      This is unsmart!




                A fool with a tool is still a fool but a dangerous fool


 © 2008 Ivar Jacobson International                                       14
Smart with People


     Case study: Ericsson AXE – the largest
     commercial success story ever in Sweden
     –We had no tools and no defined process
     –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




                  Software is developed by people,        This is
                                                          smart!
                      not by process and tools.


 © 2008 Ivar Jacobson International                                 15
Not smart with Teams

   • Many software projects involve 20+ people
   • Often organized into stove-pipe groups:
            – Requirements, Analysis, Design, Coding, Testing, etc.


                                      This is unsmart!



              Requirements                 Implementation         Test




 © 2008 Ivar Jacobson International                                      16
Smart with Teams
    • Teams are cross-functional
             Including analysts, developers, testers etc…
    • Ideal size of the team is less than 10 people




                                                                      This is
                                                                      smart!




                          A software team is like a sport team with
                              all needed competencies to win.
 © 2008 Ivar Jacobson International                                             17
Not smart with Projects

   • Most companies still follow the waterfall approach


           Requirements


                              High-Level
                              Design

                                      Detailed-Level
                                       This is unsmart!
                                      Design


                                               Coding

                                                                  Crash!
                                                        Testing



 © 2008 Ivar Jacobson International                                        18
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




                                        This is
                                        smart!
        Skinny System                             Full Fledged System




                        Think big, build in many steps


   © 2008 Ivar Jacobson International                                   19
Not smart with Requirements
   • Many managers (and customers) believe you can detail
     all the requirements upfront...
   • ...and based on these can accurately predict the cost of
     the solution

                                            Thou shalt
                                         work with fixed
                                         requirements for
                                            fixed prices
                                                                This is unsmart!




                               A constant in software development is that
                                     requirements always change
 © 2008 Ivar Jacobson International                                                20
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
  • Remember requirements are negotiable and priorities will
    change


                                                                                 This is
                                         I understand your needs, let’s work
                                                                                 smart!
                                          together to make sure we develop
                                         the right system for the right price.




                         Design your project for requirement changes


 © 2008 Ivar Jacobson International                                                        21
Not smart with Architecture
   Two extremes:                                                     Mr Enterprise
                                                                     Architect on
                                                                     Ivory Tower

                                      No architecture
                                      Just Code
                                      Refactor later
                                                                     I’ll design
                                                                   everything up
                                                                        front
                                                This is unsmart!


     Mr Supposedly Agile

    The single most important determinant of
    a software system’s quality is the quality
               of its architecture
 © 2008 Ivar Jacobson International                                                22
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



                                                            Architectural
                                                             Blue Print

                  Skinny System       Full Fledged System



                         Start to build a skinny system,                    This is
                           add muscles in later steps                       smart!

 © 2008 Ivar Jacobson International                                                   23
Not smart with Test
  We have two classes of people: Developers and Testers
           – Developers are the creators…it is OK to create bugs as well
           – Testers are the cleaners in the software world
  Testing is done as an after thought – too late and too expensive




                                                         This is unsmart!




 © 2008 Ivar Jacobson International                                         24
Smart with Test

                                           We are all testers !




                                                                       This is
                                                                       smart!




                                  Whatever you do you are not done
                                         until you have verified
                                  that you did what you wanted to do
 © 2008 Ivar Jacobson International                                              25
Not smart with Documentation

  • There has been an over-emphasis on teams producing
    documentation




                                             Thou shalt
                                        follow the document
                                       template I give you to
                                      document every part of    This is unsmart!
                                             the system.

 © 2008 Ivar Jacobson International                                                26
Smart with Documentation

  Myth: The idea that you document software so people later
  can read what you did.
     – Law of nature: People don’t read documents




                                                             This is
                                                             smart!




                  Focus on the essentials - the placeholders for
               conversations – people figure out the rest themselves
 © 2008 Ivar Jacobson International                                    27
Not smart with Process/Methodology/Approach




              Agile
              CMMI                            Unified   CMMI
                                              Process




                                      Existing Way
                                      of Working

                  Project
                   Lead

 © 2008 Ivar Jacobson International                            28
Not smart with Process/Methodology/Approach




              Agile
              CMMI                            Unified   CMMI
                                              Process




                                      Existing Way
                                      of Working

                    Project
                     Lead

 © 2008 Ivar Jacobson International                            29
Not smart with Process/Methodology/Approach




              Agile
              CMMI                           Unified   CMMI
                                             Process
I want a new
way of working




                                      New Way
                                      of Working

                  Project
                   Lead

 © 2008 Ivar Jacobson International                           30
Not smart with Process/Methodology/Approach

                    We have got enough of process
              Agile                          Unified            CMMI
                                             Process
I like to have
Let me start
some to
I want of have
with Agile,
unified
some of CMMI
maybe
process




                                                       Does notget it
                                                       I cannot
                                                       together
                                                       work
                                      New Way
                                      of Working              This is unsmart!

                  Project
                   Lead

 © 2008 Ivar Jacobson International                                              31
Smart with Process/Methodology/Approach




                                  Existing Way
                                  of Working




                        Don’t throw out your baby with the bathwater:
                                      1. start from your existing way of working,
                                      2. find your pain points, and
                                      3. change one practice at the time.


 © 2008 Ivar Jacobson International                                                 32
Smart with Process/Methodology/Approach
  And the Law of Nature: People don’t read process books
  So focus on the essentials, people figure out the rest
    themselves



                                       New Way of
                                                                                    This is
                                        Working                                     smart!




                     Don’t throw away your baby with the bathwater:
                                      1. start from your existing way of working,
                                      2. find your pain points, and
                                      3. change one practice at the time.


 © 2008 Ivar Jacobson International                                                           33
Agenda

  1.       What does Smart mean?
  2.       Smart Cases – Recognize it when you see it
  3.       How do you become Smart
  4.       What does Smart really mean?




 © 2008 Ivar Jacobson International                     34
Summary: Key Elements to Smart Cases
• People: Software is developed by people, not by process and tools.
• Teams: A software team is like a sport team with all needed competencies
  to win.
• Project: Think big, build in many steps.
• Requirements: Design your project for requirement changes.
• Architecture: Start to build a skinny system, add muscles in later steps.
• Modeling: Don’t duplicate the effort by modeling everything
• Testing: Whatever you do you are not done until you have verified what you
  wanted to do.
• Documentation: Focus on the essentials - the placeholders for
  conversations – people figure out the rest themselves
• Process: Don’t throw away your baby with the bathwater:
            1.       start from your existing way of working,
            2.       find your pain points, and
            3.       change one practice at the time.



  © 2008 Ivar Jacobson International                                       35
How do you become Smart?
   • You need knowledge in good (maybe best) practices
            – There are 100’s of practices, some of them are good




                          Business      Test-Driven    Scrum        Product-Line      Risk-Driven    Systems
                          Modeling     Development                  Engineering        Iterative    Engineering
                                                                                     Development




                           Aspect      Robustness      Retro-     Business Process    Use-Case         Pair
                         Orientation    Analysis      spectives    Re-Engineering      Driven
                                                                                     Development    Programming




                              PSP      User Stories     SOA           Prince2          Use-Case      Program
                                                                                       Modeling     Management



   • And you need experience in using them

 © 2008 Ivar Jacobson International                                                                               36
Agenda

  1.       What does Smart mean?
  2.       Smart Cases – Recognize it when you see it
  3.       How do you become Smart
  4.       What does Smart really mean?




 © 2008 Ivar Jacobson International                     37
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                              38
Of course, eventually it comes back to you, but




              We can all
              become
              smarter.



 © 2008 Ivar Jacobson International               39
Thank
                                      You
                            Contact me at ivar@ivarjacobson.com
© 2008 Ivar Jacobson International                                40

More Related Content

What's hot

To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...
To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...
To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...John Sing
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from IndustryGarth Gilmour
 
Professor Brian Fitzgerald la_oss_forum
Professor Brian Fitzgerald la_oss_forumProfessor Brian Fitzgerald la_oss_forum
Professor Brian Fitzgerald la_oss_forumOpenSourceLGMA
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User ExperienceACM
 
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...Sociotechnical Roundtable
 
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013David Carroll
 
iSusLab: a Sakai-based Virtual Research Environment for scientists
iSusLab: a Sakai-based Virtual Research Environment for scientistsiSusLab: a Sakai-based Virtual Research Environment for scientists
iSusLab: a Sakai-based Virtual Research Environment for scientistsJez Cope
 
IP Creators & Users Group Description
IP Creators & Users Group DescriptionIP Creators & Users Group Description
IP Creators & Users Group Descriptionedesigner25
 
Snapp high edweb_2010
Snapp high edweb_2010Snapp high edweb_2010
Snapp high edweb_2010snappdotsix
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
 
Effective R&D @ India
Effective R&D @ IndiaEffective R&D @ India
Effective R&D @ IndiaDvir Zohar
 

What's hot (19)

DevOps
DevOpsDevOps
DevOps
 
To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...
To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...
To_Infinity_and_Beyond_2012_Big_Data_Internet_Scale_Update_November_2012_v2_J...
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from Industry
 
OCSB - District Tech Changes
OCSB - District Tech ChangesOCSB - District Tech Changes
OCSB - District Tech Changes
 
Professor Brian Fitzgerald la_oss_forum
Professor Brian Fitzgerald la_oss_forumProfessor Brian Fitzgerald la_oss_forum
Professor Brian Fitzgerald la_oss_forum
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Internsthip 2011
Internsthip 2011Internsthip 2011
Internsthip 2011
 
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...
Thriving in an Uncertain World: Designing Virtual Teams Across the Innovation...
 
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013
LazyBytes Exhibition Public Talk, Parsons, New York, Oct 24, 2013
 
Scrum Hates Technical Debt
Scrum Hates Technical DebtScrum Hates Technical Debt
Scrum Hates Technical Debt
 
FUTURE OF SwEEd
FUTURE OF SwEEdFUTURE OF SwEEd
FUTURE OF SwEEd
 
iSusLab: a Sakai-based Virtual Research Environment for scientists
iSusLab: a Sakai-based Virtual Research Environment for scientistsiSusLab: a Sakai-based Virtual Research Environment for scientists
iSusLab: a Sakai-based Virtual Research Environment for scientists
 
IP Creators & Users Group Description
IP Creators & Users Group DescriptionIP Creators & Users Group Description
IP Creators & Users Group Description
 
01 (IDNOG01) Keynote 1 by Barry Greene
01 (IDNOG01) Keynote 1 by Barry Greene01 (IDNOG01) Keynote 1 by Barry Greene
01 (IDNOG01) Keynote 1 by Barry Greene
 
Disruptive technologies
Disruptive technologiesDisruptive technologies
Disruptive technologies
 
Design for Interaction
Design for InteractionDesign for Interaction
Design for Interaction
 
Snapp high edweb_2010
Snapp high edweb_2010Snapp high edweb_2010
Snapp high edweb_2010
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
 
Effective R&D @ India
Effective R&D @ IndiaEffective R&D @ India
Effective R&D @ India
 

Viewers also liked

La reproducción humana- Lorena y Pilar
La reproducción humana- Lorena y PilarLa reproducción humana- Lorena y Pilar
La reproducción humana- Lorena y Pilar3ciclozurita
 
Acid rain powerpoint presentation[1]
Acid rain powerpoint presentation[1]Acid rain powerpoint presentation[1]
Acid rain powerpoint presentation[1]jodibaker1
 
Future proofing our students
Future proofing our students Future proofing our students
Future proofing our students Pip Cleaves
 
Module 002 get started with your i pad
Module 002   get started with your i padModule 002   get started with your i pad
Module 002 get started with your i padMostafa Al Ashery
 
UX Café March '13 - Mark Doolan
UX Café March '13 - Mark DoolanUX Café March '13 - Mark Doolan
UX Café March '13 - Mark DoolanUX Café
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting PersonalKirsty Hulse
 

Viewers also liked (13)

La reproducción humana- Lorena y Pilar
La reproducción humana- Lorena y PilarLa reproducción humana- Lorena y Pilar
La reproducción humana- Lorena y Pilar
 
Acid rain powerpoint presentation[1]
Acid rain powerpoint presentation[1]Acid rain powerpoint presentation[1]
Acid rain powerpoint presentation[1]
 
Chapter10
Chapter10Chapter10
Chapter10
 
Acids and bases
Acids and basesAcids and bases
Acids and bases
 
Future proofing our students
Future proofing our students Future proofing our students
Future proofing our students
 
Module 002 get started with your i pad
Module 002   get started with your i padModule 002   get started with your i pad
Module 002 get started with your i pad
 
Lecture 2 slides
Lecture 2 slidesLecture 2 slides
Lecture 2 slides
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
UX Café March '13 - Mark Doolan
UX Café March '13 - Mark DoolanUX Café March '13 - Mark Doolan
UX Café March '13 - Mark Doolan
 
Essence of god
Essence of godEssence of god
Essence of god
 
Pedro
PedroPedro
Pedro
 
SEO: Getting Personal
SEO: Getting PersonalSEO: Getting Personal
SEO: Getting Personal
 

Similar to Smart

Agile Or Pmbok 11 Jun09
Agile Or Pmbok 11 Jun09Agile Or Pmbok 11 Jun09
Agile Or Pmbok 11 Jun09RHDrown
 
ETIS11 - Agile Business Intelligence - Presentation
ETIS11 -  Agile Business Intelligence - PresentationETIS11 -  Agile Business Intelligence - Presentation
ETIS11 - Agile Business Intelligence - PresentationDavid Walker
 
IPsoft Recruitment Brochure
IPsoft Recruitment BrochureIPsoft Recruitment Brochure
IPsoft Recruitment Brochuredlongipsoft
 
Dispelling the mystery around resource planning revc
Dispelling the mystery around resource planning revcDispelling the mystery around resource planning revc
Dispelling the mystery around resource planning revckdelcol
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesIgor Moochnick
 
Things you should know about cloud HR solutions
Things you should know about cloud HR solutions   Things you should know about cloud HR solutions
Things you should know about cloud HR solutions Rob Scott
 
Lessons Learned: Creating Software as a Service from Scratch
Lessons Learned: Creating Software as a Service from ScratchLessons Learned: Creating Software as a Service from Scratch
Lessons Learned: Creating Software as a Service from ScratchSVPMA
 
FOSS and agile software development
FOSS and agile software developmentFOSS and agile software development
FOSS and agile software developmentDUONG Trong Tan
 
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS SFD2012Hanoi - Duong Trong Tan - Agile and FOSS
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS Vu Hung Nguyen
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsMarc Crudgington, MBA
 
Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Rob Scott
 
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAmit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAgileSparks
 
Welcome to almaden 20140904 v12 short
Welcome to almaden 20140904 v12 shortWelcome to almaden 20140904 v12 short
Welcome to almaden 20140904 v12 shortISSIP
 
The Creative Product Owner
The Creative Product OwnerThe Creative Product Owner
The Creative Product OwnerAl Bennett
 
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...Profesia Srl, Lynx Group
 
The Importance of Great Service Desk Design
The Importance of Great Service Desk DesignThe Importance of Great Service Desk Design
The Importance of Great Service Desk DesignCA Nimsoft
 
Agile Software Development (Monash University - Guest Lecture series)
Agile Software Development (Monash University - Guest Lecture series)Agile Software Development (Monash University - Guest Lecture series)
Agile Software Development (Monash University - Guest Lecture series)Nigel Fernandes
 

Similar to Smart (20)

Agile Or Pmbok 11 Jun09
Agile Or Pmbok 11 Jun09Agile Or Pmbok 11 Jun09
Agile Or Pmbok 11 Jun09
 
ETIS11 - Agile Business Intelligence - Presentation
ETIS11 -  Agile Business Intelligence - PresentationETIS11 -  Agile Business Intelligence - Presentation
ETIS11 - Agile Business Intelligence - Presentation
 
IPsoft Recruitment Brochure
IPsoft Recruitment BrochureIPsoft Recruitment Brochure
IPsoft Recruitment Brochure
 
Dispelling the mystery around resource planning revc
Dispelling the mystery around resource planning revcDispelling the mystery around resource planning revc
Dispelling the mystery around resource planning revc
 
Agile values
Agile valuesAgile values
Agile values
 
Arch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best PracticesArch factory - Agile Design: Best Practices
Arch factory - Agile Design: Best Practices
 
Things you should know about cloud HR solutions
Things you should know about cloud HR solutions   Things you should know about cloud HR solutions
Things you should know about cloud HR solutions
 
Lessons Learned: Creating Software as a Service from Scratch
Lessons Learned: Creating Software as a Service from ScratchLessons Learned: Creating Software as a Service from Scratch
Lessons Learned: Creating Software as a Service from Scratch
 
FOSS and agile software development
FOSS and agile software developmentFOSS and agile software development
FOSS and agile software development
 
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS SFD2012Hanoi - Duong Trong Tan - Agile and FOSS
SFD2012Hanoi - Duong Trong Tan - Agile and FOSS
 
Agile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful OrganizationsAgile Development Product Delivery For Successful Organizations
Agile Development Product Delivery For Successful Organizations
 
Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?Cloud HR: clear flying or congested chaos?
Cloud HR: clear flying or congested chaos?
 
Managing a Great Career in IT
Managing a Great Career in ITManaging a Great Career in IT
Managing a Great Career in IT
 
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the uglyAmit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
Amit Monovitch RSA Case Study - Agile SCRUM - The good, the bad and the ugly
 
Welcome to almaden 20140904 v12 short
Welcome to almaden 20140904 v12 shortWelcome to almaden 20140904 v12 short
Welcome to almaden 20140904 v12 short
 
AMI Presentation
AMI PresentationAMI Presentation
AMI Presentation
 
The Creative Product Owner
The Creative Product OwnerThe Creative Product Owner
The Creative Product Owner
 
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...
Liberating the Essence from the Burden of the Whole: A Renaissance in Lean Th...
 
The Importance of Great Service Desk Design
The Importance of Great Service Desk DesignThe Importance of Great Service Desk Design
The Importance of Great Service Desk Design
 
Agile Software Development (Monash University - Guest Lecture series)
Agile Software Development (Monash University - Guest Lecture series)Agile Software Development (Monash University - Guest Lecture series)
Agile Software Development (Monash University - Guest Lecture series)
 

Recently uploaded

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdfJamie (Taka) Wang
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 

Recently uploaded (20)

Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
20200723_insight_release_plan_v6.pdf20200723_insight_release_plan_v6.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 

Smart

  • 1. Be Smart! or What they don’t teach you about software at school Ivar Jacobson with Ian Spence, Pan Wei Ng and Kurt Bittner ivar@ivarjacobson.com www.ivarblog.com
  • 2. Your goal is the same as always! Good Software Good Software, Quickly and at Low Cost! © 2008 Ivar Jacobson International 2
  • 3. What it takes Quickly Competent & Motivated People Low Cost Large Scale Reuse of Components Good Software Useful Extensible Reliable © 2008 Ivar Jacobson International 3
  • 4. What it takes Quickly What they don’t Competent & Motivated People teach you about Low Cost Large Scale Reuse of Components software at school Useful ☺ Good Software Extensible Reliable
  • 5. One major obstacle…we are a fashion industry 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 This is unsmart! The software industry keeps looking for a silver bullet © 2008 Ivar Jacobson International 5
  • 6. One major obstacle…we are 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 This is unsmart! The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International 6
  • 7. One major obstacle…we are 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 This is unsmart! The software industry keeps looking for silver bullets © 2008 Ivar Jacobson International 7
  • 8. Agenda 1. What does Smart mean? 2. Smart Cases – Recognize it when you see it 3. How do you become Smart 4. What does Smart really mean? © 2008 Ivar Jacobson International 8
  • 9. What does Smart mean? Things should be done as simple as possible – but no simpler - Albert Einstein E= mc2 This is smart! © 2008 Ivar Jacobson International 9
  • 10. Smart and Intelligent? • 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 Mr Smart © 2008 Ivar Jacobson International 10
  • 11. Smart and Agile? • Being Smart is an evolution of Being Agile – Agile means being flexible and adaptable. – Agile provide simple/lightweight starting points – But being smart is knowing when to go beyond agile • Knowing when to follow the rules and when to break them • Knowing when to be consistent and when to change • Knowing when to grow and when to shrink Mr Smart Smart = Agile ++ © 2008 Ivar Jacobson International 11
  • 12. Everyone is Agile! • Agile is in Everything! • Agile’s origin is social engineering – Now everything good in software development has become agile • Scaling agile – Picking the low hanging fruits of agile – Getting the dramatic effects with agile • Practices are the tool to scale – There are practices and Practices – Practices made practical – Our precise practices are as simple as possible – but not simpler – Precise practices change the whole concept of process © 2008 Ivar Jacobson International 12
  • 13. Agenda 1. What does Smart mean? 2. Smart Cases – Recognize it when you see it 1. People 2. Teams 3. Projects What they don’t 4. Requirements teach you 5. Architecture 6. Modeling about software 7. Test at school 8. Documentation 9. Process 10.Knowledge ☺ 11.Outsourcing 12.Tools 3. How do you become Smart 4. What does Smart really mean? www.ivarblog.com © 2008 Ivar Jacobson International 13
  • 14. Not smart with People Some companies view process and tools as more important than people This is unsmart! A fool with a tool is still a fool but a dangerous fool © 2008 Ivar Jacobson International 14
  • 15. Smart with People Case study: Ericsson AXE – the largest commercial success story ever in Sweden –We had no tools and no defined process –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 Software is developed by people, This is smart! not by process and tools. © 2008 Ivar Jacobson International 15
  • 16. Not smart with Teams • Many software projects involve 20+ people • Often organized into stove-pipe groups: – Requirements, Analysis, Design, Coding, Testing, etc. This is unsmart! Requirements Implementation Test © 2008 Ivar Jacobson International 16
  • 17. Smart with Teams • Teams are cross-functional Including analysts, developers, testers etc… • Ideal size of the team is less than 10 people This is smart! A software team is like a sport team with all needed competencies to win. © 2008 Ivar Jacobson International 17
  • 18. Not smart with Projects • Most companies still follow the waterfall approach Requirements High-Level Design Detailed-Level This is unsmart! Design Coding Crash! Testing © 2008 Ivar Jacobson International 18
  • 19. 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 This is smart! Skinny System Full Fledged System Think big, build in many steps © 2008 Ivar Jacobson International 19
  • 20. Not smart with Requirements • Many managers (and customers) believe you can detail all the requirements upfront... • ...and based on these can accurately predict the cost of the solution Thou shalt work with fixed requirements for fixed prices This is unsmart! A constant in software development is that requirements always change © 2008 Ivar Jacobson International 20
  • 21. 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 • Remember requirements are negotiable and priorities will change This is I understand your needs, let’s work smart! together to make sure we develop the right system for the right price. Design your project for requirement changes © 2008 Ivar Jacobson International 21
  • 22. Not smart with Architecture Two extremes: Mr Enterprise Architect on Ivory Tower No architecture Just Code Refactor later I’ll design everything up front This is unsmart! Mr Supposedly Agile The single most important determinant of a software system’s quality is the quality of its architecture © 2008 Ivar Jacobson International 22
  • 23. 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 Architectural Blue Print Skinny System Full Fledged System Start to build a skinny system, This is add muscles in later steps smart! © 2008 Ivar Jacobson International 23
  • 24. Not smart with Test We have two classes of people: Developers and Testers – Developers are the creators…it is OK to create bugs as well – Testers are the cleaners in the software world Testing is done as an after thought – too late and too expensive This is unsmart! © 2008 Ivar Jacobson International 24
  • 25. Smart with Test We are all testers ! This is smart! Whatever you do you are not done until you have verified that you did what you wanted to do © 2008 Ivar Jacobson International 25
  • 26. Not smart with Documentation • There has been an over-emphasis on teams producing documentation Thou shalt follow the document template I give you to document every part of This is unsmart! the system. © 2008 Ivar Jacobson International 26
  • 27. Smart with Documentation Myth: The idea that you document software so people later can read what you did. – Law of nature: People don’t read documents This is smart! Focus on the essentials - the placeholders for conversations – people figure out the rest themselves © 2008 Ivar Jacobson International 27
  • 28. Not smart with Process/Methodology/Approach Agile CMMI Unified CMMI Process Existing Way of Working Project Lead © 2008 Ivar Jacobson International 28
  • 29. Not smart with Process/Methodology/Approach Agile CMMI Unified CMMI Process Existing Way of Working Project Lead © 2008 Ivar Jacobson International 29
  • 30. Not smart with Process/Methodology/Approach Agile CMMI Unified CMMI Process I want a new way of working New Way of Working Project Lead © 2008 Ivar Jacobson International 30
  • 31. Not smart with Process/Methodology/Approach We have got enough of process Agile Unified CMMI Process I like to have Let me start some to I want of have with Agile, unified some of CMMI maybe process Does notget it I cannot together work New Way of Working This is unsmart! Project Lead © 2008 Ivar Jacobson International 31
  • 32. Smart with Process/Methodology/Approach Existing Way of Working Don’t throw out your baby with the bathwater: 1. start from your existing way of working, 2. find your pain points, and 3. change one practice at the time. © 2008 Ivar Jacobson International 32
  • 33. Smart with Process/Methodology/Approach And the Law of Nature: People don’t read process books So focus on the essentials, people figure out the rest themselves New Way of This is Working smart! Don’t throw away your baby with the bathwater: 1. start from your existing way of working, 2. find your pain points, and 3. change one practice at the time. © 2008 Ivar Jacobson International 33
  • 34. Agenda 1. What does Smart mean? 2. Smart Cases – Recognize it when you see it 3. How do you become Smart 4. What does Smart really mean? © 2008 Ivar Jacobson International 34
  • 35. Summary: Key Elements to Smart Cases • People: Software is developed by people, not by process and tools. • Teams: A software team is like a sport team with all needed competencies to win. • Project: Think big, build in many steps. • Requirements: Design your project for requirement changes. • Architecture: Start to build a skinny system, add muscles in later steps. • Modeling: Don’t duplicate the effort by modeling everything • Testing: Whatever you do you are not done until you have verified what you wanted to do. • Documentation: Focus on the essentials - the placeholders for conversations – people figure out the rest themselves • Process: Don’t throw away your baby with the bathwater: 1. start from your existing way of working, 2. find your pain points, and 3. change one practice at the time. © 2008 Ivar Jacobson International 35
  • 36. How do you become Smart? • You need knowledge in good (maybe best) practices – There are 100’s of practices, some of them are good Business Test-Driven Scrum Product-Line Risk-Driven Systems Modeling Development Engineering Iterative Engineering Development Aspect Robustness Retro- Business Process Use-Case Pair Orientation Analysis spectives Re-Engineering Driven Development Programming PSP User Stories SOA Prince2 Use-Case Program Modeling Management • And you need experience in using them © 2008 Ivar Jacobson International 36
  • 37. Agenda 1. What does Smart mean? 2. Smart Cases – Recognize it when you see it 3. How do you become Smart 4. What does Smart really mean? © 2008 Ivar Jacobson International 37
  • 38. 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 38
  • 39. Of course, eventually it comes back to you, but We can all become smarter. © 2008 Ivar Jacobson International 39
  • 40. Thank You Contact me at ivar@ivarjacobson.com © 2008 Ivar Jacobson International 40