The CEO of 6th Sense Analytics recently published an article containing some inaccurate statements about Software Factories.
These misconceptions suggest that the author of the article does not know much about Software Factories, and perhaps has not even read what we have written about them. By themselves, they would not be serious enough to merit the time required to post a reply, as most people who evaluate a technology look at it deeply enough to get past shallow misconceptions.
However, the article goes on to say that SFs “crush the flexibility and creativity needed to build software and meet constantly changing requirements”. This statement is profoundly misleading, and requires a response for the sake of the those who have read or may read the article.
We have published a book, as well as many articles, papers and pod casts describing Software Factories. Reading just a few of them would make it easy to see why this statement is off the mark. Therefore, rather than explain SFs yet again here, I will refer to them. You can find pointers to many of them in my previous blog postings.
I would also like to ask the author of the article to answer the following 3 questions:
1. Which of the following innovations crush flexibility and creativity?
2. Which of the following practices crush flexibility and creativity?
3. What evidence do you have that SFs crush flexibility and creativity?
SFs are a lot like the innovations and practices listed above in the way they organize and support software development, and in the way they help developers harvest experience and make it easy for others to reuse.
The author goes on to suggest that the key to success is visibility into project status, supported by metrics.
It explains how, by providing a simple but effective architectural framework for organizing a project, called a schema, Software Factories help their developers define better metrics, and how, by providing a framework for harvesting and reusing experience, Software Factories help their developers use metrics more effectively to improve future projects.