2014년 1월 17일 금요일

Engineering 이란 무엇인가?

보통은 책읽 읽다가 참고서적을 통해서 다른 책을 읽는 경우가 있습니다.
이것도 약간 그런 내용입니다.












위 내용을 읽다보니 Return On Software 다음 책을 알게 되었습니다.





이책에서 회사의 성공(Success) 를 아래와 같이 규정합니다. 
  • 레벨#1회사: 
    • 프로젝트 끝났다. 
  • 레벨#2회사: 
    • 프로젝트 끝났다
    • 다양한 코드도 많이 만들었다.
  • 레벨#3회사: 
    • 프로젝트도 끝났다. 
    • 다양한 코드도 많이 만들었다.
    • 코드도 잘 동작하는 수준이다.
  • 레벨#4회사: 
    • 프로젝트도끝났다., 
    • 코드도 잘 동작한다.
    • 코드가 프로젝트에 재활용(reuse) 가능한 수준이야.
  • 레벨#5회사: 
    • 프로젝트가 끝났다.
    • 비슷한 비지니스를 하기위해 한 환경을 구축했다. (다음에 비용을 절감가능)
    • 다음 프로젝트에서 유연하게 변화하기위해 수동과, 자동화 모두 지원
    • 이런종류의 비지니스를 다른 어떤회사보다도 저렴하게 구현할수 있다.
    • 이러한 비용 절감으로 인해 다른회사는 가격으로는 경쟁이 안된다.
우리회사는 지금까지 #4 였던것 같습니다. ARM 과 같은 회사는 레벨 #5 인것 같습니다.



Code Complete 를 읽으면 아래와 같은 구문이 나옵니다. 
  • 초보 개발자는는 coding 을 고민한다. 
  • 조금 경험이 있는 개발자는 architecture 를 고민한다.
  • 그 다음 단계는 engineering 을 고민한다.
2000 초에 에 위 책을 읽고 저는  '엔지니어링이란 무엇인가?" 라는 질문에  고민했었습니다. 도대체 뭐지...? 남들한테 설명할수도 없었습니다.
Return On software 는 그 답이 아래와 같다고 말합니다. 
Engineering 이란 Science 와 Economy 를 모두 고려하는것이다.(long term 까지 고려하여) 

ps. 최근 Startup 들이 활성화 되면서 느끼는것은 long term 안목으로 바라보는것은  많이 퇴색된것 같습니다.
     빨리 출시하고, 시작의 feedback 을 받는편이 좋다고 느껴집니다.
     과연 SoC 에서서도 그럴까요? 저는 SoC 도 이런 흐름을 막지는 못할것 같습니다.
     가까운 미래에 파괴적인 기술이 나와서 SoC 를 변화시킬것 같습니다. 






댓글 없음:

댓글 쓰기