본문 바로가기

소프트웨어

소프트웨어 유지보수도 중요하다. 유지보수라는 것은 구축된 시스템을 운영 및 관리해주는 것이다. 사실 이미 구축된 시스템이라면 많은 일손이 안들수도 있다. 잘 돌아가기만 하면 될 것이다. 물론 B2C 서비스의 경우 상황은 다를 수 있다. 앞서 얘기한 것도 있지만, 린 개발방법론이라든가 DevOps를 한다면 유지보수라는 측면보다는 지속 개발이라는 것이 맞을 것이다. 계속된 요구가 있고, 개선 사항이 있을 것이다. 운영 중에도 개발을 많이 한다. 기존 시스템들은 대개 1.0, 2.0 이런식의 버전을 구분하고, 고도화 프로젝트등을 진행해서 기존 시스템을 사용하다가 어느 순간에 개편 내지 대체를 한다. 하지만 이런 서비스라든가 최근 시스템들은 지속적인 기능 업그레이드 내지는 개발을 한다. 기존과 같은 유지보수이든 지속 개발 관점의 유지보수이든 .. 더보기
소프트웨어 테스트 위상이 높아진 까닭은 소프트웨어를 테스트하는 방법은 여러가지가 있을 수 있다. 기능를 하는 단위 테스트, 여러가지 조합해보는 통합 테스트, 성능 테스트, 보안 사항에 위배가 없는지 해킹 우려가 없는지도 테스트이다. 기본적인 기능에 문제가 없는 단위별 테스트가 단위테스트이다. 개발자가 기본적으로 자기만 개발한 프로그램에 대한 테스트를 해야 한다. 그래서 유닛테스트라고 하고 개발자들이 코드를 개발하는 곳에서 테스트를 할 수 있게 기본적으로 어떤 함수를 만들때 입력과 출력에 대해서 검증하는 것이다. 함수를 만들고 어떤 기능을 동작하게 했다면 입력에 따른 기대 출력값이 있을 것이다. 이것을 검증한 후에는 연결되었을 때 오류가 없는지 봐야 한다. 기능들이 조합되었을 때 예상치 못한 결과가 있을지 모르니 확인해봐야 한다. 통합 테스트를.. 더보기
소프트웨어 왜 중요한가? 누가 잘할 수 있는가? 개발을 한다는 것은 무언가를 만드는 것이다. 건축물로 비교하면 아파트나 백화점을 건축하는 것이다. 그 건물의 목적이 있고, 디자인이 있고, 그 건물에 들어가는 각종 기능들이 있을 것이다. 소프트웨어로 개발을 하는 것의 대상은 무형의 것이다. 물론 결국 화면이 보여지기때문에 유형이라고도 할 수 있다. 무형이라고 말하는 이유는 그것이 최소 손에 잡히는 물건은 아니기 때문이다. IT세계에서 손에 잡히는 기기를 하드웨어라고 한다. 손에 보이지 않고, 안에서 그 하드웨어를 움직이는 것을 소프트웨어라고 한다. 사람으로 치면 몸 자체는 하드웨어이고, 뇌도 하드웨어이고 그 안에 돌아가고 있는 생각이 소프트웨어에 해당된다. 소프트웨어는 미리 정해놓은 약속이다. 사용자가 어떤 기능을 선택하면 그 기능이 동작되어진다. 소프.. 더보기
왜 소프트웨어를 강조할까? 누가 잘할 수 있나? 현재는 뭐랄까 다 할 수 있다. 그렇게 된지는 아주 오래전부터의 일이지만, 국방과학부터 시작해서 개인들의 취미 SNS, 음악 제작, 만화도 컴퓨터로 그린다. 이제 교육에도 초등학교까지 소프트웨어 교육 의무화를 하려고 한다. 소프트웨어에 대해서 중요성을 강조하고 있다. 세상은 왜 소프트웨어를 강조할까? 이미 몇십년전부터 미국을 중심으로 소프트웨어로 엄청난 부가가치를 창출하고 있다. 전세계에서 가장 영향력있는 산업은 역시 소프트웨어 산업이다. 최근들어 주가도 몇배 또는 초기부터 하면 몇십배의 상승을 보이고 있다. 소프트웨어는 그 가치가 끝이 없기때문이다. 마이크로소프트의 윈도우가 대표적이지만, 페이스북도 그러하고, 우리가 일상적으로 접하는 카카오톡이 그러하다. 모두 소프트웨어이다. 어쩌면 소프트웨어는 우리 .. 더보기
소프트웨어, 누가 이렇게 개떡같이 만든거야? 서점에 갔다가 우연히 발견했다. '소프트웨어, 누가 이렇게 개떡같이 만든거야?' 누가 제목을 이렇게 개떡같이 만들었을까요? ㅋㅋ 제목이 일단 재밌고, 표지의 그림도 상당히 재밌다. 그리고 제목만으로 나의 생각을 좀 대변해주는 거 같았다. 개발자의 삶을 살때는 사실 '개발만 하면 끝이다'라고 생각했었지만, 관리자가 되고, 사용자가 되어보니 그런 개발자들을 정말 쥐어 박고 싶을 심정이다. 개발자들은 본연의 임무에 너무 충실한 나머지 사용자를 무시한다는 느낌이 들 정도로 시쳇말로 '발로 만들어놓은 듯한' 프로그램들이 많다. 만들어놓은 프로그램들을 보면 정말 실망 완전 실망이다. 물론 이를 만들기 위해서도 매일 야근에 제대로 집에도 못가면서 만드는 것을 알고 있다. 최근 대화를 해보니 옆에 PM은 요즘 일주일에.. 더보기
소프트웨어 분리발주 1. S/W 분리 발주의 개념 - 정부 기업 등이 정보화 프로젝트를 발주할때 시스템에 들어가는 소프트웨어를 SI 업체에 일괄적으로 맏기지 않고 개별적으로 발주하는 것 - H/W, S/W, 시스템 통합 등을 일괄하여 계약하지 않고 각각 구분하여 발주하거나 계약하는 형태 2. S/W 분리 발주의 필요성 - 구체적인 S/W 사업분석을 통하여 기획단계부터 시스템의 분석을 통한 정보시스템의 품질 향상 - 분리발주 시, 공개경쟁에 의한 기술력을 평가하여 협상에 의한 계약 체결방식으로 S/W 업체의 경쟁력 제고 3. 일괄발주와 분리발주와의 비교 구분 일괄 발주 분리 발주 사업분석 시스템 품질 및 사용된 SW, 사업절차 등에 대한 적정평가 곤란-> 개괄적인 사업분석 구체적인 사업분석 -> 시스템 품질 평가 및 효율적 .. 더보기
소프트웨어 향후 10년 시장 좌우할 7대 변수 'SW 7대 변수'향후 10년 시장 좌우 7개 흐름 ① 비즈니스 프로세스 아웃소싱(BPO): 기업들은 BPO를 대체재로 활용해 소프트웨어 공급 업체들과의 협상력을 증진시킬 것 ② 저가 개발 환경(중국/인도, SOA/모듈화 아키텍처): ③ SaaS(Software-as-a-Service): SaaS는 소프트웨어 산업 구조의 근본적인 변화를 가져올 것으로 예상되며, 2011년이면 새로운 소프트웨어의 1/4이 SaaS 방식으로 제공될 전망 ④ 3자 유지보수 업체 등장: IT 기업들은 3자 유지보수 업체를 활용하여 기존 소프트웨어의 높은 유지 보수비용을 절감할 것 ⑤ 오픈 소스 관심 증가: 오픈소스 자체가 IBM ․ Microsoft 등 거대 기업을 넘어뜨리지는 못하겠지만, 전통적 소프트웨어 산업, 특히 서버․.. 더보기