building the case for custom software

13
Joshua Paul Building the Business Case for Custom Software

Upload: guestded015

Post on 16-Aug-2015

270 views

Category:

Business


0 download

TRANSCRIPT

Joshua Paul

Building the Business Case for Custom Software

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 …

Agenda

Our History

•Company started 1998

•Renamed to Neo Code Software in 2002

Database solutions

Transaction Mgmt.

Web Content

+ Web Hosting

Using

File Maker

Lasso

PHP/MySQL

System Integration

ERP

CMS

Other Legacy

Biggest FileMaker house in the west

With >10 years of experience (certified)

Mac OS X experience serving F500 corp.

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.

Why consider custom software

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

Development Issues

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)

Do you need to automate ?

Stages of Software Development

Two forms of budgeting– ‘Bottom Up’ approach (to determine people

and time costs), – ‘Top Down’ approach to determine the return

on investment.

Budgeting & Planning

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

Bottom Up Budget

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.

Top Down Budgeting

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”);

Before writing the code …

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?Questions?Joshua Paul

[email protected]