산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 자동화 제어 시스템

소프트웨어 개발 자동화 및 혁신 가속화

기존의 소프트웨어 개발은 ​​느립니다. 다시 생각해보기 위함입니다.

약 3년 전 Microsoft의 Satya Nadella는 "모든 비즈니스는 소프트웨어 비즈니스가 될 것"이라는 유명한 말을 남겼습니다. 오늘날 5,000억 달러 규모의 글로벌 소프트웨어 시장은 2030년까지 두 배인 1조 달러로 성장할 것으로 예상됩니다.

JP Morgan은 가장 최근에 40,000명의 소프트웨어 엔지니어(Alphabet보다 많음)를 보유하고 있는 것으로 기록되어 있습니다. 모든 주요 기업은 경쟁에서 앞서기 위해 엔지니어를 고용하기 위해 경쟁하고 있습니다. 가장 큰 문제는 기존 소프트웨어 개발이 느리고 파편화되며 낭비적이라는 것입니다.

예를 들어, 평균적인 소프트웨어 엔지니어는 매주 테스트가 완료되기를 기다리는 데 4시간, 빌드를 기다리는 데 3.5시간, 환경 관리에 3시간을 소비합니다. 엔지니어가 종종 조직에서 가장 높은 급여를 받는 사람들이라는 것을 고려할 때 분명히 큰 문제입니다. 그러나 상황이 바뀌고 있습니다.

선도적인 개발 플랫폼 중 하나인 CircleCI는 AI와 자동화가 소프트웨어 혁신을 가속화하고 엔지니어가 중요한 작업을 수행할 수 있도록 하는 열쇠가 될 것이라고 확신했습니다. 작년에 이 회사는 엔지니어가 대기하는 시간을 50%까지 줄이는 여러 자동화 및 기계 학습 개선 사항을 도입했습니다. 이는 Facebook, Spotify, GoPro, InstaCart 및 기타 많은 개발자를 포함하여 300,000명 이상의 개발자가 더 빠르게 움직이기 위해 CircleCI로 전환한 많은 이유 중 하나입니다.

회사를 이끌고 있는 Jim Rose는 과거에 Google Ventures, Foundation Capital 및 Marc Andreessen의 투자를 받은 6번의 창립자입니다. 4년 전 CircleCI에 합류한 후 Rose는 수익을 450% 이상 증가시켰고 회사를 정말 흥미로운 기업으로 성장시켰습니다.

소프트웨어 개발 자동화 및 혁신 가속화에 대한 자세한 내용에 관심이 있는 Information Age는 Rose에게 이 주제에 대해 이야기했습니다.

소프트웨어 시장의 현재 상태는 무엇입니까?

현재 수동으로 다른 프로세스를 수행하는 회사와 개인이 여전히 많이 있습니다. 디지털 트랜스포메이션의 과정을 생각하면 소프트웨어 개발팀을 육성하는 것입니다.

하나는 사내 데이터 센터에서 소프트웨어를 가져와서 즉시 컴퓨팅에 액세스할 수 있는 클라우드 네이티브 환경으로 가져오는 것입니다.

두 번째는 전통적으로 또는 많은 경우에 소프트웨어가 기본 비즈니스의 지침이나 부속물로 여겨져 왔다는 것입니다. 이제 은행에서 자동차 제조업체, 소매업체에 이르기까지 모든 종류의 비즈니스에서 소프트웨어가 자신이 하는 일의 핵심이라는 사실을 깨닫고 있습니다. 따라서 그들은 자신이 무엇을 소유하고 있는지 파악하고 자산을 통합하고 표준으로 통합해야 합니다.

기업이 컴퓨팅에 즉시 액세스할 수 있고 개발자가 작업할 수 있는 구조를 갖추게 되면 오늘날 그 사이에 끼어 있는 것은 일반적으로 서로 다른 플랫폼과 프로세스의 일종의 혼란입니다.

대부분의 경우 수동 단계가 많고 수동 스크립트가 많은 매우 긴 워터폴 소프트웨어 릴리스 프로세스가 있습니다. 일부 고급 매장의 경우 1세대 자동화 솔루션을 보유하고 있을 수 있지만 팀이 속도를 내면서 이러한 솔루션이 무너지기 시작합니다.

이제 이것이 바로 우리가 시작하고 기업이 탐색할 수 있도록 지원하는 것입니다. 소프트웨어 팀의 속도가 빨라짐에 따라 더 많은 소프트웨어를 구축하고 더 빠르게 수행하려고 합니다. 시장의 기회에 대응할 뿐만 아니라 잠재적인 부정적인 변화에도 대응할 수 있습니다. 기업은 이러한 모든 요소가 어떻게 결합되는지 완전히 재고하기만 하면 됩니다.

