Present Findings with Jupyter
Analytics Communication Jupyter, Plotly
Delivery Constraint & Opportunity Analysis · Updated 1 month, 2 weeks ago
Content
Skill: Present Findings with Jupyter
Capability Domain: Analytics Communication
Technology Stack: Jupyter, Plotly
When to use
Insights Communicator picked Jupyter as the story surface.
Template
Open starter (and live lake) notebooks/published-findings.ipynb. Kernel: repo .venv via python -m ipykernel install --user --name opsdl --display-name "Python (opsdl .venv)". Select Python (opsdl .venv). Notebook root = lake repo so streamlit/data resolves. Restart & Run All. Do not start a blank notebook.
Recipe (this order)
- Delivery cycle — all BizDevTestSecOps stages. Each card shows effort (
people_in_role × touch_time), wall-clock (touch + wait), and impact (effort + people_downstream × wait). Measured vs assumed labels. YAML:streamlit/data/cost_of_delay.yaml+role_capacity.yaml. Renderer:streamlit/story_visuals.py→cycle_figure. - Opportunity quadrant — expected efficiency gain vs implementation effort S–XL. Low hanging fruit = high impact AND AI-yes AND low effort. Cells are opportunity names, not agents. YAML:
streamlit/data/ai_opportunities.yaml→quadrant_figure. - Deficiency register — Action Register table plus overlapping dE / dK / dI (multi-tag) and routes. Copy CAS triage; do not re-classify.
- dE + eliminate → drop
- dE + process/tooling → process/tooling owners (not AI SDLC)
- dE + automate or delegate → AI SDLC candidate only
- dK → Team Upskill Engine input (stage, clock, unit, n, role). Do not author modules.
- dI → staffing / selection
YAML:streamlit/data/action_register.yaml. Skill Eliminate/Automate/Delegate Triage → Cause tags / Routes. - Promoted stage detail — only
streamlit/data/promoted_eda.yamlrows. Empty file (rows: []) is still correct until activity Look until Trusted promotes survivors. The two opening visuals plus the register still satisfy the TSY floor. Do not dump Metric Render Catalog. Do not treat empty promoted-eda as a bug. - Starter mart tabs (drill-down, never first). Skip-when is for missing views; if the view exists, run Athena (shared
streamlit/tab_athena.py), pinQueryExecutionId, empty cohort names the window. Do not leaveprint("Instantiate: …")as the tab body. Compute notes live on skill Present Findings with Streamlit → Starter mart tabs — do not invent a second formula. Order: Commits, Work items, Changes, Pipelines, Load, Defects, Sprints. Median + n. Never mix issue lead/cycle (business days) with MR hours. Live GitHub-only lake (opsdl): instantiate Commits, Work items (volume only — omit lead/cycle withoutjira_status_segments), Changes (MR hours, not issue days), Pipelines (top failing = workflow name; job-level extract is not in the lake), Load (risk signal). Skip Defects and Sprints unless those views exist. - Pin Athena
QueryExecutionIdin markdown for any measured number. Numbers come from ranking YAML, not a fresh extract.
Pitfalls
- AWS login refresh is not Athena AccessDenied. Local Jupyter/
awswranglercan fail withAccessDeniedExceptiononCreateOAuth2Token, thenLoginRefreshRequired: "The refresh token has expired" / "Please reauthenticate usingaws login". Wrangler never reachedStartQueryExecution. This is credential session expiry, not lake IAM / workgroup deny. Procedure: (1) terminalaws login(or this org's equivalentaws sso login); (2) confirmaws sts get-caller-identitymatchesdocs/lake-scope-contract.yamlaws_account(live opsdl:411113550285); (3) Restart the Jupyter kernel, then Restart & Run All — boto3 clients in a running kernel keep the dead token; (4) the login credential provider also needspip install 'botocore[crt]'(opsdlrequirements-eda.txt). - Mart tabs must query Athena when contract views exist. Skip-when is for missing views. If the view exists, run Athena (shared
streamlit/tab_athena.py), pinQueryExecutionId, empty cohort names the window. Do not leaveprint("Instantiate: …")as the tab body. streamlit/data/promoted_eda.yamlrows: []is still correct until activity 398 promotes Look-until-Trusted survivors. TSY floor is still cycle + quadrant + deficiency register. Do not dump Metric Render Catalog. Do not treat empty promoted-eda as a bug in activity 254.- Opening with a tab, Feature Cycle Time, or a contributor leaderboard.
- Exclusive pie of causes (tags overlap).
- Turning dK rows into a curriculum.
- Agent / Copilot product names on the quadrant.
Details
- Capability Domain:
- Analytics Communication
- Technology Stack:
- Jupyter, Plotly
- Created:
- 1 month, 3 weeks ago
- Updated:
- 1 month, 2 weeks ago
Playbook
Activities Using This Skill 1
- Present Findings Tell the Data Story