/
Monolith WG: 04/26/2017
Monolith WG: 04/26/2017
Attendees
Adam Palay (Deactivated), Andy Armstrong (Deactivated), Brian Beggs, EdwardF (Deactivated), JesseZ (Deactivated), Renzo Lucioni (Deactivated), Robert Raposa, Scott Dunn (Deactivated), Nimisha Asthagiri (Deactivated)
Meeting Notes
- Definition of Done (5mns)
- Consensus on long-term goal
- Today's Problems/Observations
- Developer Velocity
- Pull request complexity
- i.e., over interdependencies
- Pull request wall time for tests
- Developer onboarding
- Disorganization
- Pull request complexity
- Quality
- Clear seams and contracts for tests
- APIs
- Extensibility/Modularity
- Open source community
- Incremental Upgrades (Python/Django) - Future
- Time to value
- brittleness
- time to deployment
- Developer Velocity
- Question:
- Will a containerized/modularized monolith within the same repo give us the benefits we're looking for, as measured by our metrics?
- With the exception of:
- incremental upgrades
- test time - unless we come up with a smarter test-runner
- independent scalability/failure-recovery
- Goal for this working group: get baseline metrics, begin this work and validate/invalidate the approach.
- With the exception of:
- Will a containerized/modularized monolith within the same repo give us the benefits we're looking for, as measured by our metrics?
- Metrics (30mns)
- Before embarking on this project, what metrics can we use to validate our progress and success?
- Collect metrics from the field
- That extended around the monolith
- Enterprise projects
- Learner projects
- That needed to deal with the monolith
- Proctoring
- That tried to modularize before working
- Grades
- Instructor Tasks
- Which metrics?
- Extensible Modularity - Repo lines touched (how many lines within the monolith needed to be changed for new features)
- That extended around the monolith
- "Good metric"
- Easy to measure
- Actionable
- validates/invalidates
- not too many other contributing factors - so the metric is reliable for this project
- Hotspots within the codebase
- Which modules of the code have a lot of contention?
- Number of commits touching the same file
- EdwardF (Deactivated) to share Hotspot presentation
- Code reviews (measuring modularity)
- PRs that needed cross-team reviews
- Number of reviewers that needed to be tagged
- ?? can tag teams as well as individuals
- Number of approvals may be a better proxy (to measure how many blockers on a PR)
- Number of comments - (may be impacted more by other factors - such as the reviewer)
- Pull Requests
- Number of files touched
- PRs that touched multiple modules
- Complexity
- Number of complexity-disabling pylint warnings
- Complexity metric - trend line
- Number of complexity-disabling pylint warnings
- Time-to-value (too many other contributing factors - may not be directly related to the monolith initiative)
- Github branch age
- Age of commits on branch - in case developers worked on it locally for long?
- Release pipeline metrics - these are already available
- Number of rollbacks
- Disrupted deployments
- Github branch age
- Tests (may not be affected until tests are smarter or until code is actually pulled out)
- Time
- Number of flaky
- Collect metrics from the field
- Before embarking on this project, what metrics can we use to validate our progress and success?
- Next Steps (10mns)
- Swarm or Divide-n-Conquer?
- Review proposed Epics
Action Items
- EdwardF (Deactivated) Share Hotspot and Service Maturity model.
- JesseZ (Deactivated) Look into existing metric tools.
- EdwardF (Deactivated) to pull in Calen Pennington (Deactivated).
- Nimisha Asthagiri (Deactivated) Create metric tools resources wiki.
- Andy Armstrong (Deactivated) and Nimisha Asthagiri (Deactivated) to move forward on documentation. Pull in Ned Batchelder (Deactivated).
, multiple selections available,
Related content
Monolith WG: 06/21/2017
Monolith WG: 06/21/2017
More like this
Thoughtworks advice on Enterprise Software and Monoliths
Thoughtworks advice on Enterprise Software and Monoliths
More like this
Monolith Subteams and Tasks
Monolith Subteams and Tasks
More like this
Monolith WG: 05/09/2017
Monolith WG: 05/09/2017
More like this
Findings on Monolith Decomposition in the Modulestore Extraction
Findings on Monolith Decomposition in the Modulestore Extraction
More like this
Core Contributor Metrics with Biterg.io
Core Contributor Metrics with Biterg.io
More like this