Blog: Elegant Simplicity versus Clever Complexity

Blog: Elegant Simplicity versus Clever Complexity

If you want to get a new application system built quickly, try this.

What kind of business systems can you create by combining a relational database, some spreadsheets and a web browser? The answer is you can quickly create systems to support lots of business operations (big or small) with combinations of standard IT components like these and small chunks of program code to tie them together. This is the best way to create systems that respond to the rapidly evolving situations most companies now find themselves in.

If you want to get a new application system built quickly, try this. Start with process mapping to find a simple sequence of tasks that drives the business operation you are addressing and design a logical data model to capture the data used by those tasks. Then implement that data model in a database; if it's an appropriate data model you'll find easy SQL statements deliver most of the functionality required from the system.

That simple sequence of tasks and the appropriate data model do take some work to uncover, but they are there, and when you find them, you will have discovered the elegant simplicity that is the foundation of all successful application systems.

Now define the logic that describes the tasks in your process model. In other words, how does a task turn its data inputs into its data outputs? Express this logic as a set of "If, Then, Else" statements and some simple equations. With this logic in mind, figure out what kind of user interaction is needed for each task. Where user interaction is needed, it's usually the entering of selection and sort criteria and reporting parameters, rarely is it much more than that.

Design screens that allow for this data entry. Then design how you will display the results of the business logic; it's usually some columnar formatted reports or line graphs or bar or pie charts, rarely more than that. Now think of a quick way to create these data entry and display screens. What would happen if you used a spreadsheet for this? With spreadsheets you can create templates and command buttons for data entry and you can format columnar reports and data displays pretty fast.

Next, decide how to move data around. Write some software objects that tap into data sources needed to populate your data model and do the data reformatting and error checking to update the database on a regular cycle. Then write some other objects to move data between the database and the spreadsheets and execute business logic not already handled by stored procedures in the database or macros in the spreadsheets.

Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.

Join the newsletter!

Error: Please check your email address.

More about LogicalVIA

Show Comments

Market Place