building the case for custom software
TRANSCRIPT
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 ?
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!