반응형

전체 글 303

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)”은 소프트웨어 개발과 시스템 설계에서 요구사항이 적절한 수준에서 정의되어야 한다..

INCOSE 요구사항 작성 가이드(GWR): Necessary (C1)

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

SOTIF 및 ISO/PAS 8800의 역할과 자율주행 기술 안전성 평가

자율주행 기술의 발전은 교통사고 감소와 이동 편의성 향상과 같은 긍정적인 변화를 가져올 수 있지만, AI 기반 시스템의 안전성을 확보하기 위한 엄격한 기준이 필요합니다. 특히, 자율주행차(AV)에 적용되는 AI 기술이 예측할 수 없는 다양한 도로 환경에서도 안전하게 작동하도록 보장하는 것이 중요합니다. 이와 관련하여 SOTIF(Safety of the Intended Functionality)와 ISO/PAS 8800은 AI 기반 자동차 시스템의 안전성을 검증하고 신뢰할 수 있는 표준을 마련하는 중요한 규제 프레임워크입니다. 이번 포스팅에서는 이 두 가지 표준의 역할과 자율주행 시스템의 안전성을 평가하는 방법에 대해 알아보도록 하겠습니다. 1. SOTIF (ISO 21448)란 무엇인가?SOTIF는 기존..

Automotive 2025.03.08

SDV(SW Defined Vehicle) 발전 레벨과 제어적 안전의 변화

상용차(트럭 & 버스)는 대형 화물과 다수의 승객을 운송하는 중요한 이동 수단으로, 안전성이 최우선으로 고려되어야 합니다. 특히, 자동차 기술이 기계적 제어에서 전자제어를 거쳐 소프트웨어 중심으로 발전함에 따라, 상용차에서도 안전 시스템이 크게 변화하고 있습니다. 이번 포스팅에서는 소프트웨어 정의 차량(SDV, Software Defined Vehicle) 발전 단계를 분석하고, 제어적 안전이 어떻게 향상되는지 살펴보겠습니다. 관련 글 더 보기SDV 시대에 피할 수 없는 기술적 부채와의 동행SDV를 위한 자동차 부품 공급망 변화가 필요하다.Ethernet 기반 차량 네트워크 설계에서 Functional Safety 고려사항 상용차(Commercial Vehicle) 중심의 SDV 전환 전략 수립 시 고려..

Automotive 2025.03.03

소프트웨어 공학: 니즈(Needs) vs. 요구사항(Requirements)

소프트웨어 개발에서 성공적인 시스템을 구축하기 위해서는 사용자의 기대(니즈, Needs)를 정확하게 이해하고, 이를 충족할 수 있도록 구체적인 조건(요구사항, Requirements)으로 변환하는 과정이 필수적입니다. 그러나 많은 프로젝트에서 이 과정이 제대로 수행되지 않으면, 최종적으로 사용자의 기대와 다르게 동작하는 소프트웨어가 개발되는 경우가 많습니다. 소프트웨어 니즈와 소프트웨어 요구사항은 밀접한 관계를 가지지만, 개념적으로 명확한 차이를 갖고 있습니다. 소프트웨어 니즈는 사용자가 원하는 바를 반영하는 상위 수준의 개념이며, 소프트웨어 요구사항은 이를 실현하기 위한 구체적이고 검증 가능한 조건을 정의하는 것입니다. 이번 포스팅에서에서는 소프트웨어 니즈와 소프트웨어 요구사항의 의미를 설명하고, 두 ..

소프트웨어 개발의 딜레마: 품질과 일정을 균형 있게 관리하기 위한 변화 필요성

소프트웨어 엔지니어로서 우리는 늘 높은 품질의 소프트웨어 개발과 정해진 일정 내에 제품을 출시해야 하는 두 가지 과제를 동시에 해결해야 하는 어려움에 직면합니다. 이상적으로는 충분한 시간을 확보하여 요구사항을 철저히 분석하고, 체계적인 설계를 거쳐 코드 리뷰와 검증을 통해 완성도 높은 소프트웨어를 개발하는 것이 바람직합니다. 그러나 현실에서는 비즈니스 요구 사항에 따라 일정이 단축되는 경우가 많으며, 변경사항도 빈번할 뿐만 아니라, 이에 따라 품질을 확보하는 과정이 축소되거나 간소화되는 경우가 빈번하게 발생합니다. 이러한 일정 압박 속에서 품질을 충분히 확보하지 못한 소프트웨어가 출시되면, 이후 현장에서 문제를 일으키고, 개발자는 긴급한 버그 수정과 패치 작업에 시달리게 됩니다. 이러한 과정이 반복되면서..

반응형