Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 13

Building the Business Case for

Custom Software

Joshua Paul
Agenda

NeoCode Profile
Reasons for considering custom software
Issues when developing software
Do you really need to automate?
Stages of software development
Budgeting & Planning
Before the development begins …
Our History

•Company started 1998


•Renamed to Neo Code Software in 2002
Database solutions Using System Integration
Transaction Mgmt. File Maker ERP
Web Content Lasso CMS
+ Web Hosting PHP/MySQL Other Legacy

 Biggest FileMaker house in the west


 With >10 years of experience (certified)
 Mac OS X experience serving F500 corp.
Why consider custom software

 Cannot get functionality that you are seeking from


COTS;
 Cost of developing customer software is cheaper than
licensing a third-party package.
– Include the non-licensing costs,
 hardware

 training and

 on-going maintenance costs;

 Legal reason why you wish to own the software;


– significant competitive advantage, or
– you have plans to sell the software and need to own the
intellectual property rights.
Development Issues

 Study which found that 31% of software development projects


were canceled before completion, and only 16% were completed
on-time and on-budget (source = Standish Group’s CHAOS
Study).
 Software development projects that deliver poor results are
affected by:
– Inaccurate understanding of end-user needs
– Inability to deal with changing requirements
– Modules that don't fit together
– Software that's hard to maintain or extend
– Late discovery of serious projects flaws
– Poor software quality
– Unacceptable software performance
– Team members in each other's way
– An untrustworthy build and release process
Do you need to automate ?

 Automate when:
– the cost is less than benefit (i.e. significantly
increases productivity)
– process is integral to the business
– want to reduce failure points in a process (i.e.
don’t want to rely on a single person to perform
a key function)
Stages of Software Development
Budgeting & Planning

 Two forms of budgeting


– ‘Bottom Up’ approach (to determine people
and time costs),
– ‘Top Down’ approach to determine the return
on investment.
Bottom Up Budget
 Consists of:
– creating a lists of granular tasks,
– determining the skill set required to achieve the tasks,
– assigning individuals to the tasks,
– determining the costs of the individual time for each task,
– ensuring that the individuals have sufficient time and
complimentary resources (i.e. tools and other individuals with
complimentary skills).
 A project plan is derived from the creation of the task list,
assigning individuals and/or required skills, determining the
time associated with each individual and/or skill, and the
associated cost of each resource for the required time.
 Benefits:
– Involves many people who may ultimately be involved in the
project, so it intrinsically builds project involvement.
 Note: Determining ROI is done with the Top Down budgeting
model
Top Down Budgeting

 Driven from the top downwards within an


organization, this model answers the question, “How
much can we afford to pay to receive improved
benefits?”
– Example, if automating a task or series of tasks improves
productivity by 30 minutes daily for each staff member, and
there are 6 people performing that task, then what is the
financial benefit? Assuming staff costs are $25 hourly, then
the calculation will be:
– 6 x ½ hour x $25(/hr) = $75 financial benefit daily
– $75 daily x 5 days x 48 weeks = $18,000 financial benefit
– Therefore, if a project was estimated to cost $15,000, then the
breakeven would be 9.9 (10) months.
 Naturally the above calculation is a simple one that ignores
carrying costs, benefits, etc.
Before writing the code …

Document the business requirements


 Requirements come from:
– Users; AND
– Individuals using the information coming from the applications
(online or printed reports, dashboards or alerts notifying a user or
application when a specific condition is reached);
– Other applications, such as the accounting system, MRP, Business
Intelligence systems.
 When preparing business requirements, the following elements
should be considered:
– Documenting the related business process;
– Describing the business impact of the business process on other
affected business processes;
– What the expected behavior of this process should be;
– The expected user usage and behavior (as it relates to the
application!) (“use case”);
Summary

1. Most custom development software is to improve


productivity or create unavailable functionality;
2. Cost is always an issue! Reduce your cost significantly
by taking the time to plan the work and document the
plan;
3. Keep functionality simple; Don’t automate too much at
once;
4. Work with a developer who understands your business
issues before they start coding the application!
Questions?
Joshua Paul
joshua@neocodesoftware.com

You might also like