2019. 7. 2. 20:30ㆍCS/소프트웨어공학
[소프트웨어 공학 : 왜, 무엇을, 어떻게?] Week 1 사례로 배우는 소프트웨어 공학 실무
해당 포스트는 K-MOOC 소프트웨어 공학 : 왜, 무엇을, 어떻게? 강의를 바탕으로 작성되었습니다.
학습 목표
우리 나라의 SW 산업 현황과 문제점 이해
사례 분석을 통한 소프트웨어 공학의 필요성 파악
우리 소프트웨어 산업은 왜 지지부진한가?
환경적인 요인
세계 소프트웨어 시장에서 차지 하는 낮은 비중
제조 산업에서 인정 받지 못하는 H/W와 S/W의 차이
공급 과잉 현상으로 제값 받기 어려움
소프트웨어 인식 부족
소프트웨어 품질 역량 부족
소프트웨어 전문 인력 부족
소프트웨어 프로세스 역량 부족
주요 원인은?
소프트웨어의 제strong text값을 받지 못한다는 것
소프트웨어 존재하지 않는 제조 비용
제조업과 소프트웨어 산업 차이에 대한 인식 부족
다른 사람이 만든 SW의 값 어치를 인정하지 않으면서 내가 만든 SW의 값어치는 인정 받으려고 한다.
소프트웨어에 대한 올바른 인식은 왜 중요한가?
중요 Point: 소프트웨어를 이용해서 자신의비즈니스 이익을 얼마나 창출해낼 수 있느냐
ex) facebook의
what
s App` 인수
소프트웨어 특성
눈에 보이지 않음
제조비용이 들지 않음
시장 진입의 투자 필요 없음
심한 생산성 격차
1명의 유능한 인재가 만 명을 먹여 살릴 수 있음
소프트웨어 defect zero
는 가능한가?
defect zero를 위한 기업의 노력
1,000줄당 산업체 평균 약 15 ~ 50개 정도의 defect
보통 1,000줄당 20~30개 정도의 defect가 있음
성공하는 프로젝트의 조건 =
사용하는 고객의 불만이 가장 적은 프로젝트로 잡고,
결함 수를 모니터링하여 적정한 수준으로 유지할 수 있게 함
-> 최상의 프로세스 개선 활동을 통한 품질개선 활동
품질 우선 전략 vs 비즈니스 우선 전략
품질 제일 주의 : 다양한 시도를 통한 최고의 품질 찾기
비즈니스 입장 : 이익창출을 위한 최고의 조건 찾기
결론
비즈니스 전략과 품질 전략을 적절하게 타협하는 역량 필요
Black box vs
White box
둘 중, 나에게 더 좋은 것은?
Black box : 과정을 볼 수 없고 결과물만 보임
장점
시간의 효율적인 관리 가능
관리자의 관리를 최소로 받음
엔지니어로서의 노하우를 지킴
개발자의 중요한 경쟁력
단점
관리자는 불안감을 가짐
문제가 심각해지기 전까지 알 수 없음
Best practice가 외부에 잘 알려지지 않음
실무적인 일을 해결하는 방법
전문가 양성이 되지 않음
specialist를 키울 수 없는 구조
White box : 과정을 볼 수 있고 관리할 수 있는 절차
개발 프로젝트 buffer
, 시간과 연관 됨.
철저한 시간 관리는 프로젝트 관리에 잘 활용 되어야 함
SW 경쟁력은 무엇일까?
남이 할 수 없는 것을 내가 소프트웨어로 할 수 있다.
amazon
,facebook
,google
등..
남보다 내가 소프트웨어를 더 잘할 수 있다.
apple
(값싼 하드웨어 + 고급 소프트웨어)
소프트웨어의 성공 요인
프로세스 개선을 통해 얻을 수 있는 요인
(프로젝트 예상 기간, 공수에 맞게 개발할 수 있도록 개선)
가시화 : 눈에 보이지 않는 걸 보이게 해주는 것
=> 눈에 보이게 자료를 만들어 신규 프로세스 시작 시 정확한 예산을 요구할 수 있다.가치화 : 프로젝트 예상 기간을 줄이면 인력을 운용하고 프로젝트를 관리하는데 훨씬 많은 가치가 생겨남
내재화 : 개발자 스스로 제대로 된 데이터를 만들고, 제대로 된 소프트웨어를 개발함.
혁신을 위해 창의적인 생각을 하는 인재양성 중요함
공학적 접근, 조직, 관리 등 다양한 측면에서 조직의 역량 강화
소프트웨어 경쟁력의 두 축 :
혁신
,개선
=> 보완관계