소프트웨어 산업은 제조에 비해 미성숙하다고 종종 말합니다. 특히 프로세스 중심적입니다.
질문 : 개발자로서 제조 산업의 프로세스에서 배울 수 있습니까? 프로세스를 채택하면 소프트웨어 개발의 성공률을 높일 수 있습니까?
필자의 의견 : 제품을 제조 할 때는 공정을 많이 사용한다. 각 사람이 따르는 특정 작업 세트가있는 공장이있을 수 있습니다. 작업자 (또는 로봇)는 하루 종일 나사를 조일 수 있습니다. 그런 다음 프로세스의 다음 작업은 다음 전문가가 수행합니다. 작업자 (및 로봇)는 프로세스를 방해하거나 "즉석에서"무언가를 구성하지 않습니다. 프로세스를 통해 부품이 휘어지고 출력이 완제품입니다. 그것은 잘 작동하고 회사는 99.99966 % 결함이없는 제품을 달성합니다. 회사는 시간이 지남에 따라 비 효율성을 해결합니다. 이것은 인상적이며 성숙한 산업의 징조가 될 수 있습니다.
정의 된 프로세스를 제조 할 때 말 그대로 완제품을 만들 수 있습니다. 나는 이것이 소프트웨어의 경우라고 생각하지 않습니다. 소스 제어, 코드 검토, 체크인 시트, 요구 사항 수집, SDLC 등을위한 프로세스가있을 수 있습니다. 그러나 이러한 프로세스를 실행한다고해서 완성 된 제품이되는 것은 아닙니다. 이러한 프로세스는 유리할 수 있지만 실제 생성과 직교합니다.
귀사가 범죄자의 얼굴을 찾기 위해 수백만 개의 이미지를 검색하는 소프트웨어를 작성하기로 계약했다고 가정 해보십시오. 프로세스 중심의 환경에도 불구하고 개발자는 "즉석에서"물건을 만드는 데 참여해야합니다. 즉시 작업을 수행하는 것은 제조 정신에 위배됩니다. 로봇이 생각하지 않아도 좋은 제조 공정을 실행할 수 있습니다.
아직 인간의 마음 속에 팻홈이되어 있지 않은 복잡한 알고리즘을 만들려면 즉시 물건을 만들어야합니다. 소프트웨어 개발은 프로세스의 다음이 아니라 컴퓨터에 의해 실행되는 프로세스의 생성입니다. 그것은 근본적인 차이점입니다. 우리가 개발을 중심으로 얼마나 많은 직교 프로세스를 만들어도, 우리는 항상 창조 과정에서 "즉석에서"수행합니다.
내가 이야기하는 모든 사람들은 제조 사고 방식에 동의하는 것 같습니다. 내 생각에 혼자 있는가?