시간이 지날수록 IT의 중요성은 매우 높아 지고있다.

중요성이 높아지는 만큼 IT시스템의 변경주기는 짧아지고 있고

짧은 주기로 변경 추가 하여 피드백받고 보완해나가는

즉, 에자일한 방식을 대부분 들어봤을것이다.


이런 짧은 주기의 개발과 피드백이 중요한 시점에서

개발자는 시스템을 신속하게 변경대응 가능하고 안정적이게 구축하는것이 목표가 되어야한다.

 

그럼 신속하게 변경 대응가능하려면 어떻게 해야할까?

유지보수성이 높은 시스템을 구축하면 된다.

 

유지보수성을 높이려면 여러 측면으로 고려해봐야하는데

공통적으로는 확장성이 높고, 의존성을 줄이고 독립적인 시스템 구축을 지향해야한다.

application 측면을 본다면 데이터에 초첨을 맞추는 것이 아닌 객체중심의 개발을 해야한다.

비즈니스 로직을 쿼리에 담아서 복잡한 쿼리 개발과 무분별한 DB procedure/funtion을 지양하고 객체지향 원칙을 준수하여 개발해야한다.

 

기본적인것 같지만, 현업에서 일하다보면 빠르게 개발하는것에만 초점을 맞추어서 잘 지키지 않는 개발자들이 많다.

사용자의 변경/추가 요청 시 기존 시스템을 분석하고 개발하는데 많은 시간을 소비하게되고

영향도 때문에 계속적으로 새로운 버전으로만 관리가 되어 유지보수가 매우 어려워지는것을 많이 느꼈다.

 


그럼, 안정성을 높이려면 어떻게해야할까?

조직문화 측면으로는 코드리뷰, 페어 프로그래밍이 있을 수 있고

개발 프로세스 측면으로는 CI/CD 구축, TDD(or 테스트코드 작성)을 지향해야한다.

'회고록' 카테고리의 다른 글

Mybatis에서 JPA로  (3) 2021.12.11

+ Recent posts