본문 바로가기

Books

[IT][정리] 소프트웨어, 누가 이렇게 개떡같이 만든 거야 (Why software sucks)

(p.48)

"지금 당신이 지시한 작업(그것이 무엇이든 간에)을 정말로 할까요?"와 같은 질문은 하지 말아야 한다. 좋은 사용자 인터페이스라면 처음부터 이런 문제를 발생하는 것을 방지 할 수 있어야 하기 때문이다.

똑똑한 사용자 인터페이스 설계자라면 같은 동작에 대해서, 다시 물어 보지 않아야 한다.


(p.60)

"여러분은 가정용 드릴을 설계하는 사람과 같습니다. 그런데 여러분은 여기서 볼 베어링이냐 롤러 베이링이냐 아니면 에어 베어링이냐 같은 내부 사항에 대해서만 애기하며, 고객이 이런 것들을 다른 어떤 것보다도 중요하게 생각할 것이라 주장하고 있습니다. 틀렸습니다. 고객은 드릴 자체에 대해서는 조금도 신경 쓰지 않습니다. 신경 쓴 적도 없고 앞으로도 계속 그럴 겁니다. 고객은 드릴을 원하기 때문에 드릴을 구입하는 것이 아닙니다. 구멍을 내기 위해서 드릴을 사는 것입니다. 여러분의 드릴은 구멍을 내기 위한 필요악일 뿐입니다."

어떻게 여러분의 프로그램이 더 빠르고 더 적은 비용으로 사용자가 원하는 더 좋은 구멍을 내게 할수 있을까 생각해야 한다.


(p.117)

프로그래머들은 그들이 내부 전략을 올바르게 해놓으면 모든 것이 완벽하게 작동할 것으로 생각합니다. 틀렸습니다.!!! 컴퓨팅 분야의 거이 모든 문제와 마찬가지로 보안 또한 기술적 문제라기보다는 사람과 관련된 문제입니다.

보안은 과정(process)이지 제품이 아닙니다.

보안 전문가 브루스 슈나이어(Bruce Schneier)


(p.137)

"게으름은 모든 것을 능가한다." 

어떤 것이 하기 쉽다면, 그것이 옳든 그르든 자주 할것 이고 
 어떤 것이 하기 어렵다면, 그것이 해야 하는 것이든 아니든 잘 안 할 것이다. 
 따라서, 똑똑한 프로그램 설계자는 안전하고 좋은 것은 쉽게 할수 있게 하고, 위험하고 나쁜 것은 어렵게 만들것이다.

옳고 해야 하는 기능들은 쉽게 접근할수 있도록 만들고, 시스템을 영향을 주거나 자주 하지 않아도 되는 기능은 어렵게 접근하도록 구성하자.