"Computer, build me a solution to this problem"
Back in the early 2000's, I studied Intentional Programming concepts by Charles Simonyi and was fascinated by what I learned. Unfortunately, Microsoft chose not to pursue the ideas at the time and I switched to learning C# and .NET instead. However, it seems that we are approaching a time when the scope of systems development is changing such that more power is being placed into the hands of the end users, allowing software developers to focus on higher-level tasks to assist them with special cases.
I've recently borrowed the concept of Intentional Programming and applied it to music. In previous posts (Programming Intentional Music, First Intentional Music Track Complete, What Makes an Intentional Music Program?), I discussed and demonstrated my interpretation on the idea of what I call "Intentional Music", which is more well-known as Algorithmic Composition. It is the idea that you can codify simple intents to define musical compositions with a (hopefully) pleasant result. My own experience recently culminated with my final realization that the tools (and my experience) weren't where I needed them to be back in 2000, but I've developed enough experience since then (and the tools have improved, as well) to create music that I enjoy listening to while working.
I have been thinking about how to apply what I learned from that exercise to the business practice of software development and project management.
Is there a way to more easily codify the intent of a project (the project plan combined with the project requirements, combined with the project architecture, combined with any other artifacts required to successfully complete a project)? By asking that question, can we assemble a solution that meets the scope of a short-term project with minimal human intervention?
How much of the business process can be automated? Can we establish the proper interfaces (both human and machine) to solve the problems we are currently presented with while also solving other typical software development challenges such as project cost and release schedule?
This question is really open-ended, because it comes down to the scope of the project and the resources available to dedicate to such an effort. It probably also greatly depends on the willingness to adopt a given solution.
I am interested in this topic and will see what I can put together.