SlimSoft has started exploring some of the concepts being promoted by the agile methodologies used in software development. One concept that I find intriguing is the concept of iterative development. I often develop large, complex reporting applications and I have experienced both development extremes: minimal specification and very detailed specification. In my experience minimal specification has turned into a monster that bogs and demoralizes the development team and frustrates the customer because it is hard for the team to stay focused and on track. A very detailed specification on the other hand tends to overwhelm the customer and stifle the creativity of the development team.
At SlimSoft we are gravitating to a development philosophy that is somewhere in the middle. I believe the development team needs to work from a prototype and vision document. The purpose of the vision document will be to describe the idea(s) being pursued and the prototype will allow the developers and the users to get a feel for the level of user interaction and the type of output required by the application. The development process will then be broken down into several iterations. The first iteration will be described in detail. After the first iteration is complete the development team and the customer will have the option of changing the vision document and prototype before the next iteration begins. This iterative process will continue until customer is satisfied with the overall solution.
I have realized that it is impossible to think of all the details in the early stages of a project. I have also realized that it is a futile exercise to try and do so, because inevitably ideas surface once a solution is incorporated into the production environment. I believe that a managed development effort that allows for iteration will result in a solution that will better meet the customers needs.
How would you respond to a project environment based on this philosophy?
At SlimSoft we are gravitating to a development philosophy that is somewhere in the middle. I believe the development team needs to work from a prototype and vision document. The purpose of the vision document will be to describe the idea(s) being pursued and the prototype will allow the developers and the users to get a feel for the level of user interaction and the type of output required by the application. The development process will then be broken down into several iterations. The first iteration will be described in detail. After the first iteration is complete the development team and the customer will have the option of changing the vision document and prototype before the next iteration begins. This iterative process will continue until customer is satisfied with the overall solution.
I have realized that it is impossible to think of all the details in the early stages of a project. I have also realized that it is a futile exercise to try and do so, because inevitably ideas surface once a solution is incorporated into the production environment. I believe that a managed development effort that allows for iteration will result in a solution that will better meet the customers needs.
How would you respond to a project environment based on this philosophy?

0 Comments:
Post a Comment
<< Home