Area | teardown action |
---|---|
Code/Infra | Remove unused components, transfer active services |
Ownership | Reassign or sunset feature areas with clear comms |
People | Clarify new manager/report lines, review continuity |
Process | Update OKRs, dashboards, team docs |
Culture | Acknowledge loss, celebrate past wins, create closure |
- All services, dashboards, and codebases have a clear, up-to-date owner
- On-call schedules and alerts point to the right teams
- Docs reference the current org structure and contacts
- Dead Slack channels, Jira boards, and projects are archived or deleted
- Communication sent to the org about what's changed, what's gone, and where to ask questions
Moved here
Moved here
Category | Signals | State |
---|---|---|
Impact | - Outcomes were achieved - Key stakeholders are happy - Revenue targets were met - NPS going up - North star metric improving |
OK |
Morale | - Process continues to improve - High team chemistry (people escalations) - Rotations for oncall, ceremonies, etc - Engagement during meetings |
OK |
Accountability | - Project delivery - Low bug count - Low high SEV incidents - Company engagement (e.g. release notes, demo days, etc) |
WARN (recent projects were delayed) |
Productivity | - DORA metrics (e.g. TTM, deployment frequency, etc) - High developer happiness |
ALERT (local builds getting slow) |
Technical ownership | - p95 page load time - p95 API latency - Infrastructure cost is not ballooning |
OK |
Set up your environment carefully: It's important to have one canonical source of truth per environment, per platform. (i.e. iOS Development, iOS Testflight, iOS Production, ditto Android.) Every time you build, your config should propagate values from one input source (per platform) to either Java/JavaScript or Objective-C/JavaScript. Here's what we did for Android and here's what we did for iOS. I don't doubt that you can do better. Please do better. But you can't say that we didn't have one canonical source of truth that worked very simply and effectively throughout the development process.
Don't wait until the end to develop Android and iOS concurrently: Even if you're not actively focusing on both platforms, don't assume that "RN is cross platform… we can develop iOS and flip the Android switch when we'r
{ | |
"name": "AppName", | |
"version": "0.0.1", | |
"private": true, | |
"scripts": { | |
"start": "node node_modules/react-native/local-cli/cli.js start" | |
}, | |
"dependencies": { | |
"bugsnag-react-native": "^1.1.2", | |
"es6-promise": "^4.0.5", |
import scala.concurrent.Future | |
import scala.concurrent.ExecutionContext.Implicits.global | |
(for { | |
a <- Future.successful("a") | |
b <- Future.successful("b") if 1 > 0 | |
c <- Future.successful("c") if 0 > 1 | |
} yield (a, b, c)).foreach(println) |
@SqlUpdate("INSERT INTO posts(title, tags) VALUES (:title, :tags)") | |
int createPost(@BindPost Post post); |