Richard Searle's Blog

Thoughts about software

Archive for May, 2011

Seeing noSQL as a dual of SQL

Posted by eggsearle on May 11, 2011

The May 2011 edition of the CACM has interesting article that claims noSQL databases are are merely a variant of SQL databases. The authors describe how noSQL can be seen as a mathematical dual of SQL, replacing sets with monads.

A mathematical model underlying noSQL systems would have several benefits:

  1. An answer for those who consider SQL more powerful/appropriate/cooler since it has a sound theoretical basis.
  2. Allow for possibility of standardization across the current multitude of largely incompatible systems
  3. Guide further improvements in functionality.

Sets are quite familiar and covered in high school mathematics.  Monads are famously opaque, with many conflicting metaphors being used to describe them. The usefulness of the CACM article is thus limited by the lack of a good explanation of monads!

A set of slides on coSQL by the CACM authors are available.

Posted in Uncategorized | Leave a Comment »

Further observations on IBM’s Liquid

Posted by eggsearle on May 8, 2011

Agile

Liquid is described as agile.
Liquid is also defined as requiring: well defined specifications and well defined parameters on what constitutes a successful outcome.

The latter is pretty much a text book definition of a waterfall method.  That is further confirmed by a description of how the project architect uses Liquid to first generate the design specifications and then uses another Liquid contest to generate the implementation.

The timescales are too short and the communication mechanisms are too short to permit anything other than a command-and-control, full waterfall, throw the design over the wall methodology.

Qualified Developers

The Liquid Players can be motivated by the opportunity to

  1. Exercise skills just learned in class.
  2. Prove themselves in pursuit of a new career opportunity.

The component created by such an inexperienced developer is to be integrated into the system, evidently as is.

The credentials or certifications held by the Player  are described as irrelevant. This contradicts all other IBM policies, where certifications are mandated.

Scalability

It is claimed that the developer community has unlimited size, with the following benefits:

  1. Project leader can start work sooner.
  2. More work done in parallel.
  3.  Reduced development cycle times
The Mythical Man Month , written in 1975, describes how such benefits are unlikely to materialize. 

Communication

Architect and Player interact via IM in a chat room.

This is marginally better than email in terms of interactivity.

Component base development

It is arguable that CBD is actually highly successful or widely used, outside of a few narrow contexts.

A small two person year project will require at least 100 “components” to satisfy the needs of Liquid.  It is hard to see that such fine granularity will naturally exist within  the design.

Further Background

This https://researcher.ibm.com/researcher/files/us-msridhar/foser061-bacon.pdf paper describes some of the background behind Liquid.

Posted in Uncategorized | 3 Comments »

Liquid mandates 100% per week staff turnover

Posted by eggsearle on May 8, 2011

Each work item is 3-5 days of effort, performed by a person randomly selected from a pool.

The likelihood that any other work item will be performed by the same person will be small, presumably essentially zero. A high revisit probability would indicate the pool is rather small, negating the basic principles of Liquid.

Thus the developer staff will completely at least change once a week.

The Mythical Man Month describes how communication costs can destroy projects. Fred Brooks was only concerned with consequences of adding new people, not wholesale replacement!

Posted in Uncategorized | Leave a Comment »

John Harrison does not fit IBM’s Liquid crowd sourced software development

Posted by eggsearle on May 8, 2011

IBM have created a crowd sourcing software development model (Liquid) , described in this video

The example of John Harrison’s development of a chronometer to win the Longitude Prize  is given as an example and justification of Liquid.  Consider the following features of John Harrison’s work:

  • Prize amount of ~ $5 million dollars (equivalent)
  • 16 years from establishment of prize until Harrison draw up his initial proposal
  • 5 years to build first prototype marine clock
  • 5 years to build and test second prototype
  • 17 years to work on unsuccessful third prototype
  • 6 years to build prototype marine watch
  • Never received full award (which was never awarded to any person)
  • Had to petition  the King to receive even the partial award.
It is hard to how a successful software project could be modeled after the above history!

Posted in Uncategorized | Leave a Comment »