improving software economics. software & the internet: business drivers surveyed 100 software...
Post on 21-Dec-2015
215 views
TRANSCRIPT
Software & the Internet: Business DriversSoftware & the Internet: Business Drivers
Surveyed 100 SoftwareIndustry Experts
Surveyed 100 SoftwareIndustry Experts
1. Growth of complexity
2. Continuously-evolving systems
3. Software Development
1. Growth of complexity
2. Continuously-evolving systems
3. Software Development
HighHighHighHigh
MediumMediumMediumMedium
LowLowLowLow
TimeTimeTimeTime
Distributed
Concurrent
Connected
Real-time/embedded
Fault tolerant
Customized
Stock TradingStock Trading
1. Growth of Complexity: e-business1. Growth of Complexity: e-business
2. Continuously-evolving Systems2. Continuously-evolving Systems
Conventional Yearly +
Conventional Yearly +
Modern < Yearly
Modern < Yearly
Near Future Monthly Weekly Daily
Near Future Monthly Weekly Daily
The
New
Eco
nom
yTh
e N
ew E
cono
my
Year 2Year 2Year 1Year 1
Year 2Year 2Year 1Year 1
Year 2Year 2Year 1Year 124x7x365
Global
24x7x365
Global
3. Software Development: Today’s Business Driver3. Software Development: Today’s Business Driver
SoftwareDevelopment
SoftwareDevelopmentBandwidthBandwidth
Accessibility & Usage
Accessibility & UsagePowerPower
Simplified Software EconomicsSimplified Software Economics
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
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
ProjectPerformanceProjectPerformance = (Complexity) (Process)
* (Team) * (Tools) = (Complexity) (Process) * (Team) * (Tools)
Software ElementsSoftware Elements
ComponentsComponents
Reduce the Proportion of Hand Written CodeReduce the Proportion of Hand Written CodeHardware ElementsHardware Elements
ChipsChips SystemSystemCardsCards
Higher ComplexityHigher Complexity Lower ComplexityLower Complexity
SubsystemsSubsystemsStatementsStatements
Use higher level software componentsto enable economically significant reuse
Use higher level software componentsto enable economically significant reuse
ApplicationApplication
GatesGates RacksRacks
InstructionsInstructions
If a = b then c=1Else c=2While n> cDecrement_countend
If a = b then c=1Else c=2While n> cDecrement_countend
TimeTime
Results of An Architecture-First ProcessResults of An Architecture-First ProcessR
isk
Ris
k
Risk Resolution
Period
Risk Resolution
Period
Risk Exploration
Period
Risk Exploration
Period
Controlled Risk Management PeriodControlled Risk Management Period
IterativeIterativeWaterfallWaterfall
Risk ReductionRisk Reduction
Improve Team ProficiencyImprove Team Proficiency
Smaller, more capable teams are key to success Consistent, simple communication paths Empowered and self-managed Ownership in the plan and accountable
Smaller, more capable teams are key to success Consistent, simple communication paths Empowered and self-managed Ownership in the plan and accountable
Instrument Through an Integrated EnvironmentInstrument Through an Integrated Environment
AutomatedTesting
Requirements Management
Project Management
Programming Environment
VisualModeling
Project ArtifactsProject Artifacts
Change Management
Change Management
Round-trip
Engineering
Round-trip
Engineering Round-trip
Engineering
Round-trip
Engineering
Round-trip
Engineering
Round-trip
Engineering
Round-trip
Engineering
Round-trip
Engineering