エンジニアはスケジュール管理・コミュニケーションが大切。エンジニアはスケジュール管理・コミュニケーションが大切。3年目を終えて思うこと2016-10-12エンジニアはスケジュール管理・コミュニケーションが大切。Tweetはじめまして!新卒4年目エンジニアのささきです。学生時代は情報系の学科でC言語とJavaにふれ、今はPHPをメインに扱っています。ぐるなびに入社してからは検索チームに所属。今回はエンジニアとして3年経った今、「実はこれって大事だな」と私が思っていることについて書きます。今の時期には、会社にも慣れ、少しずつ案件を担当し始めた新卒エンジニアの方も多いと思います。私より経験の浅いエンジニアの皆さんの参考にしていただけると嬉しいです。入社してから気づく、スケジュール管理とコミュニケーションの大切さ仕事をしている中で思うのはスケジュール管理とコミュニケーションを特に意識すべきということです。ディレクターやデザイナーなど、いろんな方々と関わりながら案件を調整していくのはエンジニアの仕事。調整能力はエンジニアに欠かせないスキルの1つだと実感しています。スケジュール管理で工数見積もりに慣れる開発に着手する前に必ずタスクの洗い出しや工数の見積もりをなるべく正確におこないます。その後、算出された工数やタスクからスケジュールを制定し、リリース日を定めます。この見通しが甘い場合、リリース日までのスケジュールにゆとりがなくなり、タスクが手一杯となって自分を追い詰めてしまいかねません。無理のないスケジュールを見積もることが重要です。最初はスケジュール調整がうまくいきませんでした。入社してから1年ぐらいは工数見積もりもできなかったため、まわりに迷惑をかけ自分を追いつめるようなスケジュールを立てていました。無理なスケジュールを組んだ結果、完成はたいてい納期ギリギリ。十分にテストできず品質が良くないものを納品してしまったり、1日のタスク量が肥大化して帰宅時間が遅れたりしたこともありました。入社から数カ月経って担当案件も増えはじめると、各タスクの進捗状況が把握できず、優先順位を見失いがちになりました。このときは目の前にある案件を1つずつ片付けることしかできず、先のスケジュールがあまり見えていなかったように思います。仕事をはじめる前に行う7つのプロセス案件が落ちてくるたびに行うのがこちら。自分で体得したものもあれば、先輩からアドバイスをもらったものもあります。この7つのプロセスを経てタスクを管理するとうまくいくケースが多かったです。案件をタスクごとに分けるすべてのタスクに締切日をつける1日の最初に優先順位を考えて今日やることを確認するごはんを食べ終わって自席に戻り、ボーッとしている時にもう一度タスクを確認し、午後できるタスクかどうかを検討する帰宅前に今日やったタスク内容と次の日にやらなきゃいけないタスクの確認をする空き時間があれば前倒しできるタスクに着手する少し余裕を持ったタスク管理を行う(例えば、1週間5人日だとしたらタスク量は3.5人日ぐらいしか埋めない。1日8人時だとしたら、タスク量は7人時しか埋めない、など)大切なのは案件の全体像の把握。慣れないうちは、タスクに締め切り日をつけることからはじめてみましょう。タスク管理に使っていたツール実際に私が試したことや使ったツールを紹介します。卓上カレンダーにすべてのタスク締切日を記入カレンダーにタスク締め切り日を書いておくと1カ月のスケジュールがわかりやすいです。先が見通せるものであれば卓上カレンダーでなくてもOK。ふせんを使うタスクごとにふせんを作りボードに貼っておくのも良いと思います。デスク横の空きスペースなど目の届きやすい場所にボードを置くと自分の進捗を把握しやすいです。図形描画で管理しています。[バックログ]Backlogでは親課題と子課題が作れますので、案件の内容を親課題、1つ1つのタスクを子課題として締切日を決めます。最初のタスク洗い出しの時点ですべてのタスクを子課題として登録しておくと忘れません。ガントチャートも見れるため、先のスケジュールや締切日まで明確に把握することができます。Kanbanchiカンバン形式のタスク管理ツールです。締切日の記入やチェックリスト作成ができ便利。色分けリボンを使うと緊急性が高いものの把握や優先度が低いものの区別をつけることもでき、今着手すべきタスクが把握しやすいです。ファーストビューでタグが見れるのもメリットの1つ。DBチームに相談が必要な場合は「DB」、検索エンジンチームに相談が必要な場合は「Groonga」などのタグを入れ、タスクの種類が分かるようにしていました。Brabio!参考:ガントチャート,プロジェクト管理,スケジュール表がサクサク作れる。タスク管理にもBrabioは無料でガントチャート機能が使えるため、ガントチャートでのタスク管理が気軽に体験できます。人はこちらから試すのもいいかもしれません。タスクの期限前にメール通知が飛ぶのもGood。タスク量が多いとき・自分で表を作る大きな案件になるとタスクがかなり多くなってしまうこともあります。シートにまとめると把握しやすいです。自分で表を作る(必要な場合のみ)この4つの方法に落ち着きました。タスク管理やスケジュール管理に慣れてくると、早い段階で案件の工数も正確に見積もることができるようになってきます。いくつか試して自分に合った方法でスケジュール・タスク管理を行えば、仕事をスムーズに進められるようになります。冒頭でも述べたように、私たちはディレクターやインフラエンジニア、フロントエンドエンジニアなどいろんな方々と関わって仕事を進めていきます。仕様を詰めたり、スケジュールを調整したり、ときには開発相談も......同じチームのメンバーとも協力し合いながら案件を進めることが多いです。「この人の頼みならなんとかしよう」と思える関係をつくる私はあまりメールや文章だけでのやり取りが好きではないため、できるだけ足を運んで直接話すように心がけています。一緒に仕事をすることになったときは自分から歩み寄ることが大切です。急に対応して欲しいことがあったとき、いきさつや現状を把握したうえで相談することができたため、話が通しやすかったことがあります。逆に自分がお願いされる立場になったときも「この人からは、ちょっと無理なお願いをされてもなんとかしよう」と自然に思えました。した働きかけで人への印象は大きく変わりますし、仕事の進め方も変わってくるのです。無理に話題を作らなくてもいいとはいえ「何を話せばいいの?」と不安に思われる方もいるかもしれませんね。無理に話題をつくらないといけない、なんてことはありません。私も仕事の話がほとんどです。仕様についての質問や認識合わせ、もっとこんな仕様にしてみてはどうかという発案など......大事なのは直接話すという行為。文字よりお互いの考えが伝わりやすくなるだけでなく、相手の印象に残る度合いが格段に違います。コミュニケーションがとれる場を設ける先程とは逆の視点になりますがコミュニケーションを密にとれるような場を作ることも大切。私のチームでは朝会やチーム定例、振り返りの時間を設けることで、各個人が何か困っていることはないかなどをチームメンバーに共有できる場を作っています。タスクがあふれそうになったときも、早い段階でリーダーやチームメンバーに共有してアラートを出すことで、余裕を持った引継ぎと対応ができます。密にコミュニケーションをとっていたためキャッチアップをすぐに行うことができたのです。なく話し合いができていることで、その場だけではなく個々人でも話しやすいような関係性を築くことができているのだと思います。エンジニアとして仕事を良好に進めるために、コミュニケーションはとても重要。自分のタスクだけに没頭せず、人との関わりも意識することが大切ですね。おわりに今回はあえて技術的要素にはふれず、意外とフォーカスされないけど大事だと思うことをまとめてみました。参考になったことがあれば嬉しいです!お知らせぐるなびでは一緒に働く仲間を募集しています。ささき2013年に新入社員としてぐるなびに入社し、主にレストラン検索の開発を担当していました。現在はぐるなびまとめサービスの開発に携わっています。企画を一緒に考えながら仕事をすることが好きです。10:29エンジニアはスケジュール管理・コミュニケーションが大切。google.setOnLoadCallback(initialize);スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。