이 속도가 소프트웨어 개발의 주요 장애물을 말하는 것입니까?

기업과 개발팀은 시장이 가속화됨에 따라 속도를 높이려고 노력하고 있습니다. 그들은 기회를 포착할 수 있도록 어떻게 신속하게 작업할 수 있는지 알아내려고 노력하고 있습니다.

거기에 도달하는 유일한 방법은 사람의 개입이 반드시 필요하지 않은 모든 단계를 실제로 자동화하는 것입니다. 몇 분, 몇 시간, 며칠에 걸쳐 수행하는 대신 몇 초 만에 완료할 수 있기 때문입니다.

팀의 속도가 빨라지고 소프트웨어가 고객의 주요 매장이므로 품질 수준이 높은지 확인해야 합니다. 예를 들어 충돌이 발생하지 않거나 보안 취약점이 없는지 확인해야 합니다.

따라서 애자일에 대해 생각할 때 품질 측면과 속도 측면 모두에서 더 민첩해지기 위해 노력하는 것입니다.

미국에서는 속도가 중요하지만 더 빠르게 진행하고 더 작은 청크를 통합하고 보다 일관된 기반으로 소프트웨어를 출시할 수 있게 되면 소프트웨어가 본질적으로 더 좋아집니다. 배포에 대한 두려움은 일주일에 5, 8, 15번 수행하면 사라집니다. 어떤 경우에는 하루에 100번 수행하는 고객도 있습니다.

배포는 문제가 되지 않습니다.

품질 측면에서 과거 소프트웨어 개발의 큰 문제 중 하나는 분기에 한 번만 릴리스하면 응용 프로그램에 도입한 모든 변경 사항이 실제로 함께 작동하는지 확인하기가 정말 어렵다는 것입니다. 종종 회사가 빅뱅 릴리스를 수행한 다음 빅뱅 릴리스를 수행한 후 퇴보하고 고장난 모든 것을 수정하기 위해 다음 60, 90일을 보냅니다. 이 방법에서는 소프트웨어 주기가 느려지지만 응용 프로그램 자체의 품질도 저하됩니다.

민첩한 관점에서 사람들이 해결하려고 하는 것입니다.

조직은 소프트웨어 개발 팀을 수용, 지원 및 육성하기 위해 어떻게 변화할 수 있습니까?

몇 가지 다른 방법이 있습니다.

하나는 개발자를 고용하기 어렵기 때문에 개발 관점에서 보내는 모든 시간이 무슨 일이 일어나든 특별한 소프트웨어를 구축하는 데 전념하고 싶어한다는 것입니다. 은행이라면 훌륭한 뱅킹 애플리케이션을 구축하고, 전자상거래 앱이라면 정말 훌륭한 전자상거래 앱을 구축해야 합니다. 사람들이 과소 투자한 큰 영역 중 하나는 소프트웨어 개발자가 역사적으로 무언가를 구축했다는 것입니다. 그들이 하는 일은 소프트웨어를 구축하는 것입니다. 따라서 개발 주기는 타사 앱 관점에서 과소 투자되었습니다.

예를 들어 팀이 자체적으로 구축할 필요가 없는 테스트 자동화 및 지속적 전달 인프라와 같은 것들이 있습니다. 당신은 당신이 잘하는 것에 집중할 수 있도록 그 분야의 전문적인 다른 사람에게서 그것을 얻는 것이 훨씬 낫습니다. 그것은 누군가에게 커피 메이커를 만들어야 한다고 말하고 구리 파이프, 땜납 및 밸브를 제공하는 것과 같습니다. 당신은 절대 그렇게하지 않을 것입니다. 그러나 역사적으로 개발은 그렇게 취급되었습니다. 따라서 데이터 센터에서 계획 도구에 이르기까지 스택의 모든 부분에서 올바른 도구와 플랫폼을 확실히 배치하는 것이 매우 중요합니다.

두 번째 부분은 전통적인 폭포수 모델에서 소프트웨어 개발이 일반적으로 캐처의 역할을 하므로 프로세스에서 훨씬 더 일찍 애플리케이션이 정의되고 개발 팀이 이를 얻을 때까지 많은 결정이 내려졌다는 것입니다. 실제로 작동할 수도 있고 작동하지 않을 수도 있고 실행 가능하거나 수행하기 쉽지 않을 수도 있습니다.

