Toyota & Linux: The Benefits of Collaborative Networks

This past summer an issue of Harvard Business Review contained an article entitled Collaboration Rules by Philip Evans and Bob Wolf (Senior Vice President and Manager, respectively, of the Boston office of the Boston Consulting Group). The article explores how businesses seeking innovation and growth should take note of how the Linux open-source software development community operates. I’d like to summarize some of the article here because it illuminates the convergence of a number of the topics covered here including collaboration trends and software development methodologies.

Continue reading "Toyota & Linux: The Benefits of Collaborative Networks" »

Agile Software Development

For decades software has been developed largely using a serial, "waterfall" method where projects progress through sequential stages:  requirements analysis, design, implementation, testing, integration, and maintenance.  This methodology has also been called "Big Design Up Front" (BDUF) and tenets include heavy planning up front (which in theory reduces effort and risk later on) and heavy documentation.  There has been a growing movement to revise this development paradigm to reduce the inherent risk of waterfall development -- the fact that requirements do (and should) change throughout the life of the project, so trying to cement a predictive list of requirements up front invites issues later in the project.  This new "Agile" approach to software development stresses iterative developments, timeboxed projects, and other innovations described below. 

Continue reading "Agile Software Development" »