Continuing the subject of Software Development Article – Manufactured Product or Intellectual ?, I wonder how can an intellectual product is built in a company that is called “Software Factory”? Here’s what I found on Wikipedia on software factory:
software is a set of resources Factory (human and material), processes and methodologies structured similarly to those of traditional industries, using the best practices created in the process of development, testing and maintenance of software. Uses in its quality indicators operation and productivity at every stage of the software development cycle, and seeks to maximize the re-use of previously developed components. It has become a common practice in order to popularize the software production for cost reduction.
This makes sense to you? For me there. The metaphor is completely wrong! The management of a software project is not equivalent to produce a manufactured product in a factory.
One of the possible correct metaphors for the development of software would be like if a chef was asked to create a new recipe or a new dish nonexistent. This chef would have to try new combinations of ingredients until you reach the desired flavor. It is not expected that it reaches the first time. In fact, it would have to redo the dish several times, experimenting with different sequences, options, tools and ingredients, and feedback from each attempt to reach the desired dish. It is a learning process, experiment and constant feedback. There at the end, when the dish is 100% ready, the chef can then describe the new recipe. The recipe is actually the documentation as is done to produce one dish. This, indeed, is developing software!
A wedding buffet for 500 people is the right metaphor for a ‘factory of manufacturing, “which in turn would get this ready recipe and documented and” fabricate 500 dishes repeated “this same recipe on the same night for this party. Software development is something unique, exclusive and private, not fitting at all with the term “factory”.
The use of principles of Taylorism in software engineering was a disciplinary unsuccessful attempt to seek predictability levels , desired productivity and quality. However, the result was only a bureaucratic formalism, not disciplinary. Continue facing the management of software as a model of “industrial manufacturing” is to continue swimming in problems of cost, schedule, functionality and people management.
No comments:
Post a Comment