반응형

분류 전체보기 308

INCOSE 요구사항 작성 가이드(GWR): Singlular - 단일성 (C5)

요구사항(Requirement)은 시스템 개발 및 엔지니어링 과정에서 필수적인 요소로, 제품이나 시스템이 기대하는 기능과 성능을 충족하도록 정의하는 역할을 합니다. 잘 정의된 요구사항은 프로젝트의 성공을 결정하는 핵심 요소이며, 이를 체계적으로 작성하는 것이 중요합니다. 국제 시스템 공학 협회(INCOSE, International Council on Systems Engineering)에서 발행한 “Guide to Writing Requirements”는 요구사항을 명확하고 효과적으로 작성하기 위한 지침을 제공하며, 요구사항이 가져야 할 여러 가지 중요한 특징을 정의하고 있습니다. 그중에서도 “단일성(Singluar)”은 소프트웨어 개발과 시스템 설계에서 요구사항이 갖추어야 할 사항을 모두 정의되어야 ..

파괴적 혁신의 이면에서 길을 묻다: 중간관리자의 혼란

1. 설렘으로 시작된 자리에 찾아온 깊은 혼란얼마 전, 회사에서 마련한 경영진 간담회에 참석할 기회가 있었습니다. 중간관리자로서 최고경영진(A), 특히 요즘 회사 내외부에서 혁신의 아이콘처럼 조명받고 있는 A를 가까이에서 뵐 수 있다는 것만으로도 무척 기대되는 자리였습니다. 간담회는 조직의 변화, 기술적 전환, 그리고 미래 전략에 대해 보다 진솔한 이야기를 나눌 수 있으리라는 희망을 안고 시작되었습니다. 초반 분위기는 괜찮았습니다. Software Defined Everything이라는 개념에서 출발해, 사내에서 추진 중인 여러 개발 현황들이 공유되었습니다. 처음엔 “우리가 드디어 디지털 전환의 큰 물결을 타고 있구나” 하는 긍정적인 감정도 느껴졌습니다. 하지만 이야기가 점점 진행되면서 상황은 달라졌습니..

Daily Life 2025.04.23

요구사항을 "명확하게" 썼는데, 왜 여전히 문제가 생길까요? - 소프트웨어 비기능 요구사항의 적절성

비기능 요구사항 작성은 항상 어렵습니다. 표현은 애매하고, 해석은 다르고, 검증은 어렵습니다.비기능 요구사항을 설명하고자 "안정적이게", "빠르게", "사용자 친화적으로"라는 모호한 표현들이 수반되고,이들이 반복될 수록 개발 현실에서는 더 많은 질문들이 쏟아집니다. "얼마나 빠르게?""얼마나 안정적으로?""사용자 친화적이라는 누구를 기준으로 하나요?" 그래서 비기능 요구사항 작성을 위한 한걸음 더 들어가보면, 결국 비기능 요구사항은 시스템이 무엇을 해야 하는지보다, 어떻게 동작해야 하는지를 규정하는 것인데, 일반적으로 다음과 같은 품질 속성과 관련된 요소들을 포함하게 됩니다. 성능: 응답 시간, 처리량가용성: 가동 시간, 중단 시간보안: 인증, 권한, 암호화사용성: 직관성, 접근성유지보수성: 수정 용이성..

도대체 "빠르게"가 얼마나 빨라야 하나요? - 소프트웨어 비기능 요구사항의 명확성

소프트웨어 요구사항에서 비기능 요구사항을 작성할 때 자주 빠지는 함정은 이 비기능 요구사항을 "설계 가이드"나 "바람"처럼 모호하게 적는 것입니다. 하지만 비기능 요구사항도 요구사항이며, 따라서 품질을 보장하기 위한 명확한 작성 기준이 필요할 것입니다. 다행히 INCOSE의 니즈 및 요구사항 명세 특성 (in Guide to Writing Requirements, GWR)은 요구사항이 가져야할 몇가지 기준을 이미 제시하고 있습니다. 이를 이용하여 별도의 비기능 요구사항 특성을 정의하지 않고도, 다음과 같은 물음을 통해 비기능 요구사항의 품질을 확보 할 수 있을것으로 생각합니다.비기능 요구사항이 명확하게 정의되었는가? (C3, Unambiguous): INCOSE 요구사항 작성 가이드(GWR): Unamb..

소프트웨어 안전과 보안: 보이지 않는 시스템의 그림자

어느덧 우리는 알게 모르게 수많은 소프트웨어 위에서 삶을 살고 있습니다. 스마트폰을 이용하여 친구들과 소통하고, 인터넷을 검색하고, 물건을 구매하며, 자동차를 운전하며, 병원에서 진료를 받고, 은행 업무를 처리하고 회사에서 여러가지 업무를 처리하는 과정에서 이미 복잡한 소프트웨어 시스템의 통제를 받고 있습니다. 그런데 이들 소프트웨어는 실제로 사람이 볼 수 있는 형상을 가지고 있지는 않습니다. 실제로 스마트폰, 인터넷, 자동차, 병원, 은행, 그리고 회사에서 접하는 모든 소프트웨어는 이를 운영하는 기기(컴퓨터, 스마트폰, 기타 여러 단말기 등)는 눈으로 보고 만질 수 있지만 그 이면에서 동작하는 소프트웨어 그 자체는 눈으로 보거나 만질 수도 없습니다. 단지 운영 기기를 통한 소프트웨어 동작 결과를 우리..

