기본 콘텐츠로 건너뛰기

생산성 혁신의 순서로 보는 테스팅 조직의 성숙도

프랙탈이라는 것이 있습니다.

부분 부분의 모습이 자기 복제를 통해 전체 역시 동일한 형태를 가지는 기하학적인 도형을 일컫는 말입니다.

즉, 전체와 부분이 유사한 형태를 지닌다는 말입니다.

테스팅 조직의 성숙도와 발전 역시 회사의 성숙도와 발전과 유사한 모습을 지닙니다.

생산성 혁신의 순서는 제조업의 발전과 맞물려 있지만 그 발전 순서는 작은 조직 또는 개인의 발전에도 충분히 적용하여 생각해 볼 수 있습니다.

아무리 작은 조직과 개인이라도 자신의 생산성을 더 낫게 만들기 위해서 노력합니다. 더 나아진 상태로 나가기 위해 항상 노력하는 것은 어쩌면 우리의 본능일지도 모릅니다.

그런데 우리 자신과 우리의 조직이 항상 생산성 혁신을 성공하는 것은 아닙니다. 많은 경우는 실패로 끝나는 경우도 많습니다.

왜 그런것일까요?

가장 큰 원인은 자신의 성숙성과 관계가 있습니다. 자신의 조직이 현재 어떤 단계에 있고 그 단계에 어떤 접근법을 취해야 할것인지에 대한 고민도 없이 최신의 방법론을 도입하기 위해 서두르기 때문입니다.

어떻게 하면 우리는 성공할 수 있는 것일까요? 그것은 지금 자신의 상태와 환경에 적합한 방법론을 선정해서 합리적인 절차에 따라 수행하는 것이라고 생각합니다.

그러한 합리적 절차는 5S 3I로 요약할 수 있습니다.

5S와 3I란 경영 혁신 절차 8단계의 머리 글자를 딴것입니다.

각 경영 혁신 절차는 그 시대적 환경에서 기업이 부딪친 경영 환경에 맞게 개발된 시대적 산물로 우리 조직 역시 아무리 노력한다고 해도 그 기간을 단축할 뿐이지 각 단계를 뛰어넘을 수는 없습니다.

그것은 개구리 알이 올챙이가 되고 앞다리가 나오고 뒷다리가 나오고 꼬리가 사라져야 개구리가 될 수 있지 중간의 어떤 단계도 건너뛸 수 없는 것과 마찬가지입니다.

만약 여러분이 테스팅 조직 성숙도 모델인 TMMi나 TPI 또는 ISO/IEC 29119과 같은 표준, Agile Testing와 같은 방법론을 도입하려고 노력해도 성공하지 못한다면 여러분의 조직은 아직 이러한 단계를 도입할 준비가 되지 않은 것입니다. 여러분이 알아차리지 못했던 어떤 단계에 대한 더 나은 성숙도에 도달해야만 그 다음 단계를 성공할 수 잇씁니다.

즉, 먼저 그 길을 달려갔던 조직과 회사가 성장하면서 거쳤던 생산성 혁신의 순서를 우리도 짧게나마 밟지 않으면 안되는 것입니다.

생산성 혁신을 생각할 때 가장 먼저 생각할 것이 전문화입니다.

크게는 개발팀과 테스팅을 구분하여 전문화 하는 것을 생각해 볼 수 있고 테스팅 안에서도 테스트 설계, 성능 테스팅, 보안 테스팅, 사용성 테스팅 등 각각의 영역에서 전문성을 취하고 분업화를 하는 단계라고 볼 수 있습니다.

전문화 다음으로 생각할 수 있는 것이 표준화입니다.

업무 수행의 표준화, 보고서의 표준화, 코딩작성 방법에 대한 표준화 등 생각해 볼 수 있는 표준화는 무척 많습니다. 표준화란 약속이며 질서를 만드는 단계라고 볼 수 있습니다.

