소프트웨어 성능 향상을 목표로 삼아야 하는 이유

JS·2022년 12월 18일
0

Brain Setup

목록 보기
13/18
post-thumbnail

소프트웨어 엔지니어는 왜 성능향상에 목표를 두어야 하는가?

현대 사회에서 여전히 데스크톱 컴퓨터도 많이 쓰이지만 그에 못지 않게 모바일 기기의 사용도 폭발적으로 증가하게 되었다. 그런 모바일기기에서는 365일 프로그램을 작동하게 되는데 어떤 프로그램은 매일같이 쓰이며 사랑을 받고, 어떤 프로그램은 쓰다가 어느순간 멀리하게 되며 도태되게 된다. 어떠한 차이가 있는 것일까?

유저는 대접받길 원한다

우리는 가격이 어떻더라도 합리적인 대접을 받길 원한다. 비싼 레스토랑에 가면 그정도의 값어치를 하길 바라며, 만약 저렴한 가게에 간다면 큰 기대를 안하는 경향이 있다

하지만 그것과는 별개로 모든 유저들은 손님의 입장이며 푸대접을 받을 이유는 어디에도 없다(주인가 손님의 상호 존중이 있어야하지만, 그것은 이 글에서 다루지 않겠다)

소프트웨어에서 성능의 향상은 대게 속도의 향상을 의미한다. 그렇다면 이것은 왜 중요한 것일까?

통계적으로, 성능이 좋은 사이트는 성능이 낮은 사이트보다 많은 유저들이 유입되고 있는 모습을 확인할 수 있다. 각 프로그램이 동작하고 페이지가 넘어가거나 앱내 장착된 기능을 사용할 때 대기시간이 줄어든 경우 더 많은 사람들의 유입을 확인할 수 있었다

반대로 생각하면 낮은 성능은 비즈니스적인 목표에 부정적인 영향을 끼친다는 사실이다. 세상에 많고많은것이 소프트웨어인데 굳이 나의 소프트웨어를 사용해줄 필요가 있을까?

사례

느린 사이트는 수익에 부정적인 영향을 미치고, 빠른 사이트는 전환율을 높이는 것으로 나타났다

Modify의 경우 홈페이지 로드 속도가 100ms 감소할 때마다 세션 기반 전환이 1.11%증가하여 평균 연간 수익이 %380,000 증가했다. 또한 체크아웃 페이지 로드 속도가 100ms 감소하면 세션 기반 전환이 1.55% 증가하여 연간 평균 수익이 야 $530,000 정도 증가했다

AutoAnything은 페이지 로드 시간을 절반으로 줄였을 때 매출이 12%에서 13% 증가했따고 한다

소매업체 Furniture Village는 사이트 속도를 검사한 후 발견한 문제를 해결하기 위한 계획을 수립하여 페이지 로드 시간을 20% 줄이고 전환율을 10% 증가시킨 사례도 있다

과학적인 이유

연구에 따르면 모바일 속도 지연에 대한 스트레스 반응은 소매점 계산대에서 하염없이 기다리는 것보다 더 크다고 나왔다

사이트가 로드되기 시작하고 콘텐츠가 나올 때까지 사용자는 하염없이 기다릴 수 밖에 없다. 이러한 것은 일시적이지만, 그것이 쌓이고쌓이다보면 머릿속에 하나의 인식으로서 자리잡게 될 것이다

하지만 빠르게 로드되면 사용자는 소프트웨어의 더 많은 것을 경험할 수 있게 되며 더욱 더 빠져들게 만들 수 있는 것이다. 유저에게 다른 생각을 할 틈을 주지 않는 것이다

모바일 장치의 경우 기기의 성능이 제한되어 있다. 이러한 기기들은 우리들이 최적화되지 않았다고 생각하는 코드들에 대해 버거움을 느낀다. 성능이 저하되고, 프로그램이 멈추게 된다. 그렇다면 당장 나가서 그 앱을 삭제하게 될 것이다

해결을 위한 노력

그렇다면 우리는 이러한 문제를 해결하기 위하여 어떤 노력을 해야할까?

우선 좋은 레퍼런스를 많이 찾아본다. 기술적인 테크닉도 있지만, 프로그래밍은 결국 언어를 기술하는 것이다. 첨삭이 가능하며 간소화 및 최적화가 가능하다. 때문에 좋은 글을 쓰는 것을 많이 연습하고 방법 또한 찾아보아야 한다

기술 부채를 만들지 않아야한다. 기술 부채가 일어나게 되면 해당 구성을 이해하고 있지 못하기 때문에 간소화 시킬 수 있어도 능력의 부족함이 생기며 따라서 우리는 기술적 해결 능력을 기르기 위해 공부해야 한다

좋은 디자인이 필요하다. 결국 오버헤드는 발생할 수밖에 없을텐데 이러한 이슈가 생길 때 디자인 적인 노력으로 어느정도 극복이 가능하다. 그 오버헤드의 순간에 어떠한 디자인으로 소비자들의 의식을 잠시 돌릴 수 있을지 생각해보아야 한다


Reference

https://web.dev/why-speed-matters/
이 글은 위의 글을 보고 생각한 점을 적은 것 입니다

profile
게임 프로그래머 지망생

0개의 댓글