Corporate Template

Document Sample
Corporate Template Powered By Docstoc
					                                   ®




              IBM Software Group




Software Fundamentals

Grady Booch
IBM Fellow
        IBM Software Group | Rational software


The Role Of Software
      Our civilization runs on software
       Innovating to capture new value
       Improving productivity of resources deployed




      But, software (information system) development
               has been, is, and remains hard
             IBM Software Group | Rational software


The Economics of Software


  Project  = (Complexity) (Process) * (Team) * (Tools)
  Performance

   Where:
    Project
     Performance        =   Effort or time
    Complexity         =   Volume of human-generated code
    Process            =   Methods, notations, maturity
    Team               =   Skill set, experience, motivation
    Tools              =   Software process automation
        IBM Software Group | Rational software


Barriers To Advancement



                       Accessibility                           Software
     Power               & Usage                 Bandwidth   Development
         IBM Software Group | Rational software


Creating The Illusion Of Simplicity
         IBM Software Group | Rational software


The Software Development Paradox


    Building quality software that matters is fundamentally hard work
     Software development often takes longer than we expect it should
     There never seems to be enough time to do quality work
     There’s always more that remains to be done
    Software-intensive systems can amplify human intelligence, but they
     cannot replace human judgment
    Software-intensive systems can fuse, coordinate, classify, and analyze
     information, but they cannot create knowledge
    IBM Software Group | Rational software




         The entire history of software engineering
      is characterized by rising levels of abstraction

              An abstraction is a general idea rather than
         one relating to a particular object, person, or situation.




 Languages: Assembly -> Fortran/COBOL -> Simula -> C++ -> Java
  Platforms: Naked HW -> BIOS -> OS -> Middleware -> Domain-specific
 Processes: Waterfall -> Spiral -> Iterative -> Agile
Architecture: Procedural -> Object Oriented -> Service Oriented
       Tools: Early tools -> CLE -> IDE -> XDE -> CDE
Enablement: Individual -> Workgroup -> Organization
 Ownership: Proprietary systems -> Open standards
        IBM Software Group | Rational software


The Software Development Paradox


      Not everything we want to build can be built
       Theoretical/technical/pragmatic limitations

      Not everything we want to build should be built
       Economic/social/political limitations
          IBM Software Group | Rational software


Examples

 There are theoretical as well as practical limits to information density
 The limitations of human understandability
 The Influence of Politics
 The average software developer does not have as a core competency
  the ability to build distributed, concurrent, and secure systems of scale
 No architectural reference exists for software-intensive systems
 There have been only incremental improvements in programmer
  productivity and the programming model
          IBM Software Group | Rational software


Conclusion

    Building quality software that matters is – and will remain - fundamentally hard
    Individuals and teams must cope with high degrees of uncertainty, ambiguity,
     and chaos, while at the same time, demanding creativity, predictability, and
     repeatability
    We can only hope to engineer the illusion of simplicity

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:4
posted:5/1/2012
language:English
pages:10