전문화와 표준화가 이루어지면 그 다음으로 찾아오는 것이 단순화입니다.

단순화는 전문화와 표준화를 거치면서 복잡해졌던 많은 단계를 단순화 하는 단계입니다.

제 경험상 많은 업체들은 아직까지는 표준화 진행 단계로 생각됩니다. 많은 조직에서 ISO 인증이나 표준의 도입들에 열심을 낼 뿐, 그 표준에 있어서 어떻게 자신의 조직에 맞게 적절하게 단순화 시킬 것인지에 대한 고민은 그다지 많지 않은 것 같습니다.

이렇게 전문화, 표준화 , 단순화를 생산성 혁신의 3S라고 합니다.

이 3S에 정확한 측정과 그에 걸맞는 보상 체계를 맞추는 과학화가 더해져 4S가 됩니다. 이러한 합리적 보상체계는 조직 구성원에 대해 동기를 부여하는 요인이 됩니다.

그리고 이러한 보상 체계는 직간접적으로 조직의 구성원의 활동에 영향을 미치게 됩니다.

가장 흔하게 얘기되는 예가 테스팅 조직의 보상 체계로 테스터를 결함의 갯수로만 평가하게 된다면 테스터는 발견하기 쉬운 결함에만 집착하게 됩니다.

이렇게 되면 테스팅의 완성도와 조직 전체에 좋지 않은 영향을 끼치게 되는 것은 자명한 일입니다.

과학화란 테스팅의 완성도를 높이기 위해서 반드시 의미있는 매트릭을 개발해야 된다는 것입니다.

이상과 같은 4S는 순차적으로 진행될 수도 있지만 사실 순차적이라기 보다는 병렬적으로 그리고 개별적으로 진행되는 개선으로 4S가 조화를 이뤄 효과를 내기 위해서는 이를 체계화할 필요성이 있습니다.

이것을 우리는 프로세스라고도 부르고 어떤 경우는 모델 또는 방법론이라고도 부르는 것입니다.

이는 다섯번째의 S로 시스템화입니다.

어떤 제품을 이루는 부품들이 흩어지면 아무런 힘이 되지 않지만 정해진 역할에 따라 모인다면 목표로 하는 효과가 나타나는 것처럼 효과가 극대화되기 위해서는 전문화, 표준화, 단순화, 과학화의 4S가 이루어지고 난 다음에는 이를 시스템으로로 구축해야할 필요가 있습니다.

이렇게 시스템이 구축되면 그 다음이 1I, 집적화 입니다.

집적화란 고객의 요구사항에 대한 신속한 대응을 말합니다. 즉, Agile 개발 방법론 등이 목표로 하는 바가 이 집적화 단계입니다.

다른 말로 한다면 조직 자체가 5S 단계를 거쳐서 이루지 못했다면 Agile 개발 방법론을 아무리 도입하려고 해도 그 효과가 빠르고 직접적으로 나타나지 못한다는 것과 같습니다.

그 다음은 2I, 지능화입니다.

지능화는 무인 자동화를 말합니다. 지능화 단계는 선진국에서도 실험적인 응용이 시도중인 단계입니다. 하지만 우리 나라에서는 많은 경우 이전 단계들을 무시하고 자동화만을 추구하는 우를 범하는 경우도 많습니다.

마지막 3I 는 비상식화의 단계입니다.

기존의 상식적인 개선으로 한계에 다다랐을 때 생각해 볼 수 있는 것이 이 단계이고 이것을 혁신이라고 합니다.

즉, 혁신이라는 것을 이루기 위해서는 상식의 기초가 갖추어져야 한다는 것입니다.

정리해 본다면 생산성 혁신은 아래와 같은 순서로 진행됩니다.
생산성 혁신의
여러분과 여러분의 조직은 지금 어느 단계에 도달했나요? 어떤 단계가 부족한가요?

