week 4 software development in the 21st century
DESCRIPTION
Course lecture for Week 4TRANSCRIPT
CS 292: Beyond the One Way Web
Matthew Jett Hall, Spring 2008http://beyondtheonewayweb.wordpress.com
Chapter 3 Summary Key Messages Software Development: Process & Approach
Methodologies Tools and Techniques CMM and ITIL Constructing measures of efficiency
Staff Sourcing Models In-Source Out-Source Offshoring / Labor Arbitrage Multi-Source
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 2
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 3
CASE tools make developing code more efficient
Process and technique increases organizational effectiveness
Professional Practices make the individual coder more effective
How you define and measure efficiency matters
Then: Single coder on an islandNow: Legions of coders on a single
land massCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 4
Art or Engineering? Procedural or Object Methodologies Tools and Techniques CMM and ITIL Constructing measures of efficiency
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 5
PROCEDURAL
Single point of entry Sequenced Subroutine Single point of exit
OBJECT
Event Driven Stimulus-Response No single point of
entry No single point of exit
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 6
Methodology A procedure by which a result is
achieved Used to organize labor activity Used to achieve an efficient outcome /
resultClassic Waterfall Iterative WaterfallXP
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 7
Process Steps Analyze Requirements Design Implement Integrate Test Maintain
Focus is on the big up front design
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 8
Rapid, light weightDeveloped to address
Shortcomings of waterfall / BUFD Fluid requirements Business Focus Small teams Pair programming Test driven coding
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 9
Language(s)CASECode and Version ManagementBug TrackingEstimation and Project ManagementProfessional Coding Practices
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 10
“ d. Computers. Any of numerous systems of precisely defined symbols and rules for using them that have been devised for writing programs or representing instructions and data. “
“language, n." The Oxford English Dictionary. 2nd ed. 1989. OED Online. Oxford University Press.
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 11
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 12
Data ModelingCode GenerationEditors IDEs
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 13
Technique to reduce data duplication in tables
Greater normalization, greater up front design
3NF: Third Normal Form Many joins Lot of SQL Statements Thoughtful design
Visualization helpsCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 14
Create a visual model Show interplay between objects Generate code Facilitates data normalization
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 15
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 16
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 17
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 18
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 19
Carnegie Mellon: SEIMeasure of repeatable code practiceLevels
1 Initial 2 Repeatable 3 Defined 4 Managed 5 Optimized
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 20
“ITIL is the only consistent and comprehensive documentation of best practice for IT Service Management.” Service Support Service Desk Problem and Change Management Incident Management Asset Management Configuration Management Service Delivery ITIL is a Registered Trade Mark of the Office of
Government Commerce in the United Kingdom and other countries
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 21
Costing and Estimation Line Counting Function Points Classes / Functions Elapsed and Staff Time Cost per labor and equipment
Constructive Costing Model (COCOMO)
Example ToolCS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 22
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 23
Barry Boehm: Software Engineering Economics , 1981
Computes T= FTE Years of Effort SLOC = Source Lines of Code Based upon attribute ratings▪ Product▪ Hardware▪ Personnel▪ Project
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 24
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 25
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 26
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 27
Individual effort matters
Internal Code Documentation Code readability Coding standards Consistency Automated documents
Thoughtful data typing
Hungarian Notation
Shared standards facilitates Intergenerational transfer team coding
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 28
In-Source Out-Source Business Process Outsourcing Off-Shoring / Labor Arbitrage Multi-Source
“The future of outsourcing is to take the work from any part of the world and do it any part of the world” A. Vemuri, Infosys SVP, New York Times, Sept. 25, 2007.
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 29
Check the class playlist
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 30
United States GDP: $13.86 trillion (2007 est.) 301,139,947 (July 2007 est.) English as a standard language
India GDP $2.965 trillion (2007
est.) 1,129,866,154 (July 2007
est.) Hindi Official Language English as a moderating
standard “middleware” there are 14 other official
languages CIA World Factbook
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 31
60 Minutes Video – Leslie Stahl on IITNehru -- built it for IndiaDuring IT boom, 1 in 6 Millionaires in
Silicon Valley were IIT graduatesAdmissions
200,000 apply, about 3,000 get in Only two attempts in lifetime
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 32
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 33
Information TechnologyCall centersData managementEngineering servicesHealthcare serviceFinancial servicesDigital imagingResearch & analysis
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 34
CulturalLinguisticTime ZoneScheduling
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 35
Wharton School of Business taught me….
ShirkingPoaching
AndOpportunistic Renegotiation
CS 292-1: Beyond the One Way Web (beyondtheonewayweb.wordpress.com) 36