Establishing a CI Pipeline Part 2 – CISIG Kicks Off!

The Continuous Integration Special Interest Group kicked off  proceedings on the 27th November 2013. I didn’t really have any expectations but as it happens it was a really energetic & productive session

I decided to keep the agenda & format light. I adopted a simplified Kanban board to show the agenda & its progress using the headings To Do | Doing | Done. This idea was taken straight from a Jim Benson presentation I watched a while back.

The agenda was:

  • Welcome & Icebreaker (remember, its important for everyone to speak from the beginning of the session)
  • From the group
  • Your turn (group discussion)
  • Actions
  • Wrap up

 

Of the 18 people who expressed an interest in playing a part in implementing CI in the organisation, 10 people attended the kick off meeting. Unfortunately an issue in Production kept some of the other people away (Those who couldn’t make it actually took the time to update their response, which I feel is an indicator to how much some one cares about the session)

There was a great spread of roles within the group. In the meeting alone, we had representatives from all levels with Test, Development, Business Analysis & Release Management.

The group discussion kicked off with the question (paraphrased):

“how does Continuous Integration fit in with Agile methodologies”

This was a great question & really helped the group define what they wanted CI for & as such what their interest in the group was. Fortunately, most of the answers tied together.

I reiterated the point from (Jez Humble & David Farley) that CI was a stepping stone towards Continuous Delivery (CD) & that

“…continuous delivery of valuable software.”

is the first principle on page 2 of the Agile Manifesto

As the conversation & ideas flowed I made notes of them & stuck them to the wall. This was partly to get the team used to how I like to facilitate. Next time, I will get the attendees to generate ideas on postits and add them to the wall themselves.

A great bulk of the conversation was centered on managing environments & their stability, managing test data & lack of automated checks – which I guess was to be expected.

What was unexpected was that different development teams are already building their fledgling pipelines & so are starting to experience the pain & benefits of implementing pipelines.

Neither development team knew of the other teams efforts in creating pipelines, which is crazy seeing as the teams work on the same floor in an open office – it was amazing to see how siloed the teams had become (cultural aspect to follow up on…)

So the 1st action of the group was for the different development teams to demo their implementation in the next session.

This should be interesting. The teams are across multiple architectures including Java, Ruby & IOS using different repositories such as SVN, GitHub & GitLab. The one thing they do have in “common” is the use of Jenkins for build & deploy & Jira for the ticket management.

The other action on me was to start questioning how we get environment properties automatically built with the code so we don’t have the manual pain of editing properties files & committing them to SVN (my current team is writing code in Java). I have some ideas, but it should prove an interesting challenge.

Overall a really positive session. It’s great to over hear water cooler & hallway conversations discussing CI from all different departments.

Looking forward to the next session in January!

“Never doubt that a small group of thoughtful, committed, citizens can change the world. Indeed, it is the only thing that ever has.”

― Margaret Mead

Establishing a Continuous Integration Pipeline Part 1

Part 3 – Gaining Traction