발전하고 발전해서 더 나은 단계에 도달하고 싶으시다면 꼭 한번 여러분의 조직이 현재 어떤 환경에서 어떤 단계에 도달해 있는지 꼭 한번 고민해 보시기 바랍니다.

만약 객관적인 시각이 필요하시다면 믿을만한 컨설팅 회사를 찾아보시기 바랍니다. 만약 여러분의 조직이 가지고 있는 제약과, 강점과 약점, 환경을 고려하지 않고 단순히 자동화, 표준화 만을 강조한다면 그 컨설턴트는 가짜일겁니다.

여러분이 지금 추진중인 6시그마, TQC, Agile, Lean 등의 방법론이 정착되지 못하고 힘들고 어렵고 실패한 경험이 있다면 방법론이 잘못된 것이 아니라 여러분의 성숙도가 문제인 것입니다.

여러분을 돌아보시기 바랍니다.

개인적으로는 우리 나라의 IT와 SW 업계를 포함해서 테스팅 조직에서 가장 필요한 단계는 단순화 그리고 시스템화와 함께 TQC 적인 사고와 정책의 도입이 아닌가 생각됩니다.

댓글

이 블로그의 인기 게시물

합성 사용자(Synthetic Users)의 5가지 유형과 AI 테스팅 현장에서의 활용법

AI와 생성형 모델 기술이 발전하면서, 사용자 경험(UX) 연구와 테스팅 현장에서 가상 퍼소나를 활용해 테스트 데이터를 수집하거나 사용성을 평가하려는 시도가 급격히 늘고 있습니다. 이를 흔히 '합성 사용자(Synthetic Users)'라고 부릅니다. 하지만 막연히 "AI에게 사용자 역할을 시켜 테스트를 돌린다"고 할 때, 그 가상 사용자가 어떤 방식과 데이터로 생성되었는지 명확히 구분하지 않으면 자칫 왜곡된 결과에 빠질 위험이 있습니다. UX 및 사용성 리서치 분야의 권위 있는 기관인 MeasuringU에서 이 합성 사용자의 개념을 명쾌하게 분류한 아티클을 공개했습니다. 바로 "What Are the Different Types of Synthetic Users?"라는 글입니다. (출처: MeasuringU - What Are the Different Types of Synthetic Users? / Jeff Sauro, PhD & Jim Lewis, PhD) https://measuringu.com/what-are-the-different-types-of-synthetic-users/ Jeff Sauro와 Jim Lewis 박사는 합성 사용자를 단순히 하나의 개념으로 뭉뚱그리지 않고, 생성 기술의 근거와 데이터 기반에 따라 크게 5가지 유형으로 깔끔하게 정리해 줍니다. 첫째는 규칙 기반(Rule-Based) 합성 사용자입니다. AI 모델이 아니라 사전 정의된 조건문, 정규식, 시나리오 스크립트에 따라 움직이는 전통적인 형태의 가상 사용자입니다. 예측 가능하고 정확하지만, 인간 사용자의 복잡한 정서나 미묘한 변수를 반영하진 못합니다. Selenium, Playwright, K6 같은 도구를 통해 지정된 경로대로 버튼을 누르고 데이터를 입력하는 방식을 들 수 있습니다. 둘째는 퍼소나 기반 LLM(Persona-Based LLM) 합성 사용자입니다. 생성형 AI에게 "너는 50대 비테크놀로지 사용...

피드백 루프: AI 시대 테스터가 지켜내야 할 핵심 엔진

