Development Process For Commercial Software Development
-
Upload
uladzimir-liashkevich -
Category
Technology
-
view
1.634 -
download
1
description
Transcript of Development Process For Commercial Software Development
Choosing commercial software development process
Uladzimir Liashkevich, © 2009
Development process
• Software engineering – systematic and disciplined approach
• Code & fix - hack until it works
• Software development methodologies• Waterfall• Spiral model• Rational Unified Process• Agile development• Lean development
Waterfall: theory
Waterfall: how it works
Waterfall: time-to-market
• Safeguard – Ballistic Missile Defense System• No late changes in requirements• 6 years of development• 5k person-years• $25 bln• Terminated after 133 days of operation – new missiles
were faster, than anti-missile missiles
Waterfall: target aiming
Waterfall: target aiming
Waterfall: target aiming
Waterfall: cost of change
Waterfall: problems
• Planning doesn’t work• Business may change faster than software is
developed• Changes in requirements are not easy• Cost of change• Progress is not clear
Solution
• Communication & Feedback• Continuous
• Software development as social activity• It is not about applying math methods
Agile manifesto
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Agile vs Waterfall
Scope
Time
Quality
Resources
Team building
• Feature team• Sits together
• Common goal• Motivated individuals• Team building is hard
Involve customer
• Product owner• Daily collaboration
• Product backlog• User stories• Prototyping
• Prioritizing backlog
Iterative development• Working software is the measure of success• Continuously deliver value
• Early and often• Valuable feedback
• Iteration planning• High priority user stories• Story estimates• Acceptance criteria• Iteration scope
• Implementation• Tough things first• Technical tasks as a part of user stories• Complete features• Continuous communication
Typical Agile life-cycle
Agile: target aiming
Agile: target aiming
Agile: target aiming
Quality
• Quality is free• Only if you are ready to pay for it
• External quality• Zero defect principle
• Internal quality• Technological debt
Questions?