One of the topic that interests me is the depth of automation that a software does for our tasks. As a trivial example, a modern word processor automatically finds the spelling mistakes in a document, and can also replace some of them automatically. The automation has gone a level deeper to not only let us write documents but to correct our mistakes.
Similarly, a company might keep a database of its employees, and might want to verify the address of a new employee. Here too, the software can perform automation upto different levels. In its crude form, the software can just hold the data, and an operator can add whether it is valid or not upon physical verification. The other extreme is where the company has digital records of geographical maps against which it can automatically verify if the address is valid or not. An intermediate way can be where the software validates only specific fields of the address, and leaves the rest for physical verification.
Why is this important? Because I believe the depth of automation is usually not discussed in the beginning. The client and the developer usually assume different depths of automation and that causes a lot of mismatch in what is expected and what is given.
Also, the depth of automation affects everything – usage, process, expected skills of the users, data, maintenance, and more importantly it can be instrumental in balancing sides of the Fast-Good-Cheap triangle. Discussing this depth of automation in the beginning might be critical to success of a project.
However, only the deepest automation need not be the best for all projects. The depth should be decided by its cost-benefit analysis. By experience, I have seen that usually a automation + manual intervention solution works out the best. And all our feasibility study should be directed towards identifying this balance.
Explicit discussion of the depths of automation should find a higher place in software development process. However, these are faint thoughts in my mind, so this might sound ridiculous to you. If not, I would like to know your thoughts.