Pitfalls Of Software Development: What every Executives Should Know

Post on 22-Nov-2014

2.796 views 0 download

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 developments

Transcript of Pitfalls Of Software Development: What every Executives Should Know

Pitfalls of Software Development:What Every Executive should Know

Marie Josée (MJ) Drouin @ VSF

09/10/07

mjdrouin@gmail.com

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