왼쪽으로 시프트라는 개념이 있습니다. 이는 개발을 계획 주기의 더 높은 단계로 밀어붙이려고 하여 개발 팀의 우려 사항이나 요구 사항이 애플리케이션 구축과 제공 모두에서 고려되도록 하려는 것입니다. 그런 다음 운영 관점에서 생각할 때 애플리케이션이 수명 주기에서 훨씬 더 일찍 어떻게 운영되는지에 대해 생각해야 한다는 것을 의미합니다. 예를 들어, 클라우드 네이티브 앱을 구축하려는 경우 매우 특정한 방식으로 앱을 설계해야 합니다. 즉, 훨씬 더 일찍 결정을 내리고 해당 프로세스에 참여해야 합니다.

팀이 더 많은 소프트웨어 우선, 민첩한 프로세스를 채택할 때 문제의 삼각측량으로 끝납니다. 당신은 당신이 무언가를 만들고 있는 이유를 소유한 사람들과 비즈니스 소유자, 제품 관리자가 있습니다. 당신은 기술 아키텍트와 소프트웨어 개발자가 당신이 그것을 구축하는 방법에 대해 정말로 이야기하고 있습니다. 그런 다음 실제로 실행하는 책임이 있는 운영자가 있으며 전체 프로세스가 끝날 때 실제로 무엇을 실행하는지 파악합니다. 그래서 모두가 참여해야 합니다. 이는 일부 기업의 경우 어려운 전환이 될 수 있습니다.

AI와 자동화가 소프트웨어 혁신을 어떻게 촉진하고 개선할 수 있습니까?

자동화를 통해 미리 결정된 작업과 자가 학습을 모두 자동화할 수 있습니다. 예를 들어 소프트웨어를 출시하려고 할 때마다 다른 타사 결제 시스템에 대해 타사 테스트를 수행해야 하는 경우가 있습니다. 과거에는 이러한 작업을 사용하여 본질적으로 트랜잭션을 시도하고 처리하고 모든 작업을 수동으로 수행하는 QA 팀을 고용해야 했습니다. 이는 엄청나게 느립니다. 또한 오류와 복잡성으로 가득 차 있습니다.

이것들은 테스트 스위트에서 완전히 자동화되어야 하는 작업의 완벽한 예입니다. 이러한 모든 작업은 반복적으로 수행할 것임을 알고 있으며 이러한 작업을 자동화하여 결정적이고 예측 가능하게 만들어야 합니다. 그리고 궁극적으로 신속합니다.

개발자가 계속해서 이러한 작업을 수행하는 데 1분도 걸리지 않는 반복적인 작업을 수행할 기회가 있습니다. 시간 낭비이며 솔직히 말하면 돈 낭비입니다.

따라서 AI와 구축 중인 소프트웨어를 볼 때 예측 가능한 결정론적 소프트웨어를 추진하는 대신 모델을 추진하는 것입니다. 그리고 이 모델은 어떤 것이 어떻게 작동하는지, 사람들이 그것을 겪으면서, 그리고 테스트가 실행됨에 따라 일이 어떻게 작동하는지에 대해 더 많이 배우면서 모델이 변화하고 진화하는 샌드박스입니다. 일하고 있는. 이는 테스트 시스템에 엄청난 압력을 가합니다.

AI에 무의식적인 편견이 내장되어 있고, AI가 미친듯이 실행되어 특정 응용 프로그램에서 사람들을 차단하기 시작하거나 모든 것을 종료하는 상황이 있을 때 AI 실수에 대해 생각할 때 이러한 상황은 모두 다음과 같은 상황입니다. 도전적인 관점을 테스트합니다.

점점 더 복잡해지고 있지만 훨씬 더 빠르고, 더 빠르게 반응하고 있습니다. 따라서 소프트웨어 개발에 AI와 머신 러닝이 계속해서 포함되는 것을 보게 될 것입니다. 그러나 이제 이러한 모든 변경 사항을 테스트할 수 있도록 필요한 모든 프레임워크가 준비되어 있어야 합니다.


자동화 제어 시스템

  1. 자동차 서비스 작가란 무엇이며 어떤 일을 합니까?
  2. 저비용 검사 로봇의 설계 및 개발
  3. 혁신 개발을 가속화하기 위해 SABIC과 Nottingham Spirk의 파트너 관계
  4. 스마트 빌딩 자동화와 도시 부동산 개발의 미래
  5. Seegrid는 'Blue Labs' 연구 개발 그룹을 만듭니다.
  6. AMRC는 기술 및 순환 경제의 혁신을 주도합니다.
  7. ABB Robotics:기술 혁신 및 로봇 공학 R&D
  8. Bright Machines, Microfactory 하드웨어 및 소프트웨어 출시
  9. 재고 관리 소프트웨어:기능 및 이점
  10. 유지 관리 이사는 무엇이며 어떤 일을 합니까?