Continuous Delivery Coding Patterns

•September 12, 2016 • Leave a Comment

Yet anther resource off InfoQ, “Continuous Delivery Overview” married with “Continuous Delivery Coding Patterns: Latent-to-Live Code & Forward Compatible Interim Versions”.

Trunk-based-development (TBD) is probably one of the main chances that teams need to get their head around if today they are working off branches.

Latent-to-live code pattern is in my view the only sensible road, since until your code get into production, there is zero Return-on-Investment (ROI)

Pancake Stack: End-to-End, Real-time ML and AI Pipeline

•September 12, 2016 • Leave a Comment

InfoQ has an interesting read on the last-mile of theApache Spark machine learning pipeline, “Chris Fregly on the PANCAKE STACK Workshop and Data Pipelines”.

Its interesting to read that even Netflix and other struggled in this space:

The idea for PipelineIO dates back a few years to my time at Netflix where we were forced to build a custom ML prediction/serving layer. There wasn’t – and still isn’t, in my opinion – a production-ready, fault-tolerant, and low latency open source system to serve Netflix-scale predictions and recommendations in real-time

PipelineIO offers a good architecture overview on its home page:

architecture-overview-645x474

Serverless – Real World Usage

•August 17, 2016 • 1 Comment

Great posting by Pete Johnson on a serverless application, “30K Page Views for $0.21: A Serverless Story”.  Its interesting to read a read world application that leverages AWS  Lambda functions coupled with S3 storage, providing real data on the extremely low charges for the number of page views.  If nothing else, read the “What I’ve Found is Cool (and Not) About Lambda” section🙂

Gamification of Kanban – Part 2

•July 28, 2016 • Leave a Comment

Ashish Parkhi offer an interesting read on his experience of gamification of agile, “Gamifying Agile Adoption – An experiment”.  Some interesting behaviour from the experiment:

  • The team members started following processes well.
  • There was more interaction and collaboration between SD, QA, Product Owners and Product Managers.

Software available here

Does your Kanban board have swim lanes?

•July 22, 2016 • 1 Comment

It may sound either an odd question, or a sensible question depending on your kanban board today, but a lot of people seem to ignore the swim lane benefits, and just go with the column standard kanban board.

Given kanban is lean, if your using an electronic board as a lot of us are these days, its probably worth playing with a few of the options in your chosen kanban product to see if you can gain further agility though surfacing of cards.  Swim lanes can clearly call out the progress within work stream or features within the application delivery that previously were hidden within the column order.

Further, options for surfacing further data on the story card itself may aid in clarity of the micro/macro picture e.g usage of tags on the card.  More interestingly tracking staleness per column, which could aid in understanding flow and WIP.

Gamification of Kanban

•July 19, 2016 • 1 Comment

In the world of agile software engineering, the keyword is agility.  Stories for example aren’t called out in the agile manifest.  In reality, little is called out specifically in the manifest, apart from the need for collaboration and working software🙂
In the world of corporate scrum, many firms at the management level want to track story actuals, thus venturing down the road of comparing estimates vs actuals start, and then the inevitable story size of points vs hours.  I wonder if the amount of effort involved in estimation couldn’t be better used in delivering more stories that themselves are delivering business value as a measure of the return on investment.
More recently we’ve had the discussion on no estimates, which in some quarters works well, since the trust between business and technology teams is high.  Trust being the keyword here, coupled with more than likely leveraging Kanban over scrum as a lean process to deliver business value.
This nicely brings us to gamification.  Gamification has accelerated in the last few years in many different area.  However, I’ve not seen is used much in software engineering, other than the unofficial Excel sheets of bugs, releases and such.
My proposal is therefore the following, which is more suited to Kanban, but at the end of the day can be tuned to whatever software development process you are following:
  • Ensure you have an ordered backlog of business value stories that have A/C, adhere to a sensible story format.
  • Drop estimation
  • Engineers get 20? points for completing a story (Done).
  • A Done stories that has defects raised before moving to production, loose a point per defect
  • Whether you have an automated Continuous Deployment process or manual process, the team member who performed the release to production gets 5 points.
  • Testers get 10? points per defect
  • Put in place a team wide scoreboard
  • Each month, the greatest scorer get some small prize e.g. voucher etc
  • Retrospect on the above and improve e.g. maybe the business assign business value points to stories to enhance the ordered backlog?

Net out, you’d hope that velocity has improved, and defects have dropped.  Which at the end of the day is what we all want, whether we are management or software engineers, we want to know we are making a difference, and delivering value.

AI, and the Value of Data

•July 18, 2016 • Leave a Comment

O’Reilly’s article, “The dynamic forces shaping AI”, provide an interesting read on the historical landscape of data within AI, and the possible future paths AI may influence Data, Talent, Compute and Algo.

fact crucial in creating the most valuable and impactful AI systems is usually credited to Google

Stating the obvious, clearly there is opportunity for talent🙂