getting system
Lack of documentation on the "What? Why? How?" for future reference
Valuable discussions on ideas get lost ("Why did we do that again?")
Lack of planning/understanding creates inflexible solutions
(tech debt, slowing down iteration speed)
Rushed designs that either require reworking or we end up living with
(design debt?)
Downtime due to broken solutions deployed without review
(Loss of new users and can turn off existing users)
Lack of feedback for developers (No insight on what to improve next time)
Bugs reaching users, some bugs having a long lifetime (Poor user experience)
If you're not writing code you don't need to care
Used as the starting point for constructing code
If you don't need an issue you start directly with a merge request
Can operate similarly to Issues (contains similar collab tools)
However more for final discussion of technical details
Are for constructrive criticism or suggestions
Final place for feedback and quality of code before it makes its way into the product
Two eyes better than one
Task, Feature or Bug is created as an Issue
Discussion (It works like a slack thread e.g. "@adamhejl should we make the doge logo 3d?")
Issue progresses to implementation stage
"Create merge request (MR)" from Issue to automatically create a working branch
MR is in Work In Progress (WIP) mode <-(Start here if skipping Issues)
Implementation & commits added
MR set as complete, reviewers assigned
MR is discussed if necessary
MR Approved & Merged
Deployed to production