2016년 1월 22일 금요일

회원정보 업데이트 이벤, 1/21(목)~2/15(월)

SW공학이 필요한 근본적인 현상

프로젝트 성공에 대한 고민_SW프로젝트가 항상 요구하는 것은 비용의 증가 없이 적시에 끝나는 것이다. 하지만 현실에선 이 부분을 달성하기 어렵다는 것을 통계나 상황을 통해 인지할 수 있다.

프로젝트가 실패하는 것은 드문 일이 아니기 때문에 예산과 일정이 충족된 경우에도 품질에 대한 궁금증은 남는다. 프로젝트의 성공은 세가지 구성요소(비용, 납기, 품질)를 평가해야 한다. 그렇지 않다면 프로젝트는 실패할 수도 있다.

프로젝트의 실패 이유는 여러 가지가 있지만 원인은 무한할 수도 있다. 80/20법칙(파레토법칙)을 적용할 경우 실패의 가장 일반적인 이유는 아래의 표에서 찾을 수 있다.


프로젝트 관리자는 여러 자원과 관점에서 활동들을 모니터링 해야 하고 그 구성원들도 프로젝트의 성공을 위해 여러 가지 활동들을 추진해야만 한다. 하지만 그들만의 방식으로 또는 경험으로만 프로젝트를 진행시킨다면 프로젝트의 성공을 보장할 수 없게 된다.

웹개발 저널지인 ‘codediesel’에 따르면 SW프로젝트가 실패하는 10가지 이유는

① 불완전한 요구사항
② 불명확한 커뮤니케이션
③ 자원부족
④ 비현실적인 목표
⑤ 요구사항의 변화
⑥ 잘못된 계획
⑦ 엉성한 개발사례
⑧ 형편없는 보고
⑨ 미숙한 기술의 사용
⑩ 출시 압력이라고 한다.

이러한 상황들을 해결할 수 있는 것이 바로 SW공학이다. 물론 기업정책상의 개선 또는 엔지니어의 능력 향상이 표면위로 부상할 수 있지만 프로젝트의 성공적 추진을 위한 전제가 바로 SW공학이다.

개발과정에서의 고민_또한 SW프로젝트를 잘 이끌어 나가기 위해서는 상대 또는 자신과 신뢰가 중요하다. 불신이란 공포와 무지에 뿌리를 두고 있지만 다르게 생각하는 것의 시작이 바로 불신일수도 있다. 이러한 불신을 없애는 방법, SW개발 프로젝트를 추진하기 위한 불신을 상쇄시키고 불신의 단계에서 흐름을 타고 프로젝트를 마무리 할 수 있게 믿음을 주는 바로 그것이 SW공학이 필요한 이유다.


자료 : http://abdulazeem.wordpress.com/2010/02/21/software-developer-life-cycle/

2016년 기업용 소프트웨어에 대한 예측

디지털 시대에 IT의 중심인 소프트웨어는 기업경영에 있어서 매우 중요한 역할을 담당하고 있다. 그렇다면, 기업용 소프트웨어에 대해 전문가들은 어떤 변화를 예측하고 있을까? 기업현장에 있는 전문가와 경영자의 의견은 5가지로 요약되고 있다.

  1. 소프트웨어 기반의 보안 솔루션은 이제 안녕을 고할 것이다. 소프트웨어에 의한 보안 시스템은 2가지 큰 취약성을 드러내고 있다. 우선, 많은 보안 소프트웨어들이 서로 연동되어 작동되기 보다는 독립적으로 움직이다 보니 상호 충돌을 피할 수 없고, 최신 보안 문제에 대해서는 해결 능력이 떨어지는 경향이 있다. 이런 이유로 소프트웨어 정의 보안 솔루션은 변화가 필요하다.
  2. 소프트웨어에 문제가 생기면 이제는 모두의 문제가 된다. 이제 소프트웨어는 CIO, CTO의 문제만으로 귀결되지 않으며, 경영 리더십 전반에 걸친 문제로 이어진다. 즉, CEO를 비롯한 고위 경영진(C-suite: CFO, CMO, COO 등) 모두의 책임으로 이어진다.
  3. 기업의 대규모 프로젝트에서 Agile development transformation이 실현될 것이다. 75%의 기업이(미국의 경우) Agile 방법론을 도입했다고 하지만 그간 규모 있는 프로젝트에서 주시할 만한 성과는 만들어지지 않았다. 2016년은 기업 전반에 영향을 주는 프로젝트에서 Agile 방법론이 적용된 사례를 만날 수 있을 것이다.
  4. 소프트웨어 개발자 수급 부족은 지속될 것이다. Google, Uber, Amazon 같은 기업으로는 SW Engineers가 블랙홀처럼 빨려들어가겠지만, 그렇지 않은 규모의 개발 회사와 Non-IT 부문에서의 소프트웨어 개발 인력 수급은 용이하지 않다. 
  5. 소프트웨어 개발은 Cloud를 향하고 있다. 웹 기반 어플리케이션 부터 소프트웨어 유지보수, 패칭, 업데이트 등 부가가치 사업까지 비용절감과 유집보수 편리성 측면에서 Cloud를 이용하지 않을 이유가 없다. 

이상에서 소프트웨어의 중요성이 기업에서 더욱 커져가는 것을 느낄 수 있다. 그리고, Agile 기반 개발 성숙도의 향상과 함께 우수 소프트웨어 개발 인력의 수급이 필요함을 알 수 있다.