40대-50대 소프트웨어 엔지니어는 한국에서 갈 곳이 없는가?

얼마 전, 차량 제어 소프트웨어 분야의 기업의 지인으로부터 인력 추천 요청을 받았습니다. 마침 떠오르는 인물이 있었는데요, 40대 중후반의 후배로, 업계 경력만도 20년에 가까우며, 실무 감각과 기술 리더십을 모두 갖춘 엔지니어였습니다. 그동안 함께 일한 경험이 있어서 그의 실력과 인성을 누구보다 잘 알고 있었기에, ‘이 정도 인재면 어디서든 환영받겠지’ 하는 마음으로 자신 있게 추천했습니다. 하지만 며칠 후, 그 후배의 나이를 확인한 회사 측에서 조심스럽게 난색을 표했습니다. 공식적인 이유는 밝히지 않았지만, “조직과의 조화”, “팀 내 연령 구조” 같은 말을 돌려 하는 걸 듣고 나니, 결국 핵심은 ‘나이’라는 걸 알 수 있었습니다. 그 일은 결국 ‘없던 일’이 되었고, 저 역시 후배에게 “이번 건..

INCOSE 요구사항 작성 가이드(GWR): Complete - 완전성 (C4)

요구사항(Requirement)은 시스템 개발 및 엔지니어링 과정에서 필수적인 요소로, 제품이나 시스템이 기대하는 기능과 성능을 충족하도록 정의하는 역할을 합니다. 잘 정의된 요구사항은 프로젝트의 성공을 결정하는 핵심 요소이며, 이를 체계적으로 작성하는 것이 중요합니다. 국제 시스템 공학 협회(INCOSE, International Council on Systems Engineering)에서 발행한 “Guide to Writing Requirements”는 요구사항을 명확하고 효과적으로 작성하기 위한 지침을 제공하며, 요구사항이 가져야 할 여러 가지 중요한 특징을 정의하고 있습니다. 그중에서도 “완전성(Complete)”은 소프트웨어 개발과 시스템 설계에서 요구사항이 갖추어야 할 사항을 모두 정의되어야 ..

레나카파비르(lenacapavir): HIV 치료의 새로운 전환점

HIV(인체면역결핍바이러스)는 전 세계적으로 수천만 명이 감염되어 있는 질병입니다. 과거에는 HIV에 감염되면 곧 사망으로 이어지는 무서운 병으로 여겨졌지만, 지금은 다양한 항바이러스 치료제 덕분에 잘 관리하면서 살아갈 수 있는 만성 질환으로 인식되고 있습니다. 하지만 여전히 치료에는 여러 가지 어려움이 있습니다. 대부분의 HIV 약은 매일 복용해야 하고, 오랜 기간 치료를 지속해야 하며, 일부 환자들은 약물 부작용이나 내성 문제로 어려움을 겪고 있습니다. 복용을 자주 잊는 경우, 바이러스가 다시 증식하면서 상태가 악화될 수도 있고, 새로운 내성이 생길 수도 있습니다. 이런 상황에서 등장한 약물이 바로 레나카파비르(lenacapavir)입니다. 기존 약들과는 기전도 다르고, 복용 방법도 전혀 다른, 아주..

Health 2025.03.28

INCOSE 요구사항 작성 가이드(GWR): Unambiguous - 비모호성 (C3)

요구사항(Requirement)은 시스템 개발 및 엔지니어링 과정에서 필수적인 요소로, 제품이나 시스템이 기대하는 기능과 성능을 충족하도록 정의하는 역할을 합니다. 잘 정의된 요구사항은 프로젝트의 성공을 결정하는 핵심 요소이며, 이를 체계적으로 작성하는 것이 중요합니다. 국제 시스템 공학 협회(INCOSE, International Council on Systems Engineering)에서 발행한 “Guide to Writing Requirements”는 요구사항을 명확하고 효과적으로 작성하기 위한 지침을 제공하며, 요구사항이 가져야 할 여러 가지 중요한 특징을 정의하고 있습니다. 그중에서도 “비모호성(Unambihuous)”은 소프트웨어 개발과 시스템 설계에서 요구사항이 모호한 사항이 없어야 한다는 ..

INCOSE 요구사항 작성 가이드(GWR): Appropriate- 적절성 (C2)

요구사항(Requirement)은 시스템 개발 및 엔지니어링 과정에서 필수적인 요소로, 제품이나 시스템이 기대하는 기능과 성능을 충족하도록 정의하는 역할을 합니다. 잘 정의된 요구사항은 프로젝트의 성공을 결정하는 핵심 요소이며, 이를 체계적으로 작성하는 것이 중요합니다. 국제 시스템 공학 협회(INCOSE, International Council on Systems Engineering)에서 발행한 “Guide to Writing Requirements”는 요구사항을 명확하고 효과적으로 작성하기 위한 지침을 제공하며, 요구사항이 가져야 할 여러 가지 중요한 특징을 정의하고 있습니다. 그중에서도 “적절성(Appropriate)”은 소프트웨어 개발과 시스템 설계에서 요구사항이 적절한 수준에서 정의되어야 한다..

반응형