pitfalls of software development: what every executives should know
DESCRIPTION
Presentation done at the October 2009 Video Services Forum (VSF) meeting in Charlotte, NC. It provides a very high-level description of the two main problems for the success of Software Development projects: Requirements and Costing. It concludes with the upcoming trends and technological impacts for future software developmentsTRANSCRIPT
Pitfalls of Software Development:What Every Executive should Know
Marie Josée (MJ) Drouin @ VSF
09/10/07
Who am I?
• Director with 15 years of Media experience, I lead technical teams of up
to 30 people and 3 managers to deliver most aspects of the business -
Operations, Customer Services, Information Technologies, Project
Management, Engineering, and Procurement. I developed expertise in
managing cable, wireless, satellite, transmission, engineering and
software development. I worked at Bell, Teleglobe, Intelsat, CBC and
as a expert consultant.
• Professional Engineer, Masters in Technological Management, ITIL
foundation, PMP
• I have extensive experience in speaking since the 90's (ouf!), subjects
were always a mix of technologies, commerce and management.
• Past engagements were: 8 weeks on Twitter: I love it! (2009), The
Future of Broadcast Archive Systems (2008), DVB-H: Video over IP
goes Wireless (2006), HDTV distribution (2005), Video over IP (2004)
and, Several broadcast technical training (1994-1998): Video 101,
Digital Video and Compression 201, Video testing techniques 301.
• http://www.linkedin.com/in/mjdrouin
• http://twitter.com/mjdrouin
09/10/07 2VSF October 2009, Charlotte, NC
Pitfalls of Software Development?
1. Requirements
2. Costing
3. Technology
09/10/07 3VSF October 2009, Charlotte, NC
Software is everywhere
VSF October 2009, Charlotte, NC 409/10/07
Standish Group – Software Projects
09/10/07 5VSF October 2009, Charlotte, NC
Pitfalls of Software Development?
1. Requirements
2. Costing
3. Technology
09/10/07 6VSF October 2009, Charlotte, NC
Requirements: What do you need?
1. Power users
2. Priority management
3. Plan releases
4. Links to other systems
09/10/07 7VSF October 2009, Charlotte, NC
Access to power users
• From the start
• Throughout the project
• Participate to discovery &
concept design
• Improve creativity as a
member of the team
Secret:
• Spot-check and regularity
• Team
09/10/07 8VSF October 2009, Charlotte, NC
Waste: Building what you don’t need
VSF October 2009, Charlotte, NC 909/10/07
Source: Standish Group
Study of 2000 projects at
1000 companies
Usage of Features and
Functions in Typical
System
Priority Management
• Business Value vs Development Efforts
• Feature sets
• Focus: Start Small
• Incremental development
Secrets:
• Data entry features
• Functionalities – core business
• Reports and retro-action features, afterward
• Avoid hard-coded processes
09/10/07 10VSF October 2009, Charlotte, NC
Release Management
• Start small, choose only major features
• Redo priority before each release
• Keep a living list of desirable features
• Can’t know what you’ll need
• By using it, users will find
new features
Secret:
• Don’t just replace what you have
09/10/07 11VSF October 2009, Charlotte, NC
Links to other Systems
• Web services
• API
• Shared dB
Secret:
• Business team need to think of their
data and links between them
09/10/07 12VSF October 2009, Charlotte, NC
Pitfalls of Software Development?
1. Requirements
2. Costing
3. Technology
09/10/07 13VSF October 2009, Charlotte, NC
Costing
1. Easy evaluation: Cost units
2. Knowledge Bases
3. Cost risk factors
09/10/07 14VSF October 2009, Charlotte, NC
Cost Units
• Every aspects of every feature
• Every screen
• Every click for every System involved
+ a % for:
• Analysis, specifications, design
• Planning, PM
• Test, test, test
• Implementation
09/10/07 15VSF October 2009, Charlotte, NC
KNOWLEDGE BASES
Cone of uncertainty
Defect cost increase
Cocomo
VSF October 2009, Charlotte, NC 1609/10/07
Cone of Uncertainty
09/10/07 17VSF October 2009, Charlotte, NC
Defect cost increase
09/10/07 18VSF October 2009, Charlotte, NC
Cocomo II
VSF October 2009, Charlotte, NC 1909/10/07
Cost Risk Factors
• Team quality, experience and discipline
• Software development best practices
• Business targets ≠ estimates
• Rewrite code = 100% cost increase
• Planning and Risk Management: Plan for
rework and monitor it
• Focus on quality and costs rather than
schedule
• Licence agreements
Secret: Other systems!
VSF October 2009, Charlotte, NC 2009/10/07
Pitfalls of Software Development?
1. Requirements
2. Costing
3. Technology
09/10/07 21VSF October 2009, Charlotte, NC
Technology
1. Technology debt
2. Human factors
3. New trends
09/10/07 22VSF October 2009, Charlotte, NC
Technology Debt
• Teams skills
–Coding language experience
–Maintenance and operations
• Stability and complexity of
ancillary systems
• Maturity of technology
VSF October 2009, Charlotte, NC 2309/10/07
Human Factors
• Technologies change but concepts,
design and architecture stays
• Team knowledge and professionalism
makes more difference than chosen
technology
• Practice makes perfect
• Reuse of existing code, systems, data
• Simplicity
VSF October 2009, Charlotte, NC 2409/10/07
New Trends
• Open-source
• Social media: Web 2.0
• Linked and structured data: Web 3.0
• Real-time
• Mobile
• Personalization, filtering
• Privacy
• Security
• Internet of things
VSF October 2009, Charlotte, NC 2509/10/07
Conclusions
1. Manage Priorities – Start Small
2. Get involved - Vision
3. Cost in stages - Plan releases
4. Focus on Quality
09/10/07 26VSF October 2009, Charlotte, NC
People – People - People
Questions?
09/10/07 27VSF October 2009, Charlotte, NC