Skip to content

Vikx001/Studio-Ghibli

Repository files navigation

ProjTemplate DevOps2023_2024

MScDevOps Assign - Group 1

Table of Contents

Preamble
Scrum Masters
Product Owner
Team Members
Project Deadline
Project Specification
Useful Links
More Information
Risk Register
Tools and Technologies
Environments
GitHub version control
Social Contract
Meetings
Communication
Agile way of working
Branching Strategy
Estimating Story Points and Velocity
Definition of Ready
Definition of Done

Preamble

The end customer would like an online booking system for range of Movie making courses. Their most popular product this December is Moving Castle Creations – a 3D animation workshop. The system must take details of customer map them to the course modules along with a single box for extra ‘nice to have’ requests. The system should be clean and simple. Your team has been tasked with creating the pipeline for the SDLC. You have also been asked to provide a simple prototype page(s) to test the pipeline. The system needsto take into account the usual security requirements. The administrator of the end system (Studio Ghibli member) should be able to access detailed information and edit as appropriate. Once the client enters details it should not be able to be changed by the person applying for the course.

Our product will be delivered using an Agile methodology that embraces the DevOps culture. Please note that our culture embraces change and these documents are treated as living, breathing artefacts that will be continuously updated. The scrum master and product owner will be assigned in a rotation basis per each sprint.

Scrum Master

  • Sprint 1- Aneesh Ramakrishna Pillai
  • Sprint 2- Vikash Sharma
  • Sprint 3- Binupa Chullickal Babu
  • Sprint 4- Shreya Raghuvanshi
  • Sprint 5- Sushmitha Holthal
  • Sprint 6- Neeharica Madanu
  • Sprint 7- Vikash Sharma

Product Owner

  • Sprint 1- Neeharica Madanu
  • Sprint 2- Shreya Raghuvanshi
  • Sprint 3- Sushmitha Holthal Manjunath
  • Sprint 4- Vikash Sharma
  • Sprint 5- Binupa Chullickal Babu
  • Sprint 6- Aneesh Ramakrishna Pillai
  • Sprint 7- Shreya Raghuvanshi

Team Members

  1. Binupa Chullickal Babu (L00179364)
  2. Shreya Raghuvanshi (L00179092)
  3. Neeharica Madanu (L00179439)
  4. Sushmitha Holthal Manjunath (L00179330)
  5. Vikash sharma (L00179094)
  6. Aneesh Ramakrishna Pillai (L00179208)

Project Deadline

Thursday 4th April at midnight

Project Specification

Ref : https://atlantictu-my.sharepoint.com/:w:/r/personal/l00179208_atu_ie/Documents/Software_Requirements_Specification_V0.docx?d=wc35a651678cf492bbdd7f146267b6293&csf=1&web=1&e=hT1KWO

Frameworks

Ref : https://atlantictu-my.sharepoint.com/:w:/r/personal/l00179208_atu_ie/Documents/Software_Requirements_Specification_V0.docx?d=wc35a651678cf492bbdd7f146267b6293&csf=1&web=1&e=hT1KWO

Useful Links

More Information (GitHub Wiki)

https://github.com/Vikx001/Studio-Ghibli/wiki

Risk Register

Ref : https://atlantictu-my.sharepoint.com/:w:/r/personal/l00179208_atu_ie/Documents/Software_Requirements_Specification_V0.docx?d=wc35a651678cf492bbdd7f146267b6293&csf=1&web=1&e=hT1KWO

Tools and Technologies

  • Dedication to clean, secure, performant and self documented code
  • Code Frameworks used : ReactJS, Nodejs
  • Programming using the IDE : Visual Studio Code
  • Performance Management Tool: NewRelic
  • Unit Testing: Jest
  • Application Testing and Integration Testing: Cypress
  • API Testing: Postman
  • Performance Testing: K6
  • Issue ticketing & boards: Jira
  • Security Tools (SAST/DAST): SonarQube as SAST, ZAP Proxy as DAST
  • Automated API Documentation: Swagger
  • Automated Source code Documentation: jsDoc
  • Manual Documentation: GitHub Wiki and Confluence
  • Database: MySQL
  • Automated Pipeline: Jenkins
  • Containerization: Docker
  • Deployment tool: Kubernetes
  • Cloud platform: AWS
  • Source code repository: GitHub and GitHub Webhooks
  • Tracking tool: SBOM

