Umarım zaten hepiniz neden bir yapılacaklar listesi tutmanız gerektiğini biliyorsunuzdur, özetlersek:
- Ne yaptığınızı bilmek
- Ne yapacağınızı bilmek
ama en önemlisi:
- Binlerce şeyi aklınızda tutmak yerine bir yere not alıp beyninizden silmek
Bu son maddenin önemini yıllarca anlamamıştım, yeni yeni anlıyorum. Eğer yapılacak bir işi bir yere not almadıysanız o iş her zaman aklınızda kalacak, aynı çözemediğiniz bir bilmece ya da nedenini bulamadığınız bir bug gibi. Dolayısıyla yaptığınız işe odaklanabilmek için o an yapmadığınız her şeyi, aklınızdan çıkarmanız lazım. Bunun da en pratik yolu bir yapılacaklar listesi tutmak.
Yapılacak listesi tutmak
- Sistem belli olmalı ve güvenlir olmalı
Hep aynı sistemi kullanın, küçük bir defter, todo list, tada list, remember the milk, sekreteriniz vs. Ne olduğunun önemi yok ama güvenilir ve pratik olmalı.
- Listenizi açıklayıcı bir şekilde yazın
Asla ve asla anahtar kelimeler yazıp ne de olsa sonra hatırlarım demeyin, zaten bu işin amacı aklınızdan bu konuyu çıkarmak. Aynı kod yazarken başka bir objeye verdiğiniz referansı silmezseniz memory leak olacağı gibi beyninize de o iş ile ilgili anahtar kelimelerden referanslar kurarsanız o iş aklınızdan tamamen çıkmayacak. Ya da aklınızdan çıkacak ve o işe tekrar döndüğünüzde o işin ne olduğunu hatırlamayacaksınız.
- Adımlı detaylandırma
Özellikle teknik konularda bazen listeye yeni bir madde eklerken çok fazla detaylara kaymak mümkün olabiliyor. Mesela “Blog’ a CAPTCHA ekle” maddesinin altında teknik olarak nasıl bir CAPTCHA kullanacağınızı dokümante etmenize ya da düşünmenize gerek yok. Bunu o maddeye gelince detaylandırabilirsiniz. Özetle önce ana notu alın, ondan sonra o işe geldiğinizde elinizdeki işi maksimum 2 saatlik yeni parçalara bölün. Eğer bir parça iki saati geçiyorsa muhtemelen gereğinden büyük bir parçadır demek ve onu da küçük parçalara bölmelisiniz. Bu yüzden ben ağaç yapısı ile girdi desteği olmayan bir todo list yazılımı kullanamıyorum, bence bu çok önemli.
Çok büyük parçaları yapmaya çalışmak kötü sonuçlar verecektir. Mesela “Yeni CMS sistemi yaz” gibi bir madde tamamen işe yaramayan bir maddedir. Çünkü bu işin altında ne yapacağınız belli değil, ama bunu 2 saatlik işlere bölerseniz tam olarka ne yaptığınızı biliyor olacaksınız. Mesela “Database’ i tasarla”, “Yeni üye kayıt sayfasını yaz” vs.
- Revize edin
Düzenli bir şekilde listenizi gözden geçirin, bazı şeyleri hali hazırda yapmış olabilirsiniz, hemen listeden silin. Bazı şeyler artık gereksiz olabilir, hemen listeden silin vs. Ne kadar güncel olursa o kadar iyi çünkü bu sizin sisteminize güveninizi arttıracak bu da beyninizi rahatlatacak.
- Önem Sırası
Yapılacaklar işler listenizde her bir işin ne kadar önemli olduğunu bilmeniz gerekli. Eğer işlerin önemi belli değilse planlama yapamazsınız ya da “Yeni üye kayıt sayfası“ nı bitirmeden “Google Maps API ile twitter’ ı bağlayıp, iPhone’ dan site hakkında twit gönderen kişilerin pie chart’ larının gösterilmesi“ işini yapıyor olursunuz. Ben bunu çok yaptım, klasik hata. Teknik konularda bu önem oranı 1-10 arası olabilir, genelde 1-3 arası o kadar iyi çalışmayabiliyor. - Kaynama yapmayın
Bazen çalışırken aklınıza bir şey gelecektir eğer çalıştığınız konu ile bire bir alakalı önemli bir şey değilse onu yapılacaklar listenize alın ve daha sonradan o işe geçin. Direk o işe zıplamayın ya da önemsiz işler için zaten bu işi yapıyorum onu da aradan çıkartayım diye düşünmeyin.
Çalışırken şu 2 soruya cevap veriyor olabilmeniz lazım:
- Şu an tam olarak ne yapıyorsun ve niye? Neyin parçası, hangi işin bitmesine nasıl yardımcı olacak?
“Kod yazıyorum” ya da “CMS yazıyorum” geçerli bir cevap değil, Doğru cevap “CMS’ i bitirmem için gerekli olan yeni kullanıcı kaydı sayfasının girdilerinin client-side kontrolü için JavaScript yazıyorum” olmalıdır.
- Bundan sonraki adımlar neler?