On software and partnership
Effective software development requires partnership. In almost all cases, the software product is not designed for end use by the developers who are building it. This means that communication and partnership are essential.
At Prognosis, our software development process begins with a problem statement (some say user story). This statement expresses in layman's terms what the user is faced with; the task or insight the user needs. From that statement, the product team determines the effort required and places it alongside other similar user stories in the development roadmap. And at the appointed time, the developer finds that user story in his queue for execution.
As you no doubt are aware, this process has a critical point of failure; the problem statement. If we have a poor or cloudy idea of the problem statement the end product will not provide value to the end user. However, if the problem statement truly expresses what the user is experiencing then the software end product will perform the required functions. This becomes a virtuous cycle.
This cycle requires good communication which comes from partnership. We partner with our customers to provide effective solutions with our software and we continually improve those solutions as technology changes (i.e. migration from desktop to browser to mobile... etc etc) and as new workflows are imposed on the industry.
The end result should validate the process.