Saturday 25 July 2015

Collaborative Software Development Model By Git Repository

Distribution feature of git repository gives leverage to scrum team to work in collaborative manner. Additionally, git with agile can give continuous development, testing and delivery.

Further more, we could separate out work by public-private repository based on developer role/responsibilities which aids to mitigate dispute among developers

Last but not the least, team could have their own unique work flow for development, testing and delivery

Here we go with an example, we have scrum team having below members for an example

  • UI/UX developer - (DEV1)
    • Responsibility to develop only front-end and integrate API
    • Can only pull API developer's public repository in his/her private repository

  • API developer - (DEV2)
    • Responsibility to develop REST API based on UI/UX requirement
    • Can only pull UI/UX developer's public repository in his/her private repository

  • Lead
    • Lead can only read both API and UI/UX developer public repository in his/her private repository 
    • Push his/her separate work (e.g. configuration, static pages, etc..)
    • Does unit testing, engage API and UI/UX developers for fixes or change before giving it to QA
    • Lead can only push things on central server repository

  • QA / Tester  
    • Only read Lead's public repository in his/her private repository and do 360 degree testing

High level picture for this work flow