GUI (그래픽)와 API (스크립팅) 인터페이스가 모두있는 응용 프로그램에서 작업합니다. 우리의 제품에는 매우 큰 설치 기반이 있습니다. 많은 고객이 우리 제품을 사용하는 스크립트 작성에 많은 시간과 노력을 투자했습니다.역 호환성과 혁신의 상충되는 요구 사항 간의 균형을 어떻게 맞추고 있습니까?
모든 설계 및 구현 과정에서 우리는 100 % 하위 호환성을 유지하는 데 매우 엄격한 요구 사항을 가지고 있습니다 (). 이전에 실행 된 스크립트는 새로운 소프트웨어 버전을 도입 할 때 수정없이 정확히 동일한 방식으로 계속 실행되어야합니다.
불행히도,이 요구 사항은 실제로 우리의 능력을 실질적으로 제한하므로 을으로 혁신하고보다 새롭고 좋은 방법을 제시합니다.
예를 들어, 우리는 이미 가능한 작업을 성취 할 수있는보다 나은 (그리고보다 유용하게) 방법을 생각해 낼 수 있습니다. 이 방법을 기본 방법으로 만드는 것이 바람직하지만 이전 버전과의 호환성에 영향을 줄 수 있으므로이를 수행 할 수 없습니다. 그래서 우리는 새로운 (더 나은) 방법을 모드로 남겨두고 사용자가 사용할 수있게되기 전에 "켜야"합니다. 문서 또는 온라인 도움말 (많은 고객이하지 않는)을 읽지 않는 한이 새로운 기능은 영원히 숨겨져 있습니다.
Windows Vista는 XP에서 작업 할 때조차도 작동하지 않는 모든 소프트웨어 및 주변 장치로 인해 처음 출시되었을 때 많은 사람들을 화나게했습니다. 이 때문에 꽤 나쁜 반응을 받았습니다. 그러나 Microsoft는 많은 사용자를위한 이전 버전과의 호환성을 희생하면서 Vista에서 큰 혁신을 이루는데 성공했음을 알 수 있습니다. 그들은 위험을 감수했다. 갚았 니? 그들은 올바른 결정을 내렸습니까? 시간 만 말해 줄 것 같습니다.
혁신과 하위 호환성의 상충되는 요구 사항을 균형있게 조정하고 있습니까? 저글링 행위는 어떻게 다루나요?
2 개의 코드 스트림을 유지해야합니다. 모든 고객이 스크립트를 위반할 경우 새 시스템으로 마이그레이션하지 않기 때문입니다. 미래로 나아가는 가장 효율적인 방법처럼 들리지는 않습니다. – LeopardSkinPillBoxHat
나는 동의한다 - 2 개의 다른 코딩 스레드를 유지하는 것은 어렵고 오류가 발생하기 쉽고, 가능하다면 이것을 피할 것이다. – Fry
이것은 일반적인 관행이다. – aponomarenko