본문으로 건너뛰기
BigTree108

레거시 소프트웨어 현대화 서비스

여전히 사업을 움직이지만 속도를 늦추는 시스템을 위한 레거시 소프트웨어 현대화입니다. 다른 팀이 작성한 코드의 인수, 최신 릴리스로의 업그레이드, 오래된 모듈의 단계적 교체를 일괄 재작성 없이 진행합니다. 지금까지 다른 팀에서 9개 시스템이 당사로 넘어왔으며 가장 오래된 시스템은 2008년에 작성되었습니다.

레거시 시스템 현대화 방식

  • 읽기 전용 검토부터

    누구도 한 줄도 바꾸기 전에 코드, 의존성, 배포, 데이터를 처음부터 끝까지 읽고, 운영 영향도 순으로 서면 위험 목록을 작성합니다.

  • 기존 시스템을 둘러싼 테스트

    시스템이 현재 하는 일을 특이한 동작까지 포함해 고정하는 특성 테스트(characterisation test)를 만들어, 이후의 모든 변경을 기억이 아니라 실제 동작과 대조해 확인합니다.

  • 프레임워크와 런타임 업그레이드

    .NET Framework에서 최신 .NET으로, Java 8에서 최신 LTS로, PHP 5에서 PHP 8로, Python 2에서 Python 3으로, AngularJS에서 Angular로 한 번에 한 단계씩 옮기며 각 단계를 따로 릴리스합니다.

  • 스트랭글러 피그(strangler-fig) 방식 교체

    라우팅 계층 뒤에서 기존 시스템 옆에 새 모듈을 구축하고, 기존 코드를 끌 수 있을 때까지 한 번에 기능 하나씩 맡겨 가므로, 모든 것이 한꺼번에 바뀌는 날이 없습니다.

  • 데이터베이스 현대화

    비즈니스 로직을 저장 프로시저에서 테스트된 코드로 옮기고, 스키마 변경은 버전이 있는 마이그레이션으로 바꾸며, 지원이 끝난 데이터베이스 버전의 데이터는 대사 보고서와 함께 옮깁니다.

  • 보안 부채 상환

    지원이 끝난 의존성을 교체하고, 알려진 취약점을 수정하고, 비밀 값을 설정 파일에서 볼트로 옮기고, 부채가 되돌아오지 않도록 파이프라인에 의존성 스캔을 둡니다.

레거시 시스템 엔지니어 채용

  • 전담 레거시 시스템 엔지니어

    귀사 팀에 풀타임으로 합류해 귀사의 도구와 프로세스로 일하고 귀사의 리드에게 보고하는 레거시 시스템 엔지니어 인력입니다. 면접은 귀사가 진행하고, 우크라이나 현지 계약, 급여, 청구, 휴가는 당사가 맡습니다.

  • 현대화 프로젝트

    범위와 확정된 계획이 있는 현대화 업무입니다. 당사의 지정 리드가 결과에 책임을 지고 귀사의 채널에서 진행 상황을 보고합니다.

  • 지속적인 현대화

    지속적으로 제공하는 현대화 서비스입니다. 매달 같은 인력이 투입되고, 우선순위를 정하는 백로그를 운영하며, 투입 시간은 당사 포털과 인보이스에서 확인하실 수 있습니다.

전담 개발팀 페이지는 전문가가 귀사 팀에 합류하는 방식을 설명하고, 외주 개발 페이지는 프로젝트 납품, 인수, 비용 청구 방식을 다룹니다.

현대화 업무를 맡는 사람들

  • 기술 리드

    검토, 위험 목록, 작업 순서 담당

  • .NET, Java, PHP 엔지니어

    시스템의 고유 언어로 수행하는 업그레이드와 리팩터링

  • 클라우드 및 DevOps 엔지니어

    파이프라인, 코드형 인프라, 오래된 서버에서의 이전

  • QA 엔지니어

    특성 테스트와 회귀 테스트

한 번의 재작성이 아니라 단계별 현대화

전면 재작성은 납품을 몇 달 멈추고 아무도 문서화하지 않은 동작을 대개 잃어버립니다. 그래서 단계적으로 현대화합니다. 각 단계는 릴리스할 수 있을 만큼 작고, 시스템의 이전 동작과 대조해 테스트하며, 제거하는 위험이나 비용을 기준으로 정하므로, 시스템이 바뀌는 동안에도 사업은 그 시스템 위에서 계속 돌아갑니다.

인수는 어떤 수정보다 먼저 읽기 전용 검토와 서면 위험 목록에서 시작합니다. 그 목록이 어떤 모듈은 다시 쓰는 편이 낫다고 보여 줄 때가 있으며, 그럴 때는 근거를 서면으로 설명하고 같은 테스트 뒤에서 재작성을 계획합니다.

그 밖에 당사가 제공하는 솔루션

솔루션 개요

레거시 현대화 관련 자주 묻는 질문

재작성해야 합니까, 현대화해야 합니까?

대개 현대화입니다. 재작성은 동작이 잘 파악되어 있고 코드가 모든 변경을 가로막는 모듈에 적합하며, 나머지는 점진적 업그레이드와 스트랭글러 피그 방식 교체가 더 빨리 가치를 내고 기존 코드에 쌓인 지식을 보존합니다. 검토 결과로 모듈별 결정을 서면으로 드립니다.

저희의 원래 개발자들은 떠났습니다. 그래도 시스템을 인수할 수 있습니까?

예. 코드, 데이터베이스, 배포, 아직 시스템을 사용하는 사람들을 바탕으로 작업하며, 서면 위험 목록은 귀사가 무엇을 바꿀지 결정하기 전에 당사가 발견한 것을 알려 줍니다.

현대화하는 동안 기존 시스템은 계속 운영됩니까?

예. 운영 중인 시스템에 대한 수정과 보안 패치는 계속 이어지며, 각 현대화 단계를 따로 릴리스하므로 사업이 새 버전을 기다리는 기간이 없습니다.

레거시 시스템 엔지니어 투입까지 얼마나 걸립니까?

적합한 현대화 엔지니어 인력이 있으면 귀사의 면접, NDA, 지식재산권 양도 절차만 거치면 바로 시작할 수 있습니다. 그렇지 않으면 인재를 탐색하며, 보통 2~3주 안에 후보자 프로필을 전달합니다. 귀사가 승인하기 전에는 누구도 업무를 시작하지 않습니다.

레거시 시스템 엔지니어 채용은 BigTree108을 통해 어떻게 진행합니까?

필요한 업무, 경력 수준, 근무 시간을 알려 주십시오. 당사가 한두 명의 프로필을 제안하면, 귀사는 직접 채용하는 인력과 같은 방식으로 면접을 진행하고, BIG TREE 108 LLC와 하나의 계약을 체결하여 월 1회 하나의 인보이스를 받습니다.

전문가가 만든 결과물의 소유권은 누구에게 있습니까?

귀사에 있습니다. 모든 전문가는 당사와 서명한 계약으로 모든 작업 결과물을 회사에 귀속시키고, 귀사와의 계약으로 이것이 다시 귀사에 귀속됩니다. 코드, 디자인, 문서는 당사만 수정할 수 있는 곳이 아니라 귀사의 저장소와 도구에 직접 전달합니다.

아무도 건드리고 싶어 하지 않는 시스템을 운영하고 계십니까?

저장소 또는 시스템에 대한 설명을 보내 주십시오. 1영업일 이내에 검토 계획과 그 이후의 첫 단계로 답변드립니다.