Monday 25 August 2014

RedQueryBuilder 0.7.0 released

http://redquerybuilder.appspot.com/ version 0.7.0 is released today with support for Number data type, fixes for IE11 and a few bug fixes.

Bit of a boring release while we are working on a big feature to support more flexible error reporting and custom serialisation.

Thursday 27 March 2014

Maven versions and feature branches

It doesn't seem that maven really supports feature branches. The version should be number.number.number-qualifier. If you want to use SNAPSHOT then the qualifier has to be exactly that.

All our artifacts are for a single webapp so we don't need to share articfacts. Given that the simplest thing seems to be to just use the version of the branch that the feature branch is tracking. e.g. if tracking master, and master is 1.2.3-SNAPSHOT, then that would be the version of the feature branch. Apart from SNAPSHOT working correctly it means that merging is less hassle.

If sharing artifacts within an organisation then something more elaborate like https://github.com/gary-rowe/MultiBitMerchant/wiki/Branching-Strategy might be needed.

Pipeline for web app development projects

One way that seems to work is to have a pipeline constructed as:

  1. Requirements team go out to the customer/organisation to try and get decisions on what problems actually need to be solved and any fixed requirements/specification.
  2. Once the requirements are firmed up the QA and developer join. The QA to understand the nature of the problem and record how to test if the problem is solved. The developer to understand the problem and start thinking about possible solutions.
  3. QA/Dev can raise questions to requirements team to clarify specification (if required).
  4. Once QA/Dev understood the requirements, QA then will write final acceptance criteria (to test if the problem is solved)
  5. The problem can only enter a sprint when the QA and developer agree that it is ready to start.
  6. Within the sprint the developer and QA negotiate an acceptable solution. The customer must be kept informed of changes.
At all stages any agreements with the customer must be record in the bug database.