소프트웨어 개발과 테스팅 현장에서 가장 자주 언급되지만, 막상 시스템이 복잡해질수록 쉽게 경시되곤 하는 핵심 개념이 바로 '피드백 루프(Feedback Loop)'입니다. 코드를 수정하고, 빌드하고, 테스트 결과를 확인하고, 다시 개선하는 그 순환 과정의 속도와 정확도가 결국 소프트웨어의 품질을 결정짓기 때문입니다. 품질 전문가 매슈 하이저(Matthew Heusser)가 자신의 블로그 Quality Remarks에 기고한 "One Loop After Another" 아티클은 바로 이 피드백 루프의 다층적 구조와, AI 시대에 우리가 놓치지 말아야 할 품질 검증의 본질을 날카롭게 되짚어 줍니다. (출처: Quality Remarks - One Loop After Another / Matthew Heusser) https://qualityremarks.com/one-loop-after-another/ 매슈 하이저는 소프트웨어 개발 생태계가 단순히 하나의 커다란 테스트 루프로 돌아가는 것이 아니라, 시간 축과 관점에 따라 겹겹이 쌓인 '연쇄적인 피드백 루프들(One Loop After Another)'로 이루어져 있다고 설명합니다. 초단기 루프 (Inner Loop): 개발자가 코드를 작성하는 몇 초~몇 분 단위의 루프입니다. 단위 테스트(Unit Test)나 IDE의 Linter, AI 자동 완성이 즉각적인 피드백을 주는 영역입니다. 단기 루프 (Daily / CI Loop): 커밋과 푸시가 이루어지고, CI/CD 파이프라인에서 통합 테스트와 정적 분석이 실행되는 몇 시간 단위의 루프입니다. 중기 루프 (Iteration / Exploration Loop): 스프린트 단위로 탐색적 테스팅(Exploratory Testing)을 수행하고, 실제 사용자 시나리오나 엣지 케이스를 사람이 직접 검증하며 시스템의 유기적 작동을 확인하는 며칠~몇 주 단위의 루프입니다. 장기 루프 (Outer / Market Loop): 실제 ...

AI 에이전트의 환각과 프롬프트 폭증을 막는 '컨텍스트 엔지니어링(Context Engineering)'과 아키텍처의 미래

AI 코딩 에이전트나 생성형 LLM을 소프트웨어 개발에 접목하는 시도가 늘어나면서, 엔지니어들이 마주하는 가장 큰 기술적 병목 중 하나는 바로 '컨텍스트(Context)'의 관리입니다. 저 역시 최근 AI와 바이브 코딩(Vibe Coding)을 활용해 여러 프로젝트를 진행하고 있는데, 하나의 대화창(세션)을 오래 켜둔 채 작업을 계속 이어가다 보면 AI가 초기 맥락을 잊어버리거나 이전에 지켜달라고 했던 제약조건을 놓치며 실수를 저지르는 경우를 자주 겪곤 합니다. 그래서 저는 목적별로 대화창을 명확하게 분리해서 작업하거나, 어느 정도 작업 단계가 진행되면 지금까지의 구현 내용과 의사결정을 요약 정리한 뒤 새 대화창에서 AI에게 이를 다시 학습시키는 방식으로 맥락을 관리하고 있습니다. 그렇다면 엔지니어링 아키텍처 차원에서는 이 문제를 어떻게 접근하고 있을까요? InfoQ의 발표 아티클 "Architecture / Context Engineering"에서는 바로 이 지점, 즉 단순한 프롬프트 엔지니어링을 넘어 시스템 아키텍처 수준에서 컨텍스트를 제어하는 '컨텍스트 엔지니어링(Context Engineering)'의 필요성과 구체적인 프레임워크를 다루고 있습니다. (출처: InfoQ - Architecture / Context Engineering) https://www.infoq.com/presentations/architecture-context-engineering/ 발표자들은 코딩 에이전트나 자율형 에이전트가 현장에서 실패하는 가장 큰 이유로 '비대해진 컨텍스트 윈도우(Bloated Context Windows)'와 무분별하게 채워진 프롬프트(Stuffed Prompts)를 꼽습니다. AI에게 너무 많은 정보를 한 번에 주면, 모델의 주의력(Attention)이 분산되거나 논리적 우선순위를 놓치는 현상이 발생합니다. 마치 인간 엔지니어에게 백과사전 수십 권을 던져주고 "이거 다 읽고 10초 ...