CI / ALM Tools for OpenHIE Projects

Hello All,

I was just thinking about some of
the topics that we discussed in our call this morning and was wondering if
there was any appetite to introduce ALM (Application Lifecycle Management)
tooling to the OpenHIE group of projects? I think that it would assist greatly
in the maintenance of the sanbox and development environments, as well as
provide a snapshot of “todo” items, performing code reviews,
controlling what can move to which part of the sandbox, as well CI/builds.

I’ll share some ideas (ramblings) on
the topic:

Thinking of myself coming on as a
noobie and how a dashboard of OpenHIE projects might have helped me get my head
around the status of each project as well as what (which project, which
version, which plugins, etc.) are in the sandbox, what features are yet to be
implemented, as well as the general activity on each repository of code. It
would also be great to have a list of all repositories / tests run for each
project.

The reason I bring this up is that
ALM was a huge part of our success with organizing teams at Mohawk, and we’ve
used it in one form or another since 2009 (started with Everest, the SHR and CR
on TFS, then moved to Atlassian). Bamboo, JIRA, Greenhopper, Confluence, and
Fisheye are currently running for all of projects done at Mohawk and this
allowed our teams (and managers) to have a quick “dashboard” of all
projects in our lab. It also assisted in the running of unit tests for Everest
(there were 10,000 of them) as well as linking commits to particular
issues/todo items which is also qutie helpful. We even tried Kanban as a tool for managing our sprints and
release cycles.

I guess my worry is that there are
lots of things happening in each of the communities and it is quite hard to gauge
the “quality”, or coverage of QA on each. I imagine it would be
especially difficult for someone interested in buying/investing time/money into
deploying OpenHIE. I know QA can be subjective and the specifics will vary from
project to project, but I do think it would be beneficial to have some minimum
criteria for each of the states within the sandbox (and the guard conditions to
move from one state to another). I can also say that with the amount of moving
parts that OpenHIE has, having software to track the lifecycle of the projects
will be of great importance.

Of course the trick to all of this is balancing productivity with governance, but good tools greatly assist in this.

I know Ryan has setup Bamboo (again,
kudos to getting that to work), and that is definitely a huge step in the right
direction, but CI is only part of the picture.

Apologies for the longer than
expected rambling, I just wanted
to plant the seed :slight_smile:

Cheers

-Justin

Hi Justin,

Just some quick comments.

I agree with you these are very important and I’d love to see that in place for each of the OpenHIE reference applications. The problem I see however, is that each application is managed and developed by different organisations with existing development management tools. Not all of the reference applications were developed from scratch, most were pre-existing. So, it seems that a variety of different tool are in use (We at Jembi use github issues and travis-ci for CI). I wonder if it would be possible to get everyone use the same tools (or to agree on the same tools!..) perhaps what we need are some defined types of tools that should be in place (eg, CI, issue tracker, etc) and leave the implementation up to the community? We could then have a dashboard that links out to each communities tools? But, then again it wouldn’t be a very unified look into the development process for each application. I’m not sure what a better approach may be.

Just some thoughts.

Cheers,

Ryan

···

On Tue, Jul 8, 2014 at 5:09 AM, justin.fyfe@ecgroupinc.com wrote:

Hello All,

I was just thinking about some of
the topics that we discussed in our call this morning and was wondering if
there was any appetite to introduce ALM (Application Lifecycle Management)
tooling to the OpenHIE group of projects? I think that it would assist greatly
in the maintenance of the sanbox and development environments, as well as
provide a snapshot of “todo” items, performing code reviews,
controlling what can move to which part of the sandbox, as well CI/builds.

I’ll share some ideas (ramblings) on
the topic:

Thinking of myself coming on as a
noobie and how a dashboard of OpenHIE projects might have helped me get my head
around the status of each project as well as what (which project, which
version, which plugins, etc.) are in the sandbox, what features are yet to be
implemented, as well as the general activity on each repository of code. It
would also be great to have a list of all repositories / tests run for each
project.

The reason I bring this up is that
ALM was a huge part of our success with organizing teams at Mohawk, and we’ve
used it in one form or another since 2009 (started with Everest, the SHR and CR
on TFS, then moved to Atlassian). Bamboo, JIRA, Greenhopper, Confluence, and
Fisheye are currently running for all of projects done at Mohawk and this
allowed our teams (and managers) to have a quick “dashboard” of all
projects in our lab. It also assisted in the running of unit tests for Everest
(there were 10,000 of them) as well as linking commits to particular
issues/todo items which is also qutie helpful. We even tried Kanban as a tool for managing our sprints and
release cycles.

I guess my worry is that there are
lots of things happening in each of the communities and it is quite hard to gauge
the “quality”, or coverage of QA on each. I imagine it would be
especially difficult for someone interested in buying/investing time/money into
deploying OpenHIE. I know QA can be subjective and the specifics will vary from
project to project, but I do think it would be beneficial to have some minimum
criteria for each of the states within the sandbox (and the guard conditions to
move from one state to another). I can also say that with the amount of moving
parts that OpenHIE has, having software to track the lifecycle of the projects
will be of great importance.

