Hidden costs of software product

Post on 20-Aug-2015

2.636 views 3 download

Tags:

Transcript of Hidden costs of software product

The Hidden Cost of a Software Project

Aviram Eisenberg, CEO, Ignite

Ignite - Who We Are

A Software Development Management companyExpertise in Project ManagementExpertise in SW Development methodologies & tools

Agile/Scrum/XP/KanbanLean Software DevelopmentTOCCustomized flavor

Expertise in Global Delivery modelsDistributed developmentOffshore development (Eastern Europe)

Expertise in Project DeliveryTurn-key, dedicated teams, ODC, BOT

A Typical SW Dev Project

30609012018024030042045048051054057060063066069081084087097010000

2

4

6

8

10

12

14

Team Members Over Time

Maintenance time

Two main activitiesBug fixing

Enhacements

Cost Breakdown

Cost of Maintenance/SupportCost of training

Cost of enhancementOO/Reusable code

Modular Architecture

Technology selection

Cost of upgradeProject vs. Product orientation

Migration path

Cost of acceptance

Cost Breakdown

Cost of production bugsIdentification costs

Direct losses

Loss of reputation

Loss of future deals

Trainability

The product competence to east the cost of training

Usability!Product documentationContextual helpCommunity & ForumsWebinarsTraining courses

Supportability

Product competence to ease the cost of supportMonitoring/AlertingRemote AccessStatus collection toolsCommoditizationVirtualization and Cloud computing Live Chat

Upgradability

Avoid Project approach (unless its well-paid)Incremental migration pathModular migration pathMulti-station distributionAutomatic distribution (though not common in Enterprise software)Silent upgradeSeamless upgradeFallback!

Acceptability

A Product competence to reduce acceptance costsTest Automation

Smoke testingSanity testingRegression testing

Well defined flow/scriptsHot fixes/selective replacementReasonably reduced acceptance test environments

Tracability

Product competence to detect anything that happened in the software flowMain purpose – detect production bugs

Trace objectsTrace function pointsSelective turn on/offTimestampingObject signingStats/counters

Auditability

A product competence to detect what happened in the systemDetect admin errorsDetect malicious actsLog all admin actionsUndo mechanism

Robustness

Identify hang scenariosWatchdog/heart bitTimeout mechanismsAvoid synchronous mechanisms

Clean garbage before reload

Avoid data lossAsynchronous retriesPersistency

Use traffic gatewaysQueue sizeRTT latency

Other Topics

VulnerabilityData ProtectionHigh AvailabilityPerformance Scalability

Q&AAviram Eisenberg

Ignitewww.igniteoutsourcing.com

aviram@IgniteOutsourcing.com