Skip to content
isdnetworks
Go back

고치다 떨어뜨린 검증분

작업 지시서를 여러 번 다시 썼는데 실행이 계속 실패했다. 다섯 번째에 성공하고 나서 되짚어 보니 실패 원인이 대상 쪽이 아니었다.

Table of contents

Open Table of contents

다섯 번의 시도와 그 경위

첫 시도는 지시가 모호해서 무엇을 하라는 것인지 불명확했고 두 번째에 구체화해서 부분 성공을 얻었다. 세 번째에 형식 규칙에 맞추려고 구조를 재편했다가 실패했고 네 번째에 되돌렸는데 첫 번째와 같은 증상으로 다시 실패했다.

다섯 번째에 두 번째에서 통했던 요소를 온전히 복원하니 성공했다. 실패의 원인이 대상의 성질이 아니라 내가 지시서를 다시 쓰는 과정에 있었다는 뜻이다.

규칙을 지키려다 빠진 것

세 번째 시도에서 형식 규칙에 안 맞는 부분을 발견하고 파일 구성을 바꿨는데 그 과정에서 두 번째에 있던 요소 몇 개가 함께 빠졌다. 항목별로 나눠 처리하라는 지시와 첫 명령을 그대로 복사할 수 있게 적어 둔 부분이었다.

그것들이 왜 있었는지를 그 시점에는 기억하지 못했다. 두 번째 시도에서 실패를 겪고 넣은 장치인데 재편하면서 정리 대상으로 보였다.

되돌리면서 다시 빠진 것

네 번째에 되돌린다고 했지만 원래 것을 그대로 옮긴 것이 아니라 다시 써서 복원했다. 다시 쓰는 과정에서 같은 요소가 또 빠졌고 그래서 첫 시도와 같은 실패 패턴이 나왔다.

같은 실패를 두 번 겪은 것인데 되돌리기를 복사가 아니라 재작성으로 한 것이 그 원인이었다. 이 시점에 개별 증상만 그때그때 고칠 뿐 접근 자체를 검토받지 않았다는 지적을 받았다.

무엇이 동작하게 했는가

다섯 번째에서는 순서를 바꿔서 다시 쓰기 전에 이 판을 동작하게 만든 요소가 무엇인지를 먼저 목록으로 적었다. 항목별 처리 지시와 복사 가능한 첫 명령과 진행 상황을 스스로 표시하게 하는 구조와 필요한 부분만 발췌하는 패턴 넷이었다.

다시 쓴 뒤에 그 목록과 하나씩 대조하니 셋째가 빠져 있었고 그것을 채우고 나서 성공했다. 무엇이 동작하게 했는지를 적어 두지 않으면 재작성이 그것을 지운다는 사실을 대조로 확인한 셈이다.

재작성의 표준 절차

이 대조를 예외적인 대응이 아니라 표준 절차로 삼았다. 규칙 준수든 정리든 다른 형식으로의 변환이든 목적과 무관하게 이미 동작하는 부분을 건드릴 수 있기 때문이다.

함께 정한 것도 있는데 검토 호출이 실패해도 그 자리에서 포기하지 않고 다음 분기점에서 다시 시도하기로 했다. 착수 전에 그 영역의 기존 실패 기록을 먼저 읽는 것과 넘기기 전에 기계적인 부분을 직접 실행해 확인하는 것도 절차에 넣었다.

정리


Share this post on:

Previous Post
한 겹 대신 여러 겹
Next Post
게이트가 둘일 때의 절반 통과