Of course the trick to all of this is balancing productivity with governance, but good tools greatly assist in this.

I know Ryan has setup Bamboo (again,
kudos to getting that to work), and that is definitely a huge step in the right
direction, but CI is only part of the picture.

Apologies for the longer than
expected rambling, I just wanted
to plant the seed :slight_smile:

Cheers

-Justin

You received this message because you are subscribed to the Google Groups “OpenHIE Sandbox” group.

To unsubscribe from this group and stop receiving emails from it, send an email to ohie-sandbox+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


Ryan Crichton

Software Developer, Jembi Health Systems | SOUTH AFRICA

Mobile: +27845829934 | Skype: ryan.graham.crichton
E-mail: ryan@jembi.org

The tools you described are very similar to what we use over at openmrs. We use JIRA, Bamboo, Confluence, and switched over to github for code review from fisheye. We also recently set up SonarQube for code quality and coverage metrics. This setup works well for our developers, but as Ryan mentioned we are only one project and don’t have to worry about outside organizations and their tool sets. I do like the idea of a dashboard that shows the version of software running in each environment. We might be able to tie that in with the deployment projects in bamboo that would allow you to deploy certain versions to different environments.

-Ryan

···

On Tue, Jul 8, 2014 at 5:17 AM, Ryan Crichton ryan@jembi.org wrote:

Hi Justin,

Just some quick comments.

I agree with you these are very important and I’d love to see that in place for each of the OpenHIE reference applications. The problem I see however, is that each application is managed and developed by different organisations with existing development management tools. Not all of the reference applications were developed from scratch, most were pre-existing. So, it seems that a variety of different tool are in use (We at Jembi use github issues and travis-ci for CI). I wonder if it would be possible to get everyone use the same tools (or to agree on the same tools!..) perhaps what we need are some defined types of tools that should be in place (eg, CI, issue tracker, etc) and leave the implementation up to the community? We could then have a dashboard that links out to each communities tools? But, then again it wouldn’t be a very unified look into the development process for each application. I’m not sure what a better approach may be.

Just some thoughts.

Cheers,

Ryan

You received this message because you are subscribed to the Google Groups “OpenHIE Sandbox” group.

To unsubscribe from this group and stop receiving emails from it, send an email to ohie-sandbox+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

On Tue, Jul 8, 2014 at 5:09 AM, justin.fyfe@ecgroupinc.com wrote:

Hello All,

I was just thinking about some of
the topics that we discussed in our call this morning and was wondering if
there was any appetite to introduce ALM (Application Lifecycle Management)
tooling to the OpenHIE group of projects? I think that it would assist greatly
in the maintenance of the sanbox and development environments, as well as
provide a snapshot of “todo” items, performing code reviews,
controlling what can move to which part of the sandbox, as well CI/builds.

I’ll share some ideas (ramblings) on
the topic:

Thinking of myself coming on as a
noobie and how a dashboard of OpenHIE projects might have helped me get my head
around the status of each project as well as what (which project, which
version, which plugins, etc.) are in the sandbox, what features are yet to be
implemented, as well as the general activity on each repository of code. It
would also be great to have a list of all repositories / tests run for each
project.

The reason I bring this up is that
ALM was a huge part of our success with organizing teams at Mohawk, and we’ve
used it in one form or another since 2009 (started with Everest, the SHR and CR
on TFS, then moved to Atlassian). Bamboo, JIRA, Greenhopper, Confluence, and
Fisheye are currently running for all of projects done at Mohawk and this
allowed our teams (and managers) to have a quick “dashboard” of all
projects in our lab. It also assisted in the running of unit tests for Everest
(there were 10,000 of them) as well as linking commits to particular
issues/todo items which is also qutie helpful. We even tried Kanban as a tool for managing our sprints and
release cycles.

I guess my worry is that there are
lots of things happening in each of the communities and it is quite hard to gauge
the “quality”, or coverage of QA on each. I imagine it would be
especially difficult for someone interested in buying/investing time/money into
deploying OpenHIE. I know QA can be subjective and the specifics will vary from
project to project, but I do think it would be beneficial to have some minimum
criteria for each of the states within the sandbox (and the guard conditions to
move from one state to another). I can also say that with the amount of moving
parts that OpenHIE has, having software to track the lifecycle of the projects
will be of great importance.

Of course the trick to all of this is balancing productivity with governance, but good tools greatly assist in this.

I know Ryan has setup Bamboo (again,
kudos to getting that to work), and that is definitely a huge step in the right
direction, but CI is only part of the picture.

Apologies for the longer than
expected rambling, I just wanted
to plant the seed :slight_smile:

Cheers

-Justin

You received this message because you are subscribed to the Google Groups “OpenHIE Sandbox” group.

To unsubscribe from this group and stop receiving emails from it, send an email to ohie-sandbox+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Ryan Crichton

Software Developer, Jembi Health Systems | SOUTH AFRICA

Mobile: +27845829934 | Skype: ryan.graham.crichton

E-mail: ryan@jembi.org