The following is a guest post by Cristiano Ghersi, CEO of Snip2Code, a web service for software developers to share, collect and organize code snippets.
Nowadays, the fate of a software company may be decided by small adjustments in the production life cycle. A faster time-to-market and an improvement in development life cycle efficiency can mean the difference between reaching the next step of a business versus its death.
In his masterpiece "The New Science" (1725), philosopher Giambattista Vico maintained human history was cyclical and characterized by shifting emphasis on gods, heroes and reason. The same can be applied to software engineering, which is embracing a new generation of tools as it enters the next step of its evolution.
Until 1990, the "Age of Gods" in software development brought us several examples of masters able to produce frameworks, mainframes and technologies with a set of resources probably available on $2 hardware now. The code produced during that age still runs nowadays in some places!
Then, in the next two decades, companies like Microsoft provided turnkey solutions to help programmers do their jobs in a more managed and controlled way. Integrated Development Environments, Deploy Frameworks, and Automatic Test Suites made the life of poor coders far better, as did the large increase of available hardware resources. The focus shifted toward quality.
We have just entered the next phase, the Age of Reason, where quality is a prerequisite and competition is centered on differentiation, user experience and efficiency. Now we need tools that:
- Help developers save time while writing code.
- Allow them to reuse the knowledge and code acquired earned in past projects as well as from colleagues and world gurus.
- Provide feedback and advice via social discussion on code snippets.
- Speed up the introduction of new members or the replacement of old ones in a development team (the overall expertise of the members becomes a perpetual asset of the company).
A knowledge management system, together with a source control manager, a wiki-like documentation platform and an activity tracker: This is the minimal, yet powerful, set of tools that distinguishes the winning software enterprises of the new era.
Microsoft started providing such tools with the Visual Studio Online suite, and its adoption by enterprises has been terrific, thanks also to full integration with the Microsoft Azure platform. Visual Studio Online provides a powerful source control, perfectly integrated with the activity tracker; MSDN provides accurate and exhaustive documentation. Now, with the introduction of Snip2Code in the Azure Marketplace as the knowledge management system, that minimal set of tools is ready.
The knowledge management system is usually neglected by enterprises, leaving them without a common base of software knowledge that is the invaluable intellectual property of the companies themselves. Moreover, the defection of senior developers in the company can lead to painful, long and costly handovers. The adoption of a structured tool like Snip2Code to handle and preserve common internal knowledge produces instead a terrific burst in time-to-market (estimates are around 20%) and a near-zero "downtime" of dev teams when facing turnover.
The Age of Reason starts when knowledge is shared among coworkers and preserved for future reuse: Let's enter into this age and see if we can fool Vico, producing a fourth era!