Environments:

  • Staging(Localhost) and Production(AWS cloud platform and Kubernetes)

Github version control:

  • Using Gitflow
  • version/release, using Tags

Social Contract

Mobile phones be left on silent during sprint sessions and class time.
Be on time for team meetings and class, if you are running late let the group know by sending a message into the Slack channel.
Everyone has an equal voice and valuable contribution.
When you are assigned a job, take ownership of it and keep it up to date, do not be afraid to ask others for help, 
always be honest about your work.
Do not speak over someone when they are expressing a point, everyone has an equal voice.
No blame culture.
Do not be afraid to ask for help, we are all learning.
No invisble work.
Ask questions to make sure you understand the task given to you.
Try have some fun, team work makes the dream work.
Use Agile methodoligies in the project at all times.

Meetings

Stand-ups will occur on Every 09.40 AM during class. Monday and Wednesday every week.
Updates will be in the form: What I've done, Impediments, What I plan to do.
Sprint planning will occur at Start of the week ( Monday ), (to be organised by the Product Owner).
Please add and update items within Jira a prior to the sprint planning session.
Sprint Retro will at the end of our sprint on Friday at 11:00 (timebox retro for 20 minutes, to be organised by the Scrum Master).
Points raised in the sprint retro will be noted and posted on the Jira by the Scrum Master. The Scrum Master is rotated per team member every sprint.
Backlog refinement will happen during Sprint planning.
Story points estimation will be done using Pocker Planning method.
Come prepared to meetings.
Be on time for Stand Ups and meetings.
Mobile phones on silent.
Everyone has equal voice and valuable contribution.
Keep your language and tone professional at all times.
Be honest.

Communication

Slack is the preferred method of communication.
If a demonstration is required use Loom, record the session and upload to the Slack channel.
Raise a problem as soon as you see it.
Respect each other and understand differences in knowledge.
All team documents are to be created using Markdown language and shared on GitHub.
There are no silly questions, if you don’t understand, ask.
Share success stories.
Focus on the positives.
Don’t make assumptions.
Don’t interrupt and cut another person off while they are talking.
Listen when someone is talking, don’t interject.
Zero tolerance for bullying.

Agile way of working.

If you are assigned a job, take ownership of it and keep it up to date.
Stick to your agreed working patterns. Let the team know when you are late or going early.
Keep JIRA board updated at all times.
Update the Scrum Board as you progress the story i.e. don’t update at standup.
Don't be afraid to ask for help.
Don't be afraid to give constructive criticism, as long as it is constructive.
Solve roadblocks within the team. If the impediment can’t be solved within the team then give it to the Scrum Master.
The Scrum Master and Product Owner roles rotates each sprint.
Each member of the team will work approximately 25 hours per sprint, unless they are on vacation.

Branching Strategy

Our branching stategy will start with :
1. feature-branch -> every team member will have their own KAN jira task branch 
2. development -> here feature-branch will be merged with development branch post testing and moving jira task to done
3. master -> for production
4. documentation-branch -> any documents/ research/ step-by-step procedure documents will be uploaded here

Estimating Story Points and Velocity

The teams team's velocity will evetually increase as per sprints. 1 is minimum point and 8 is maximum. Any points that go beyond 8 hours will be considered as Epic.

Velocity:

  • For Sprint 1 and 2 -> 1 SP = 1 hour
  • For Sprint 3 to 7 -> 1 SP = 2 hour

Definition of Ready/Done

Will be mentioned in the accepted criteria of each task posted in Jira