참으로 오랜만에 글을쓴다. 아마도 이번달의 첫글이지 싶다.
그동안 게을렀던건 아니고,.. 그냥 바빴다.
요새 내가 글을 쓰지 못하는 이유는 2가지다.
첫째는, 바쁘다.
둘째는, 글이 잘 안써진다.
여튼, 오늘은 바쁜와중에 틈틈히 출퇴근시간에 읽어 재낀 책을 하나 소개 하려한다.
제목은 위에 이미 썼고, 부록빼고 약 430여 페이지 분량의 두께를 자랑하는 책이다.
읽는데 걸린시간은 대략 2주 정도 걸린듯 싶다.
책을 읽으면서 밑줄을 치고 메모를 해야하는데.. 하는 문구들이 엄청나게 많았다.
그만큼 읽으면서 공감을 많이 했다.
과연 소프트웨어개발에서 창의력이 필요할까?
위 질문은 책에서 나왔던 질문중에 하나고,..
내가 요즘에 든 생각중에 하나는
프로세스가 점점 안정화 되어가면서, 나는 점점 재미를 잃어간다는 것이다.
잘 갖춰진 공장의 프로세스처럼, 생산라인의 하나의 부품처럼,..
그냥 조이고 닦고, 또 조이고 닦고,.. 생각없이 조이고 닦고,..
그러면 뚝딱… 상품이 하나 나온다. 이게 재밌나?
난 재미가 없다.
얼마전에도 팀원들에게 푸념섞인듯이 이런말을 했다.
“요즘 코딩이 재미없어졌어”
테스트코드를 한창 짤때도 그랬다.
“코딩이 재미없어”
이런 생각들이 내 머릿속을 가득메우고 있을때,
이책에서는 창의성에 대한 다양한 연구들을 소개한다.
테스트코드는 유용하지만, 많이 짤수록 지겨워진다는 연구결과도 있었다…(딱 나다..-_-)
너무나 많은 연구들이 소개되어 있어서..
일일이 다 열거하기도 힘들다.
결론은 이거다..
현재까지 소프트웨어의 생산성을 높이기 위해, (물론 품질도 포함된 얘기다)
프로세스를 강조하고, 정형화하고, 문서화 하고, 또는 자동화 하고
그런 과정들이 굉장히 중요시 되어 왔다.
그리고 이런 풍토는 그 반대점에 있는 개인의 직관이라든가 창의성 자율성들을 제약하고,
상향식이 아닌 하향식(위에서부터 밑으로 지시가 내려오는 것) 구조가 되는데..
점점 소프트웨어의 복잡도가 높아짐에 따라서, 이런 구조의 생산성이 생각보다 높아지지 않는다라는것..
그래서 이제는 상대적으로 지양되었던 개인의 창의성과 경험 또는 직관들도 필요하고,
이것이야 말고, 정형화된 프로세스만큼 혹은 그 이상 중요해 졌다 라는 얘기다!
그리고 난 여기에 굉장한 공감을 표하는 바이다~!!
소프트웨어의 복잡도가 높아지면, 높아질수록, 정형화된 프로세스와 맞지 않는
예외사항이 너무나 많이 발생한다.
또는 개뿔 그동안의 방법들이 아예 안통하는 경우도 많다.