728x90

소프트웨어개발 4

업무를 진행하는 방법에 대한 단상

업무를 진행하는 방법. 최근 몇년사이 "수평문화"라는 것에 대한 것들이 화두가 되면서 회사의 분위기도 많이 바뀌었습니다. 여전히 위에서 아래로의 수직적인 위계질서를 중요시하는 조직도 있겠습니다만, 제가 경험했던 소프트웨어 개발 조직들은 굉장히 많이 분위기가 바뀌었습니다.제가 저년차때 대부분의 업무는 태스크별로 쪼개진 다음, 아주 짧은 일정과 함께 기계적으로 "배분"되었습니다. 자신의 생각을 반영할 부분이 별로 없었죠. 도메인 지식이 부족하기도하고, 경험이 많은 선배들의 업무지시가 대부분 맞는 방향이었거든요. 왜 이 업무를 해야 하는지에 대한 배경지식을 설명해주는 선배도 별로 없었고, 다른 방식으로 기능을 구현하고 싶다고 하면 니가 책임질꺼야?라는 말로 겁을 주는 선배들도 있었습니다. 그럼에도 불구하고 그..

Think 2025.05.06

Agile 개발 방법론이 팀에 잘 정착하기 필요한 두가지

Agile 개발 방법론. 다들 잘 사용하고 있으신가요?전 최근 agile 개발 방법론이 팀에 잘 정착하기 위해서 중요한 것은 집중과 헌신이 가장 먼저 아닐까? 생각했습니다. Agile 방법론을 도입한 팀에서는 종종 스프린트 결과물을 두고 완성도가 낮다거나 기능이 부족하다는 오해가 생기곤 합니다. 이 때문에 상사들로부터, 또는 개발자 스스로 개발 속도를 무리하게 높이거나, 현재 맥락과 다른 기능을 급하게 포팅하자는 의견으로 이어져 팀의 방향성을 흔들기도 하죠.Agile에서 매 스프린트마다 만들어내는 결과물은 미완성품이 아닙니다. 오랫동안 agile 개발 방법론을 사용하자! 라고 외쳤던 많은 조직들에서, 그걸 하자고 말하는 사람이나, 실제 수행하는 사람들 모두 이에 대한 이해가 부족했던 것 같습니다. Fix..

Think 2025.05.06

Agent로 test coverage 올리기 체험기

개발 중인 inference 엔진의 test coverage를 어떻게 올릴 수 있나에 대한 고민을 하고 있습니다. 상대적으로 개발(휴먼) 리소스가 부족한 상황에서, 팀원분들이 굉장히(🤣) 빠르게 개발을 진행하고 있어서, 솔직히 테스트를 약하게.. 진행했던 부분들에서 삐걱거리게 시작했거든요. 테스트가 중요하다는 것은 명확한 사실이나, 개발(휴먼) 리소스가 부족한 것도 현실이라 어떻게 해야 하나 싶었는데, 요즘 agent에 대한 이야기들이 많이 나오길래 한 번 간단하게 구현해 봤습니다. 개발한 코드에 대해서 pair programming 하는 것처럼, unit test agent가 계속해서 code를 테스트 해줄 수 있으면 어떨까?하는 간단한 생각부터 출발!유명한 OpenHands는 open source ..

Think 2025.01.29

소프트웨어 개발에 유연성이란?

개발 프로젝트를 진행하다보면, 항상 (유연성이 요구되는) 잡음이 발생하는 문제들을 겪습니다. 보통 이런 문제들입니다. "개발 언어는 무엇으로 할 것인가?" "어떤 아키텍처로 할 것인가?""우리의 workflow는 어떻게 할 것인가?" 사실 이런 문제는 유연성과 큰 관련이 없어야 하는 질문들 같습니다. 명확한 답이 있어야 할 것만 같거든요. 이 문제를 해결하기 위한 최적의 시스템 아키텍처가 무엇인가? 우리 팀의 최고 효율을 낼 수 있는 workflow가 무엇인가? 우리 시스템에서 가장 빠른 속도를 낼 수 있는 개발 언어로 어떤 것을 선택할 것인가? 등등이요. 정답이 있을 것 같아서 그걸 찾아내고 싶지 않나요? 그래서 각 candidate의 비교를 통해 장단점을 파악하고, 점수화하여 합리적으로 선택을 할 수..

Think 2025.01.29
728x90