글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
베타 제품과 최종 제품은 다르다.
이 글은, 제가 다음의 글을 읽고 나름대로 생각나서 써보는 것입니다.
왜 자신이 사용하는 개발환경을 싫어하는가?
; http://www.simpleisbest.net/archive/2006/12/15/1442.aspx
이와 비슷한 상황을 저는 마이크로소프트의 "모범이 되고 있는 제품 개발 주기"에 대한 사람들의 반응에서 보곤 합니다.
다들 잘 아시겠지만, 마이크로소프트는 제품 개발에 있어 CTP(Community Technology Preview), 베타, RC 제품에 대한 공개를 해주고 있습니다. (저는, 국내 소프트웨어 개발 업체에서 이런 개발 주기를 도입하고 있는 곳이 얼마나 있는지 알고 싶습니다.) 사실, 예전만 해도 "비밀"로 하던 제품 개발을 이제는 제품의 기능이 제대로 구현되지도 않은 CTP 단계에서부터 공개를 하는 것이 하나의 "문화"로 정착될 정도인데요.
그런데,,, 어찌 된 일인지, CTP 버전을 받아보는 사용자들은 그것이 마치 최종 제품인 것 처럼 평가를 하는 것을 보게 됩니다. "평가"라고 할 정도가 아닌 "비난"의 글들을 쓰는 것을 보는 것도 심심치 않게 목격이 되고, 게다가 평가의 수준을 넘어서 아예 그것이 최종 제품인 것처럼 단정 지어 버리는 것을 볼 수 있습니다.
제품에 대한 "비난"은 최종 제품에 대해서 - 돈을 주고 샀을 때 가능한 것 아니겠습니까? 그 이전의 RC 버전까지는 "피드백"을 해야 하는 것이 옳은 것 아닐까요? 기능 구현도 제대로 안되었지만, 개발하는 중간에도 사용자들의 "피드백"을 받기 위해 CTP 마일스톤을 찍는 저 "마이크로소프트 개발팀"은 어찌 보면 국내 SI 업체들에게는 훌륭한 "본"이 아닌가요?
그러한 제품 개발주기를 해본적이 없으니, 알리가 없겠지만... 어쨌든 중간의 CTP/베타/RC 버전들을 한번 슬쩍 구경하고 (물론, 그들로부터 마이크로소프트 측으로 전해지는 피드백은 전혀 없다. 이런 단정은 매우 위험하지만, 적어도 내가 아는 사람들은 모두 그랬다.) 대단한 평론가가 된 것인양 떠들어대는 뻐꾸기들을 보면... 그냥 한숨만 나옵니다. 베타의 의미를 모른다면, 정식 제품 나온 다음에나 받아서 평가를 하든지.
물론... 그런 사람들일 수록 나의 이런 주장들은 귓전에 미치지도 않겠지요? 왜냐하면, 대개는 그렇게 CTP/베타 버전들을 다운로드 받아서 사용한 다음 평가를 쓰는 이들은, 소위 전문가라고 불리는 사람들이 많기 때문입니다. (여기서 한가지 푸념을 늘어놓고 싶어지는 군요. 요즘 들어서는 부쩍,,, 그러한 사람들과 의견을 나누는 것이 참 힘들다는 생각을 하게 됩니다. 이미 단단한 벽을 만들고 있는 그들에게 무슨 말이 통하겠습니까? ... 음... 이런 의미에서 제가 "WaterStone" 님을 좋아하는 지도 모르겠습니다. ^^)
[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]
... 106 107 108 109 110 111 112 113 [114] 115 116 117 118 119 120 ...
Title |
11166 | 정성태 | 3/28/2017 | 23109 | 오류 유형: 382. System.Data.SqlClient.SqlException - Arithmetic overflow error converting IDENTITY to data type int. | |
11165 | 정성태 | 3/27/2017 | 25799 | 오류 유형: 381. Visual C++에서 min, max 함수를 사용한 경우 C2589, C2059 컴파일 오류 발생 | |
11164 | 정성태 | 3/27/2017 | 34553 | VC++: 111. C++ 클래스의 상속에 따른 메모리 구조 [2] | 1 |
11163 | 정성태 | 3/25/2017 | 24072 | VC++: 110. CreateThread Win32 API에 C++ 클래스의 멤버 함수를 전달하는 방법 | 1 |
11162 | 정성태 | 3/24/2017 | 28862 | 오류 유형: 380. Visual Studio 빌드 실패 - The OutputPath property is not set for project | |
11161 | 정성태 | 3/24/2017 | 19055 | 오류 유형: 379. ICOMAdminCatalog.GetCollection 호출 시 0x80070422 예외 발생 | |
11160 | 정성태 | 3/23/2017 | 26115 | .NET Framework: 649. ASP.NET - Server cannot append header after HTTP headers have been sent. (HTTP 헤더를 보낸 후에는 서버에서 헤더를 추가할 수 없습니다.) | 1 |
11159 | 정성태 | 3/23/2017 | 23334 | Windows: 136. Memory-mapped File은 Private Bytes 크기에 포함될까요? | 1 |
11158 | 정성태 | 3/22/2017 | 21424 | 디버깅 기술: 85. Windbg - SOS 디버깅 사례 System.NullReferenceException 예외 추적 | |
11157 | 정성태 | 3/22/2017 | 24558 | .NET Framework: 648. Dictionary<TKey, TValue>를 deep copy하는 방법 | 1 |
11156 | 정성태 | 3/21/2017 | 26766 | .NET Framework: 647. 닷넷(C#) 코드로 인증서 요청 코드 만드는 방법 | 1 |
11155 | 정성태 | 3/21/2017 | 27184 | .NET Framework: 646. SslStream의 CipherAlgorithm 선택이 가능할까요? | 1 |
11154 | 정성태 | 3/5/2017 | 32417 | VC++: 109. DLL에서 STL 객체를 인자/반환값으로 갖는 함수를 제공할 때, 그 함수를 외부에서 사용하는 경우 비정상 종료한다면? [2] | 1 |
11153 | 정성태 | 3/5/2017 | 32724 | VC++: 108. DLL에 정의된 C++ template 클래스의 복사 생성자 문제 | 1 |
11152 | 정성태 | 3/4/2017 | 28088 | VC++: 107. VirtualAlloc, HeapAlloc, GlobalAlloc, LocalAlloc, malloc, new의 차이점 [1] | 1 |
11151 | 정성태 | 3/3/2017 | 27247 | VC++: 106. DLL 개발자가 주의해야 할 Secure CRT 함수 사용 [1] | 1 |
11150 | 정성태 | 2/21/2017 | 22976 | .NET Framework: 645. Visual Studio Fakes 기능에서 Shim... 클래스가 생성되지 않는 경우 [5] | |
11149 | 정성태 | 2/21/2017 | 26903 | 오류 유형: 378. A 64-bit test cannot run in a 32-bit process. Specify platform as X64 to force test run in X64 mode on X64 machine. | |
11148 | 정성태 | 2/20/2017 | 26172 | .NET Framework: 644. AppDomain에 대한 단위 테스트 시 알아야 할 사항 | |
11147 | 정성태 | 2/19/2017 | 23540 | 오류 유형: 377. Windows 10에서 Fake 어셈블리를 생성하는 경우 빌드 시 The type or namespace name '...' does not exist in the namespace 컴파일 오류 발생 | |
11146 | 정성태 | 2/19/2017 | 24046 | 오류 유형: 376. Error VSP1033: The file '...' does not contain a recognized executable image. [2] | |
11145 | 정성태 | 2/16/2017 | 25643 | .NET Framework: 643. 작업자 프로세스(w3wp.exe)가 재시작되는 시점을 알 수 있는 방법 - 두 번째 이야기 [4] | 1 |
11144 | 정성태 | 2/6/2017 | 28789 | .NET Framework: 642. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (부록 1) - CallingConvention.StdCall, CallingConvention.Cdecl에 상관없이 왜 호출이 잘 될까요? | 1 |
11143 | 정성태 | 2/5/2017 | 26962 | .NET Framework: 641. [Out] 형식의 int * 인자를 가진 함수에 대한 P/Invoke 호출 방법 | 1 |
11142 | 정성태 | 2/5/2017 | 34078 | .NET Framework: 640. 닷넷 - 배열 크기의 한계 [2] | 1 |
11141 | 정성태 | 1/31/2017 | 28965 | .NET Framework: 639. C# 개발자를 위한 Win32 DLL export 함수의 호출 규약 (4) - CLR JIT 컴파일러의 P/Invoke 호출 규약 [1] | 1 |
... 106 107 108 109 110 111 112 113 [114] 115 116 117 118 119 120 ...