반응형
관리 메뉴

머니메이커

IT 비전공자의 개발 순서 이해 본문

IT

IT 비전공자의 개발 순서 이해

전진하는시스템 2021. 4. 19. 10:06
반응형

소프트웨어 개발이라고 생각하면 코딩 자체에 대해서만 생각하는 경우가 많습니다. 그러나 소프트웨어 개발 업무는 다른 업무와 유사하게 문제를 해결하는 과정이며 IT툴을 사용한다는 점에서 단계별로 약간 상이한 점이 있습니다. 오늘은 IT 비전공자로서 개발업무 진행 프로세스에 대한 개괄적으로 알아봅니다. 

 

  • 개발업무 순서
    • 문제에 대한 이해
    • 설계 수행 
    • 코딩 실행
    • 테스트 및 배포
    • 디버깅 하기

 

개발 업무 순서 

문제에 대한 이해

소프트웨어도 하나의 문제 해결 과정입니다. 무조건 코딩을 시작하기보다는 비즈니스의 요구조건이나 현재 가지고 있는 문제 상황을 정확히 인식하는데서 출발이 중요합니다. 

예를 들어 자동화 업무를 진행한다고 하면, 코딩을 먼저 시작하는게 아니라, 해결해야 할 문제 상황을 정확히 이해하는 게 요구됩니다. 문제을 인식하고 있는 사람 또는 고객을 만나서 현재 가지고 있는 이슈가 무엇인지를 구체적으로 알고 가는 거죠. 

 

설계 수행 

문제를 이해했으면 이제 바로 코딩을 해야할까요? 그렇지 않다고 합니다. 문제를 이해했으면, 문제를 효과적으로 해결할 수 있는 방법론은 무엇일지 설계하는 과정 일종의 계획 단계가 필요합니다. 

프로그램 설계
프로그램 설계

최근에는 실행과 속도를 중시하기도 하는데, 개발 업무도 설계가 잘못된 상태에서 진행해 봤자 무의미한 경우가 많아, 초기에 문제 정의를 구체적으로 하고, 어떤 접근 방식으로 해결할지, 그리고 어떤 코딩이 필요할지 등에 대해 진지하게 생각하는 단계가 요구됩니다. 애자일 방식이 전부는 아니죠. 

 

코딩 실행

이제 문제 해결 방법에 대한 생각이 구체화 되었다면 실행에 옮길 단계입니다.  코딩은 문제에 대해 완전한 해결책을 제시하는 방향으로 진행될 수도 있으나, 어느 정도 단계별 테스트를 통해 진행 과정이 올바른지 판단할 수 있는 쪽으로 방향을 잡기도 합니다. 

코딩 이미지
코딩 이미지

 

그리고 코딩은 코딩 체계를 효율적으로 만들고, 누가 봐도 이해하고 쉽고 수정하기 쉬운 코딩하는 방법 지식이 요구됩니다. 이 단계에서 한명의 천재 개발자는 천명의 개발자의 업무를 능가하는 역량을 보이기도 합니다. 

 

테스트 및 배포

코딩을 통해 소프트웨어 개발이 되면 바로 배포 하는게 아니라 그전에 테스트 단계를 거치게 되는게 일반적입니다.  설계한 데로 잘 동작되는지, 문제 해결에 적합한지 등이 테스트에서 확인해야 할 것들입니다. 

 

테스트를 진행하는 방식은 워터폴 방식의 개발애자일 방식의 개발 프로세스에서 상이합니다. 워터폴 방식에서는 설계 - 개발 - 테스트 - 배포 등 단계적 순차적으로 업무가 진행되는 반면, 애자일은 통상 2 주 단위로 개발 산출물에 대해 테스를 통해 확인합니다. 

일반적으로 SI 프로젝트를 수행하면 워터폴 방식의 테스트/배포를 진행하며 통합 테스트 업무로 불르기도 합니다. 

 

배포란 소프트웨어를 서버에 설치하고 사용자가 소프트웨어에 접근할 수 있게 해주는 과정을 의미합니다. 그리고 배포단계에 이르면 개발된 코드를 특정 소스 코드 저장소에 저장하는 작업을 진행하게 됩니다. 

 

디버깅 하기

말 그대로 버그를 고치는 일을 의미합니다. 테스트 단계가 진행되고 확인되었다고 해서 소프트웨어가 완벽한 건 아닙니다. 개발자의 상당 업무는 이 디버깅 업무를 수행하는 데 있으며, 남이 만들어놓은 코드라 더 이해하기 어렵다고 합니다. 

마무리

소프트웨어 개발 업무 프로세스에 대해 개괄적으로 알아봤습니다. 문제를 해결한다는 점에서 다른 기획/마케팅 업무와 큰 흐름에서는 유사하지만, 코딩/테스트/디버깅 등 구체적인 특징이 있네요. 

 

 

 

Java 개발 원서 추천

오늘은 Java 개발자가 읽어보면 좋을 해외 원서 책 5권을 소개합니다. 영어로 읽기 부담이 되고 발간된 지 오래된 책이기는 하나 Java 개발을 위해 좋은 참고서로 여겨지니 참고하길 바랍니다.  Jav

2ndsystem.net

반응형

'IT' 카테고리의 다른 글

디지털 프로덕트 개발에 대해 이해하기  (0) 2021.04.28
가상화폐 용어: ICO  (0) 2021.04.26
Java 개발 원서 추천  (0) 2021.04.18
Comments