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
[email protected]