딜라이트닷넷

QP

7나노 이하 반도체, ‘핀펫’의 시대 언제까지?

이수환 기자의 기술로 보는 IT 18.06.19 07:06

  [IT 전문 블로그 미디어=딜라이트닷넷] 최근 삼성전자가 ‘핀펫(Finfet)’ 기술 때문에 홍역을 치르고 있다. 한국과학기술원(KAIST) 자회사인 카이스트…

삼성전자 파운드리의 ‘꿈’…퀄컴과의 동침은 계속될까?

이수환 기자의 기술로 보는 IT 17.12.12 20:12

  [IT 전문 블로그 미디어=딜라이트닷넷] 삼성전자가 내년에도 퀄컴과 함께한다. 신형 애플리케이션 프로세서(AP) ‘스냅드래곤 845’의 위탁생산(파운드리)은 …

차세대 메모리의 가능성과 과제

한주엽의 Consumer&Prosumer 13.08.02 10:29

세계 유수의 반도체 업체들이 차세대 메모리(P램·Re램·STT-M램)의 연구개발(R&D)에 힘을 쏟고 있다. D램과 낸드플래시의 미세공정 수준이 조만간 한계치에 도달할 것으로 예상되고 있는 가운데 미래 먹거리를 준비하고 있는 것이다. 업계에선 오는 2015~2016년 차세대 메모리가 상용화될 것이라고 예측하고 있다.아래 자료는 박성욱 SK하이닉스 사장이 지난해 8월(당시 부사장) 미국 산타클라라에서 개최된 ‘플래시메모리서밋2012’에서 강연한 내용이 담긴 슬라이드다. 강연 주제는 ‘새로운 메모리 기술에 관한 전망’(Prospe…

모바일게임 운영 대행사업…블루 오션으로 뜰까

이대호 기자의 게임 그리고 소셜 13.05.16 17:27

와이디온라인(http://www.ydonline.co.kr 대표 신상철)이 지난해 모바일게임 운영 대행을 위한 G&C센터를 설립한 뒤 관련 사업을 활발하게 전개하고 있어 업계의 주목을 받고 있습니다. 또 지난달엔 CJ E&M 넷마블이 자회사 CJIG를 통해 모바일게임 운영 대행 사업에 나서는 등 고객지원 업무를 전문적으로 도맡아 처리하는 신사업이 업계에 등장했습니다.그동안 게임업계에서는 대부분의 고객지원 업무를 자체 인력으로 소화해 왔습니다. 이는 고객 질문에 대한 단순 답변 뿐 아니라 게임 콘텐츠 관련한 직·간접적 의견…

1년에 코드 4200만 라인…NHN , SW 품질관리 비결은?

심재석의 소프트웨어 & 이노베이션 10.09.09 12:26

NHN(네이버?한게임) 개발자는 하루에 1인 평균 172라인의 코드를 작성한다고 합니다. 이는 일반적 관점에서 볼 때 많은 양은 아닙니다만, 단순 자바스크립트가 아닌 DB엔진 등 어려운 개발업무도 포함돼 있다는 점을 감안해야 할 것입니다.한 사람이 하루 172라인을 개발하면 1년에는 약 4만2000라인을 개발하는 것입니다. NHN에서 코딩을 하는 인원이 1000명 정도 되니까 NHN이 연간 개발하는 코드라인은 약 4200만 라인입니다. 이는 A4용지로 80~90km에 달할 정도의 방대한 분량입니다.개발 분량이 많기 때문에 버그(오류)도 많이 양상 됩니다. 버그는 약 500라인당 하나씩 나온다고 합니다. 연간으로 계산하면 약 8만개의 버그가 NHN의 소스코드에서 나옵니다. 버그가 많다 보니 버그를 발견하고, 수정하는 노력도 엄청나게 많이 들어 갑니다. 이처럼 SW 품질 문제는 NHN의 오래된 숙제였습니다. 위에서 언급한 버그뿐 아니라 시장환경변화에 따는 잦은 요구사항 변경, 통합시간의 장기화 등 여러 문제가 NHN SW 품질을 낮췄습니다.그러나 NHN은 10년 이상 네이버,한게임 등을 운영하면서 이런 문제에 대한 해결책을 찾아가고 있습니다. 그 결과 NHN은 나름대로의 SW 품질 확보를 위한 프로세스를 갖추고 있습니다. NHN의 문제는 아마 NHN만의 문제는 아닐 것입니다. 대부분의 SW기업들이 겪고 있는 문제일 것입니다. NHN의 프로세스를 살펴보는 것은 다른 SW기업에도 큰 도움이 될 것입니다.김정민 NHN 포털개발센터장에 따르면, NHN의 SW품질혁신 활동은 QP(quality practice), 단계적 빌드, 반점개(반복?점진개발) 등으로 상징됩니다.QP는 낮은 코드 완성도를 초기부터 높이기 위한 활동입니다. 단계적 빌드는 느린 통합, 느린 피드백 문제에 대한 대책이며, 반점개는 잦은 요구사항 변경, 환경변화, 느린 피드백, 프로젝트 가시성 저하 문제를 해결하기 위해 도입됐습니다.먼저 QP는 아래 6개의 프랙티스로 구분됩니다.1. 코딩 컨벤션(Coding Convention) ? 코드의 가독성 및 유지보수성 향상을 위해 코딩 수준을 준수해 동일한 스타일 코드로 작성해야 함2. 코드 리뷰 ? 주요코드에 대해서는 코드리뷰를수행. 중요한기능, 중요도가 높거나 복잡한 로직/알고리즘, 테스트가 어려운 예외 처리부분, 신규 개발자가 작성한 코드, 기존에 장 애 및 결함 발생이 빈번한 코드 등3. 코드 커버리지 ? 작성한 코드의 완성도를 높이기 위해 개발자 테스트를 수행하고, 테스트가 충분한 지 커버리지 확인. 테스트는 측정가능하며, 반복적으로 수행 가능해야 함4. 정적 분석 ? 정적 분석도구를 활용하여 테스트에서 검출하기 어려운 잠재오류를 사전에 제거해야 함5. 코드 복잡도 ? 작성한 코드의 복잡도를 확인. 복잡한 코드는 리팩토링이 필요한지, 테스트가 충분히 수행됐는지 커버리지 확인해야 함6. 중복제거 분석 ? 레거시 코드의 가독성을 높이고 유지보수가 용이하도록 Copy & Paste로 인한 중복코드를 식별해 리팩토리 수행단계적 빌드는 개발범위 구현완료시까지 반복적으로 수행되는 일련의 빌드 통합과정을 말합니다. ▲개발자 빌드 ▲커밋빌드 ▲통합빌드 ▲릴리즈 빌드의 4단계를 거칩니다. 개발자 빌드는 개인이 개발한 코드에 대한 빌드로, 변경된 코드 커밋(commit) 전에 로컬PC에서 타인의 코드와 충돌하지 않는 지 검증하는 것입니다 커밋 빌드는 팀 단위의 빌드로, 여러 개발자의 단위테스트를 모아 테스트 수행합니다. DB, 플랫폼, 네트워크 등 미들웨어 의존성이 없는 테스트입니다. 통합 빌드는 실환경과 유사한 환경에서 개발 통합테스트 수행하는 것입니다. 시간이 오래 걸리는 리그레션테스트, UI 자동화 테스트 등을 진행합니다.릴리즈 빌드는 이전 빌드와의 차이점을 확인해 의도한 변경이 맞는지 확인하는 과정입니다. 기능테스트, 부하테스트 등 QA 테스트를 수행해 통과 기준을 달성했는지 확인합니다.반복.점진 개발은 요구사항의 잦은 변경에 대처하기 위한 프로세스입니다. 일종의 애자일 개발 방법론을 NHN화 시킨 것입니다. 이에 따르면, 요구사항을 할당해 개발한 다음, 일단 출시가능한 프로그램을 릴리즈/시연합니다. 여기에 대한 피드백을 반영해 다시 개발에 들어갑니다. 이런 과정이 반복되는 동안에는 요구사항 변경관리 프로세스를 밟습니다. 이 과정에서 중요한 것은 (요구사항) 피처에 대한 관리입니다. 원래 피처가 있으면, 위 과정을 반복하면서 새로운 피처가 발생하게 됩니다. 이에 대한 업데이트를 체계적으로 관리하는 것이 중요하다고 합니다. 또 요구사항을 재반영하면서 프로젝트 일정도 재추정해야 합니다. NHN은 QP, 단계적 빌드, 반점개를 통해 전반적인 개발 효율성을 향상시켰다고 합니다.소스코드 가독성이 향상됐고, 코드리뷰시 코드개선에 대한 의견 공유가 가능해졌다. 일부 개발자들의 잘못된 코딩습관을 고쳤고, 레거시코드수정시, 리그레션테스트로장애를 예방했다. 버그를 사전에 예방했고, 테스트 코드작성이 용이해졌다.코드커버리지의 경우 2009년 초반만해도 25%에 불과했던 것이 현재는 52%이며, 코드 콘벤션은 20%에서 75%로 증가했습니다. 장애건수도 2009년 초반에 비해 4분의 1로 줄었고, 장애시간 역시 2000시간에서 200시간 이하로 대폭 줄었다고 합니다.하지만 이런 결과가 쉽게 얻어진 것은 아닙니다.내 부적으로 강한 저항이 있었습니다. 수치화해서 강제하면, 본질을 경시하거나 어뷰징이 있을 것이라는 우려나 품질이 좋아질 것이라는 보장이 없다, 일정상 어렵다는 등의 거부감이 있었다고 합니다.그러나 결국 이는 진행됐습니다. 다른 기업들이 NHN의 이런 사례를 배우기 위해서는 이런 저항에 맞서는 법을 배워야 합니다.김정민 NHN 포털개발센터장은 ▲전사차원의 후원 ▲조직장의 리더십 ▲공감대형성(Consensus) ▲커뮤니케이션(Flat communication) 채널운영 ▲전담지원조직(Coach) 운영 ▲동기부여 ▲작은 성공의 공유 및 포상을 통해변화확산/전파 ▲자발적으로 조직 내변화 주도하고 전파할 수 있는 ‘겨자씨’ 양성 등을 성공배경으로 들었습니다. 댓글 쓰기