소프트웨어 공학이 뭔가?
'소프트웨어이야기' 카테고리의 다른 글
| Head First Software Development 리뷰 (3) | 2009/01/29 |
|---|---|
| 닭이 먼저일까? 달걀이 먼저일까? (0) | 2009/01/28 |
| 소프트웨어 공학이 뭔가? (6) | 2009/01/15 |
| 잔말 말고 시키는 대로 해 (6) | 2009/01/13 |
| 공사판 프로젝트? (2) | 2009/01/06 |
| 소프트웨어는 소프트하지 않다. (10) | 2008/12/30 |


All of Software소프트웨어 경영/개발 컨설턴트와 소프트웨어 공학 전문가들이 말하는 소프트웨어 개발 이야기...
여러분들의 의견 적극 환영합니다.
by Ray.전규현 [메일보내기] |
SW개발역량분석 서비스(Free) |
| Head First Software Development 리뷰 (3) | 2009/01/29 |
|---|---|
| 닭이 먼저일까? 달걀이 먼저일까? (0) | 2009/01/28 |
| 소프트웨어 공학이 뭔가? (6) | 2009/01/15 |
| 잔말 말고 시키는 대로 해 (6) | 2009/01/13 |
| 공사판 프로젝트? (2) | 2009/01/06 |
| 소프트웨어는 소프트하지 않다. (10) | 2008/12/30 |
컴퓨터 소프트웨어의 계획·개발·검사·보수·관리 등을 위한 기술과 그것을 연구하는 분야이다. 소프트웨어의 규모가 커지고 복잡해짐에 따라 공학적인 접근으로 구조화 프로그래밍을 도입한 것이다 컴퓨터 시스템의 가격에서 소프트웨어가 차지하는 비율은, 컴퓨터가 생겨난 직후인 1955년경에는 20% 미만이었지만, 그 후에 급격히 높아져 80년대 후반에는 80~90%에 이르렀다. 이것은 요구되는 소프트웨어의 규모가 커짐에 따라 복잡해진 데 기인한다. 또, 요구되는 소프트웨어가 점차 복잡해진 반면, 그것에 대처할 수 있는 소프트웨어 기술(개발기술 및 관리기술)이 뒤따르지 못하기 때문이다. 그 결과, 소프트웨어는 항상 납기(納期)에 늦어져 비용이 많이 들고 당초의 규정을 충족시키지 못하고 있으며, 신뢰성이 없고 영구히 보수해야 하고, 투명성(透明性)이 결여되고, 보수할 수가 없으며, 수정 ·개량할 수도 없다는 ‘소프트웨어 위기(危機)’라고 불리는 징후가 나타나기 시작했다. 그 원인으로서, 모든 공학 분야에서 공통된 기본적인 설계절차를 밟지 않고 있다는 지적이 일기 시작하고, 소프트웨어의 개발에 스트럭처드 프로그래밍(structured programming:구조화 프로그래밍)과 같은 공학적 어프로치(approach)가 도입되기에 이르렀다. 소프트웨어에 소요되는 비용을, 계획에서 보수에 이르는 각 단계가 차지하는 비율로 보면, 요구하는 정의(定義) 및 방법의 기술(記述) 단계에 약 10%, 설계단계에 약 10%, 프로그래밍단계에 약 10%, 테스트 및 디버그 단계에 약 20%, 그리고 보수에 소요되는 비용이 약 50%를 차지한다. 검출되는 에러로는, 설계단계 및 그 이전의 것이 약 60%나 된다. 종래까지는 프로그래밍 단계가 강조되었으나, 소프트웨어의 ‘라이프사이클’을 인식하고 사태를 개선할 필요가 있다. 그러기 위해서는 과학적인 지식을 축적하고, 이를 실제적으로 응용해야 하는데, 이것들을 다루는 분야가 곧 소프트웨어 공학이다. |
| 소프트웨어는 소프트하지 않다. (10) | 2008/12/30 |
|---|---|
| 소프트웨어 회사가 기본적으로 갖춰야 할 것 (2) | 2008/12/15 |
| 소프트웨어 공학이 왜 필요하지? 복잡하기만 한데... (11) | 2008/12/11 |
| 티스토리 독립도메인으로 이동 전과정 정리 (7) | 2008/12/10 |
| 객체지향... 필요한가? (12) | 2008/11/26 |
| 개발자 폭행사건을 바라보는 심경 (8) | 2008/11/03 |
팀에서 개발경험없는 소프트웨어 공학을 전공한 석/박사님들과 충돌을 많이했습니다. 학교에서 배우지 못하는 학문이라서 그랬을까요? ^^;
앞으로 올라올 포스팅이 기대되네요... 저도 많은 의견 올리겠습니다. ^,.^;
정의의소님 안녕하세요.
실전을 모르고 대학에서 소프트웨어 공학을 연구하시는 분들이 계십니다. 그런 분들을 헐뜻는 것은 아니지만 그런 분들은 계속 연구쪽으로 하시는 것이 좋겠죠.
실전은 다르니까요. 물론 그런 분중에는 실전 경험도 두루 갖추고 계신 분들이 계시죠.
연구파와 실전파 정도로 나눌 수 있겠죠.
미국에서도 소프트웨어 공학을 가르칠 때 "가르칠 수 없다", "배울 수 없다"라고 하고 가르친다고 합니다.
현실 소프트웨어 개발 현장에서는 탄탄한 이론에 기초를 둔 실전파들이 필요하다고 생각합니다.
그런 경우 그분들이 실전을 잘 몰라서 그런다고 생각하십시오. 소프트웨어 공학이 기계적으로 적용하면 된다고 생각하면 그분들이 잘못 배운 것이거나 경험없이는 안되는 것이 소프트웨어 공학인 것이지요.
제 생각에는 소프트웨어 공학은 실전 경험이 있는 분들에게 가르치는 것이 좋을 것 같습니다. 현재 KAIST에는 경험자를 위한 소프트웨어 공학 코스가 있는 것으로 알고 있습니다. 대부분 10년 이상 경험이 있는 분들이 수강을 하는데, 그정도는 되야 가르치는 것을 이해한다고 하더군요.
제 trackback에 있어서 타고 왔더니 정말 좋은 글이 있군요;ㅁ;
금일 다음 클릭애드클릭스 블로그 선정이 안되어서 우울했는데..
정리의 진수를 보여주시는군요..잘보고 갑니다^0^/
열정태하님 안녕하세요.
소프트웨어공학에 관심이 있으신 것 같아서 트랙백을 남겼습니다. 블로그 가보니 좋기만 하던데 왜 선정이 안되었을까요? 너무 뻑뻑하네요. 힘내세요.
감사합니다.
트랙백 있길래 와봣습니다.
참 좋은 내용은 많네용..
흠..소프트웨어 공학..학교때 배워도.어찌보면...그때는 아하 그랫어도 실상 개발자로 살아가다보면 간과 하게되죵..역으로 다시 서적을 통해 보고 있습니다.
잘 보고 갑니다.
쇼팬하워님 안녕하세요.
그래서, 소프트웨어 공학에는 경험이 정말 중요한 것 같습니다. 우리가 아는 유명한 소프트웨어 공학자들도 대부분 실전파 잖아요.
음...저는 학교에서 배울때 소공의 목적이 요즘은 빨리 만드는것보다는 유지보수가 용이하게 잘 만드는 추세로 간다고 들었던 것 같은데, 뭐가 맞는 걸까요? 연구실파는 아니셨는데요...ㅡ.ㅡ;;
나르사스님 안녕하세요.
의견 감사합니다.
저는 실전파 맞습니다. 그리고 소프트웨어 개발에 소프트웨어 공학을 적용하는 것은 프로젝트 비용 및 기간 단축과 유지보수를 용이하게 만드는 것 모두 해당합니다.
추세를 말씀하셨네요. 갈수록 소프트웨어의 유지보수가 중요해지고 있습니다. 실제로 소프트웨어는 개발보다도 유지보수에 더 많은 비용이 듭니다. 그래서 유지보수의 비용을 줄이는 것도 매우 중요합니다.
주먹구구식으로 개발하는 소프트웨어 프로젝트는 초기에는 빠른 것 같지만, 프로젝트가 막바지로 갈수록 뒤죽박죽이 되어갑니다. 그리고 이렇게 개발한 프로젝트가 더 빨리 끝나는 경우도 가끔 있으나 유지보수에 더 많은 비용이 드는 것이 일반적이지요.
녹차프린스님의 글부터 시작해서 트랙백을 따라서 여기까지 왔습니다.
알찬 글들이 많이 있네요.
잘 읽고 갑니다. 구독링크하고 자주 방문하겠습니다. ^^*
| 하루 8시간 일하시나요? (4) | 2008/12/16 |
|---|---|
| 오늘도 밤을 세워야 하는 개발자 (야근 탈출) (13) | 2008/12/08 |
이상적인 환경이네요. 아웃소싱, SI 업계에서는 조건부터 잘못되서 적용이 안될거 같고, 금융 또는 IT 대기업 사내 소프트웨어 연구실 정도면 어느정도 현실화 될지도. 아마 괜찮은 회사에서는 벌써 적용될지도 몰르고. 그러나, 99% 개발자에겐 그림의 떡일듯. 불쌍한 우리회사 개발자들..![]()
실력있는 개발자 같으신데 기회가 되면 창업한번 해보세요. 다양한 경험을 통해 좀더 현실적인 답을 찾아내시길~
저희 팀이 보편적인 프로젝트라고 보기는 힘들지만, 분명 SI 업계의 아웃소싱 프로젝트에서 위 내용을 토대로 진행을 해서 야근을 없앴습니다.
팀원 중 2명은 야간 대학원에 다니기 까지 하고 있습니다.
중요한 일이 무엇인지 판단을 하고, 고객이 원하는 것이 무엇인지 정확하게 판단하는 것과 구현을 분리하지 않고 일하는 것, 작업을 잘게 쪼개서 예측가능하게 하려는 노력은 현실적인 답을 만들어냅니다.
영회님 안녕하세요.
역시, 이 댓글 하나만 봐도 영회님과 그 개발팀이 어느정도의 실력과 경험이 있는지 알 수 있겠네요.
말은 쉽지만 실제로 그렇게 실행하고 있다는 것은 이해의 단계를 넘어서 내제화를 이루고 있다고 할 수 있습니다. 감사합니다.
붉은칼님 안녕하세요.
우선 밝혀둘 것이 있습니다. 저는 소프트웨어 개발컨설턴트로서 대한민국의 어떠한 개발자와 비교해도 부족하지 않은 개발 및 컨설팅의 지식과 경험이 있습니다. 수백만명이 쓰는 제품, 전세계인이 쓰는 제품, SI등 다양한 분야의 경험을 풍부하게 다 가지고 있습니다. 제가 쓰는 글들은 모두 경험에서 나온 글들입니다. 또한 저희 펌에서는 한국과 미국에서의 20년이상의 소프트웨어 개발에 대한 다양한 노하우를 가지고 있습니다. 그냥 단순히 보고 들은 내용을 옮기는 것으로 오해하지 마시길 바랍니다.
제가 컨설팅을 하면서 만난 거의 모든 회사는 "우리회사는 다르다"라고 합니다. SI다, 금융이다. 이유는 많지만 사실을 다 똑같습니다. 원리는 같다는 얘기입니다. 99%의 개발자에게 그림의 떡이 아니고 99%의 개발자에게 가능하고 그래야 더 품질이 좋은 제품이 개발되고 회사의 경쟁력이 더 높아집니다.
8시간 근무를 하는 이유도 더 개발을 잘하고 빨리 하기 위해서임을 명심해주시면 좋을 것 같습니다. 잘 이해가 안되면 붉은칼님에게는 정말 좋은 기회인 것 같습니다. 소프트웨어 엔지니어링이 가져올 좋은 개발환경에 대해서 앞으로 제 블로그를 지속적으로 관심을 가지고 봐주세요. 점점 더 구체적인 글들을 작성해 나갈 겁니다.
감사합니다.
저도 동감합니다. 저도 지금까지 거친 회사에서 항상 개발 프로세스를 체계화 해 보려고 노력했지만 (지금도 하고 있습니다) 항상 나오는 말은 "우리는 그런거 적용 못해" 라는 겁니다. 하지만 한가지 짚고 넘어가고 싶은 부분은 Ray 님의 말씀처럼 원리는 다 같다고 할 수 있겠지만 원리와 현실의 차이는 무시할 수 없다고 생각합니다.
따라서 원리나 원칙을 적용하고 그에 따르도록 하는 것 보다는 그 회사의 특수성을 이해하고 받아들여 그에 맞게 차용(adopt)하는 것이 가장 현실적이고 바람직하지 않을까 하는 생각입니다.
아시다시피 미국회사라고 야근 없는 것 아니고 주말에도 일할 때도 많습니다 - 전 미국에 있습니다. 개발자란 직업의 특수성이라고 생각합니다. 제 처제는 게임회사 그래픽 디자이너인데 프로젝트 마감일 다가오면 집에도 못가고 주말에도 밤새서 일합니다. 하지만 릴리즈 후에는 2주 - 3주 정도의 휴가를 받습니다. 고생 후 그만큼의 보상이 따른다는 것이 한국과의 다른점이라고 생각이 됩니다. 이는 IT 업계뿐 아닌 사회 전반적인 문화의 차이가 아닐까 하는 생각이 되네요.
Jake님 안녕하세요.
정확한 말씀입니다. 평소에 제가 하는 말이죠.^^
Jake님은 한번 만나뵈고 싶은 분이네요.
앞으로 좋은 교류 지속되기 기대합니다.
미국의 개발자들은 야근을 안하는가? 하는 오해가 있을 수 있습니다. 미국의 개발자들도 야근을 많이 하기로 유명합니다. 하지만 우리와는 경우가 좀 다릅니다. 대부분 체계적으로 개발을 하는데도 야근을 많이 하는 거죠. 특히 MS는 야근을 많이하고 그만큼 많이 보상해주죠. 많이주고 많이 뽑아먹기로 유명합니다.
HannaKim님 안녕하세요.
소프트웨어 엔지니어링에 관심이 많으신 분을 만나서 반갑습니다. 앞으로 좋은 얘기 많이 주고 받으면 좋겠습니다.
감사합니다.
좋은 말씀 잘 보고 갑니다. 선택할 위치에 있는 분들의 뿌리깊은 잘못된 사고방식이 합리적으로 바뀌었으면 좋겠는데, 개발자 출신의 관리자들도 똑같은 생각은 가지신 분들이 많으니 요원한 일로 보이기도 합니다. 하지만 점점 좋아지겠죠? ^^
cozydev님 안녕하세요.
개발자가 좀더 전문적이어야하지 않을까요? 주먹구구식으로는 경영자를 납득시키기는 어려울 것 같습니다.
뭐 워낙 대단한분들이 모이신거 같은데 읽다가 저도 생각을 한줄 표현할까 해서 올립니다만...
환경이 열악한건 사실이죠..근데 환경이 언젠가는 좋아지겠지라는 생각과 그런날이 올까? 라는 생각이 주를 이루는데요...?너무 환경탓을 하기 보다는 자신에게 주어진 환경을 자기가 만들어 갈수 있다는 생각을 가지는것이 중요하다고 생각합니다. 저도 적지않은SI 경험을 가지고 있지만...SI하면서도 일빨리 끝내고 일찍가는 개발자 많고요... 일잘하면 요새는 관리자도 특별히 근태 터치 안합니다.물론 기본적 근태는 지켜줘야죠 9시 출근 6~7시 퇴근 그러다가 일주일에 한두번정도는 8~9시 퇴근 이정도면 처자식과 가정생활 하면서도 충분히 SI에서도 개발자로 생활 가능하다고 보는데요..
| 몇억짜리 툴은 쉽게 사면서 더 좋은 공짜툴은 제대로 쓸 줄 모른다. (0) | 2009/03/05 |
|---|---|
| 깨끗한 개발 환경, 빌드 환경, 테스트 환경 (6) | 2009/02/05 |
| 서로 맞물려서 돌아가야 하는 기반시스템(Infrastructure System) (11) | 2009/02/03 |
| 이클립스 프로젝트 필수 유틸리티 개정판 : Subversion, Ant, JUnit, Trac (2) | 2009/01/28 |
| 우리 개발자는 뭐든 뚝딱 잘 만들어요. (0) | 2008/12/08 |
| 기반시스템(Infrastructure System)을 사용하고 계신가요? (4) | 2008/11/05 |
| SW가내수공업 (4) | 2009/10/01 |
|---|---|
| 항상 보스가 먼저 말하게 하라. (4) | 2009/08/21 |
| 우리는 개발자가 테스트도 다 해요. (2) | 2009/08/09 |
| 사업부가 소프트웨어 조직에 미치는 영향 (0) | 2008/12/23 |
| 우리나라에는 전지전능한 슈퍼 개발자가 있다. (10) | 2008/12/04 |
| 우리나라 소프트웨어 회사에는 Technical career path가 없다. (53) | 2008/12/03 |
마음에 와 닿는 글입니다.
좋은글 감사합니다^^~
전지전능한 개발자가 되려면 분배하고 대화하고 교육하는 그런 노하우도 있어야 하겠지요.
과연 그런 사람이 얼마나 될까요?
돌이아빠님 안녕하세요.
진짜 제대로된 전지전능 개발자면 좋겠죠. 말씀대로 이는 거의 불가능합니다.
그냥 일만 많이 하는 그런 개발자가 회사의 큰 리스크라는 것이 문제죠.
하이컨셉님 안녕하세요.
작성하신 글은 잘 봤습니다.
공감이 가는 글이더군요. 앞으로도 좋은 의견 많이 주고 받기를 기대합니다.
감사합니다. ![]()
전문화된 개발자가 대우 받는 여건이 빨리 형성되었으면 좋겠습니다.
그리고 정치세력이란 이야기 정말 공감갑니다.
스트럭쳐(구조)화 하기 좋아하는 경향들이 있어서 그런지 사람 관계도 구조화를 잘 하시는 분들이 많더라구요 ![]()
좋은 글 정말 잘 읽었습니다. ;-)
jangsungjin님 안녕하세요.
개발자의 정치라는 것은 결국 제살 깍아먹는 것 아닐까요?
개발자가 실력이 경쟁력이 되어야지, 정치로 얼마나 오래 살아남을 수 있을까요?
이런 개발자는 실력도 립서비스밖에 없는 개발자가 되더군요.
모든 것을 다 하려는 개발자는 어쩔수 없이 문맥전환 비용을 치러야하겠죠. 그러다보면 결국 업무 효율은 떨어지게 될 테구요. 잘 할 수 있는 일에 집중하는 것이 좋겠습니다.
트럭 넘버라는 이야기를 어디서 들었는데요. 개발자가 트럭에 치어 일을 못하게 되는 일이 생기게 되면 프로젝트가 정상적으로 굴러갈 수 없는 일이 생기게 되는데요. 이런 사고로 개발자들의 일부가 동시에 업무를 보지 못하게 될 경우, 최대 몇 명 까지는 그래도 감내할 수 있는가 하는 질문에 대한 답이 트럭 넘버더군요.
한 사람의 달인에게 프로젝트의 성패를 의존하게 되면, 프로젝트 불확실성은 계속 증가하게 되는 것 같습니다. 가급적 모든 사람이 프로젝트에 대해 고르게 잘 알도록 배려하는 것이 중요하겠죠.
이병준님 안녕하세요.
트럭넘버이야기 재미있겠는데요. 블로그에 한번 올려주세요.
소프트웨어 개발에서 특정인의 의존도를 낮추고 프로세스와 시스템에 의해서 많은 부분을 커버하는 것은 매우 중요합니다. 이것이 소프트웨어 엔지니어링의 중요한 요소이죠.
그런 환경이어야 프로젝트의 리스크도 줄어들고 개발자에게도 전문적으로 성장할 수 있는 기회를 제공하게 됩니다.
좋은 글 감사합니다.
또 하나의 생각은, 슈퍼 개발자는 회사의 환경만이 그 요소일까.입니다.
즉, 회사에서 모든 것을 의존하는 것은 본디 그 개발자의
성향에 의해서도 좌우될 것 같습니다.
그러기에,
슈퍼 개발자가 될 성향을 가진 사람들에 대한 정상적 멘토링과
그들이 지속적으로 관심을 가질 요소들을 찾아서 균형적인
성장을 할 수 있도록 배려가 필요할텐데...
그런 방안중 하나로 Ray님의 블로그와 책을 추천하는 것도 좋겠군요
context switching. 팀장님께 말씀드려봐야겠습니다.
감사합니다.
오리주민님 안녕하세요.
모든 것이 복합적인 문제라서 하나의 원인만 고를 수는 없는 것 같습니다.
멘토링 참 중요한 이슈입니다. 아직 활성화가 많이 안되어 있고, 시행하더라도 여건과 준비가 부족하고 형식적인 경우도 많은 것 같습니다.
| 객체지향... 필요한가? (12) | 2008/11/26 |
|---|---|
| 개발자 폭행사건을 바라보는 심경 (8) | 2008/11/03 |
| 프로젝트 산출물을 프로젝트 종료 후에 만들고 있나요? (8) | 2008/11/03 |
| 소프트웨어 회사의 개발 역량 평가표 (4) | 2008/10/29 |
| 책소개 - 소프트웨어개발의모든것(All of Software Project) (14) | 2008/10/29 |
| 소프트웨어 개발 컨설팅 (2) | 2008/10/07 |
점심때 마소 기자분과 '컨설턴트'가 개발자들의 상상속에서가 아니라
실제로 어떤 일을 하는가에 대해 기사가 만들어지면 좋겠다는 이야기를 했는데...
음.. 그런 이야기들이 엮어지면 좋을 듯 합니다.
영회님 반갑습니다.
국내에 저와 같이 소프트웨어 공학을 통해서 소프트웨어 개발 컨설팅을 하는 사람들은 그렇게 많지 않습니다. 그리고 컨설팅을 하다보면 수많은 에피소드들이 있는데, 그러한 것들도 블로그를 통해서 소개를 하려고 합니다. 마소 기자분이 "컨설턴트"가 하는 일에 대해서 궁금하시고 기사가 될 수 있다면 제 블로그를 한번 소개해주시는 것도 좋겠네요. ![]()
감사합니다.
소프트웨어 업계에는 빨리 망해야 서로 도움이 되는 회사들이 매우 많지만 악착같이 버티면서 소프트웨어 생태계를 좀먹고 있습니다. 이렇게 좀비화 된 "좀비 회사"들은 또다른 "좀비 회사"를 만들어 내는 악순환의 고리를 만듭니다...
안녕하세요. 블로그 독자 여러분! 대한민국의 소프트웨어 토양에 좋은 밑거름이 되고자 하는 제 블로그에 많은 호응을 해주셔서 감사드리며 이에 보답코저 아래와 같이 이벤트를 실시합니다. 많은 참여 바랍니다. 제목 : 저자 사인..
소프트웨어 업계만큼이나 "세계 최초"라는 수식어를 자주 듣는 곳도 드물 것입니다. 이러한 수식어가 붙는 이유는 세간의 이목을 끌기 위함이 명백합니다. 하지만 세계 최초라고 하는 것들의 99%는 아래 범주에 속합니다. 나는 세..
소프트웨어 회사의 일들은 대부분 사람, 특히 개발자에 의존하는 일이 많습니다. 따라서 인건비는 가장 큰 비중을 차지하는 고정비입니다. 그런데 일단 뽑아 놓은 직원들의 야근은 공짜로 생각하는 경우가 많습니다. 게다가 몇몇 기업..
최근 삼성과 소프트웨어에 대한 글들을 몇 건 올리면서 정말로 다양한 의견을 접하게 되었습니다. 댓글뿐만 아니라 메일을 통해서도 의견을 들을 수 있었습니다. 2010/01/05 - [소프트웨어이야기] - 삼성은 왜 소프트웨어를..
최근에 블로그에 올린 글들의 댓글을 보면 소프트웨어를 잘 개발하는 것이 어떤 것인지 바라보는 시각이 무척 다릅니다. 필자는 주장하는 바가 있어서 소프트웨어 개발에 대한 생각을 꾸준히 공유하고자 합니다. 제 블로그의 미션은 어..
아이폰을 사용하기 시작한지 오늘로 꼭 2달이 되었습니다. 2달동안 아이폰을 사용하는 재미, 아이폰 앱 개발 관련 공부하는 재미에 빠져있었습니다. 그런데, 아이폰 다국어 설정에서 이상한 것을 발견했습니다. 언어어 설정에 떡하니..
요즘 스마트폰이 IT 이슈의 정점에 있어서 스마트폰 관련 글을 계속 올리게 됩니다. 개발자의 한사람으로서 스마트폰의 급속한 확대는 좋은 징조임이 분명합니다. 하지만 종종 스마트폰 어플리케이션을 만들어서 앱스토어에 올리면 쉽게..
저는 이미 삼성의 소프트웨어에 대한 글을 몇개 올린 적이 있습니다. 2010/01/05 - [소프트웨어이야기] - 삼성은 왜 소프트웨어를 잘 만들지 못할까? 2010/01/23 - [소프트웨어이야기] - 삼성이 바다를 출시해..
일전에 삼성이 왜 소프트웨어를 잘 개발하지 못하는지에 대한 글을 쓴적이 있습니다. 2010/01/05 - [소프트웨어이야기] - 삼성은 왜 소프트웨어를 잘 만들지 못할까? 개인적인 생각이지만 바다의 정식 출시가 임박할수록 점..
저도 소프트웨어 공학(테스트 부터) 이론은 업무를 진행한 후에 알았습니다. 제가 이렇게 해 보면 어떨까?해서 적용했던 방법(프로세스, TC 작성 방법, 인프라 구축)이 나중에 "아~ 이게 이거구나?"하는 것을 많이 느꼈습니다. 그 때는 좀 체계적으로 공부하고 싶다는 생각도 들곤 했습니다. 그러나 SE는 실무에서 나온 아이디어와 경험많이 당장의 개선에 도움이 된다는 확신이 섰습니다. 물론 선행 SE를 위한 노력도 해야겠지만 저하고는 잘 맞지 않은 것 같습니다. ^,.^;
정의의소님. 사실 미국에서도 개발자들이 이건 "소프트웨어 공학"에 입각하여 이렇게 하는 것이다 라고 생각하고 일하지 않죠. 그냥 다들 그렇게 하고 그렇게 하는 것이 당연하니까 하는 것들일 뿐인 경우가 대부분이죠. 어떻게 보면 그것이 당연한 것입니다.
우리나라는 아직 너무 주먹구구식으로 개발하는 곳이 많아서 현실에서 배우기 어려우니 좀 체계적으로 따로 공부하고 경험자에게 배우고 토론하면 소프트웨어 공학을 별도록 익힐 필요가 있습니다.
Software Engineer와 Engineering을 굳이 구분할 필요가 있을까요?
뛰어난 Engineer가 뛰어난 Engineering을 한다는건 당연하겠지만
현업에서는 둘을 다르게 보고 있는게 아쉽네요. 왜일까요?
YUZI님 안녕하세요.
현업에서는 아직 Software Engineering에 대한 인식은 별로 없는 것 같습니다.
궁금한 점이 있습니다. 소프트웨어 공학의 원리와 바뀌지 않는 근본은 무엇인가요?
[1002]님 안녕하세요.
참 멋진 질문입니다. ^^
세상의 어떤일이 근본과 원리를 한 문장에 설명할 수 있을까요? 예를 들어 성철 스님이 "산은 산이요, 물은 물이요"라고 세상의 원리를 한문장에 압축해서 말을 하지만, 이를 이해하는 사람은 거의 없죠. 이를 이해하는 사람은 이미 세상의 원리를 깨달은 사람이겠죠. 소프트웨어 공학의 목적은 소프트웨어를 "최소의 비용으로 최단 시간에 개발하는 것"입니다. 이것을 하나의 방법 또는 방법론으로 제시할 수 없는 이유이기도 합니다. 그리고 많은 실무 경험과 지식에 의한 깨달음이 있어야 그 근본은 알 수 있을 것입니다. 또, 자신은 어느정도 터득했다고 생각했어도 아닌 경우도 많습니다.
제가 저술한 "소프트웨어 개발의 모든 것"이라는 책도 이런 저런 다양한 방법을 기술하기보다는 소프트웨어 공학의 근본 즉, 소프트웨어를 잘 개발하는 기본 원리에 포커스해서 기술한 책입니다. 소프트웨어 공학의 근본에 대해서 어느 정도 깨닫고 있다면 이책을 보고 거의 모든 내용을 공감하거나 오히려 자신의 의견도 피력할 수 있을 것입니다. 그리고 나면 저와 더 심도 있는 얘기를 할 수 있을 것 같습니다.