13
FilemakerProductConference ‘12 Development Principles For a Hybrid Approach to Extensible Custom Development Chris Cain

FilemakerProductConference ‘12 Development Principles For a Hybrid Approach to Extensible Custom Development Chris Cain

Embed Size (px)

Citation preview

FilemakerProductConference ‘12

Development Principles For a Hybrid Approach to Extensible Custom Development

• Chris Cain

Development PrinciplesFor a Hybrid Approach to

Extensible Custom Development

Conventional Approaches

Product/Shrink-wrap• Carefully defined scope• Unique Approach to a

Specific Business Need• Hand-crafted, one-of-a-

kind development• Economy of scale

Custom Development• Singular Purpose• Unique Approach to a

Specific Business Need • Hand-crafted, one-of-a-

kind development• Interface or Process

Centric

The Hybrid Approach

• Pre-design as much as possible• Design for Extensibility, not a single, finished

product• Strive for consistency over creativity• Data-Centric development• Cross-pollination of ideas

The Hybrid ApproachPre-design as much as possible

• Don’t reinvent the wheel with each customer• Invest hours up-front, before the customer begins

steering development toward more narrow needs• Focus only on things that 90+% of clients can use– Contact Management– Activity Management– Users and Employees– System Preferences

The Hybrid ApproachDesign for Extensibility, not a single, finished product

• Change is the only constant. Consider each “hard-coded” parameter seriously.

• Place parameters in the hands of administrators

• Consider other uses for the solution of the moment

The Hybrid ApproachStrive for consistency over creativity

• Anyone can “think outside the box”… Build a better box.

• Consistent look and feel. Users shouldn’t have to be re-trained on each new layout, button, report

• Developers shouldn’t have to be retrained on the basics each time they work with a new client’s solution

• Centralize common functions wherever possible, so they can be changed across the board

The Hybrid ApproachData-Centric development

• Designing the data structure reveals gaps and opportunities

• With well-designed data structure, process and interface come naturally

• Good data design supports multiple processes and multiple interfaces… The reverse is NOT true.

The Hybrid ApproachCross-pollination of ideas

• Enhancements from one solution are more likely portable

• Crowdsource testing and enhancement opportunities

• Even totally custom solutions become ready tools in the toolbox for future development

• Opportunity for open-source base system shared by others in the FileMaker community– Reproduction + Variation + Competition = Evolution

Development Principles

Consistent, reliable foundation development

Abstraction

Extensibility and Efficiency

It Works

• 34 xBase Solutions created• 28 xBase Solutions still live and in use – (others lost through business closings, sales,

mergers, etc.)• 22 xBase Solutions have generated

development income in 2012

xBase Demo

Q & A