初めまして!早くも2年目になりました欲張りMatzです(☝ ՞ਊ ՞)☝ウィー
フルスタックエンジニアを目指して日々修行中でございます。 会社ではサーバーサイドエンジニアとして仕事をしています。
今から約8ヶ月前(このとき入社してから約7ヶ月)、 欲張りな私はある社内サイトのリニューアル業務にて、プロジェクトマネージャー(以下PM)を担当することになりました。 そこから成長を実感した6つのことを書きたいと思います。
その前に、担当したプロジェクトの概要と、 解決すべき問題点を共有しておきますね(☝ ՞ਊ ՞)☝ウィー
担当したプロジェクトの概要
- リニューアルするサイトは、WordPressで開発された社内の情報共有サイト
- コンセプトは「見やすい!探しやすい!おしゃれ!」
- チームメンバーは計9名(依頼者は別で2名、役割重複2名)
- インフラ周り 2人
- デザイナー 1人
- PM兼WP実装1人
- フロントエンド兼WP実装1人
- 大先輩サポート 4人
- プロジェクト期間は6ヶ月間
解決すべき問題点
- 検索しても欲しい記事が見つかりにくい
- 記事を投稿するにもDBの事情で遂行しにくい
- そもそも連語検索出来ない
- ページ表示速度が重い
etc.
当然、欲張りMatzなので「やります!!!」とは言っては見たものの、プロジェクトというものを全く知らず、頭の中には「プロジェクトX」しか湧いてきませんでしたね。
(☝ ՞ਊ ՞)☝ウィー
とにかくがむしゃらにやって見た結果
見事に納期ギリギリでしたが上記の解決すべき問題点を解決し、付加的にこちらから提案した内容の実装を終え、 満足できる状態でリリース完了することが出来ました! 結果までの課程をすっ飛ばしていますが、一言で言うと、
「大変だったけれど、チームで働くっていいな」
ですね。
今プロジェクトで成長した6つのこと
1. 知ったかぶりは何もいいことがない
当初私は、「理解できない自分」が許せなく、いわゆるプライドが高い人間でしたため「分からないことを分かったふり」をしていました。
しかし、PMとして業務を遂行するにあたり、要件定義、仕様の決定、システム設計などを知ったかぶりでこなせるはずもありません。。
そんな中、別プロジェクトでPMを務めていた上司が、知ったかぶりをせずチームメンバーに純粋に質問をしている姿をみて「何も恥ずかしくないし、むしろかっこいい」と感じ、私のつまらない意地っぱりは気づけば解消されていましたね。
結果、依頼者との認識の齟齬なくプロダクトをリリースすることができました。
2. ユーザーというものを背負う責任感
最初は楽しくて設計から実装まで行なっていましたが、リリース1ヶ月前あたりになると、次の言葉が冷や汗と共に発せられたのを思い出します。
「今自分が開発しているこのプロダクトを使う人は本当に喜ぶのだろうか」
その時に、自己満足の虚しさを知ったような気がします。
リリース後の依頼者、ユーザーからの反応を見て、
「私の考えた最強のシステム」より「ユーザーのことを考えたシステム」のほうが依頼者もユーザーも喜んでくれることに気づきました。
相手のことを考え抜いて喜ばせることにとてもいい気分を覚えました。
これって、好きな異性と仲良くなるためにはどうすればいいか本気で考えるのと近しいと思いませんか?( ´థ౪థ)
3. チームワークを最大化させる要因は心地よいコミュニケーション
なぜチームで仕事をするのかと考えた時に、「良いものを作ることは、物理的にも精神的にも1人では出来ないから」なんじゃないかなと思っています。
そんなチームのメンバーは当然全員「人間」な訳で、人間を理解せずに円滑なコミュニケーションは望めません。
笑っていると楽しいし、それでいて真剣な仕事の相談も出来たらアイデア出まくりですし頑張ろうという気になります。それが循環しているすごくいいチームでした。
これが、一つのゴールを目指し、いいアウトプットを出すチームの「助け合い」なんだなぁと深く感じましたね。
4. 実装は、Computerとの会話
PMもやりつつ、WordPressの実装も行なったのですが、WordPressは便利と思う反面、融通が効きにくい仕組みでもあります。
自分がしたいことをComputerがわかるように記述してあげるというのが大事で、それをするためにはWordPressさんのことを知らないと出来ないことです。
結果、全てにおいて相手のことを知らないと上手くいかないということですね。
その場しのぎで書いてしまったコードから、1ヶ月後くらいにツケが回ってきましたし。。。
(☝ ՞ਊ ՞)☝ウィー(☝ ՞ਊ ՞)=☞)՞ਊ ՞) ←こんな感じ
5. スケジューリングの重要性と難しさ
今回のプロジェクトで自分に一番足りないなと感じたのが、プロジェクト全体を見通して大枠のスケジュールを組み立てることと、それを管理することですね。
自分一人の予定であれば、「気合いダァーーー!!!!」といって根性で納期を守ればいいですが、チーム全体となると話は違います。
他のプロジェクトと並行で動いているメンバーもいます。
そんな中、大先輩が大枠のスケジュールの引き方を指導してくれ、一気にプロジェクト完遂までの道のりが見えるようになりました。
今当初の自分にアドバイスをするのであれば、「プロジェクトが完了した時を具体的にイメージして、その時全てがどうあるべきかを考えろ」といいますね。
考えれば必然なものは思いつくし、足りないものは後からでも補えば良いので。
6. 要件定義とシステム設計がある程度できたらチームで認識合わせのキックオフをすべき
今プロジェクトは完全に0からのスタート(元データ以外)だったので、事前にリスクの洗い出しとヘッジ案を練るべきでした。
しかし、それをしなかった結果、行き当たりばったりの開発になった部分があり、チームに迷惑をかけてしまいました。。。
円滑にチームとして動いていくためには、スタートラインで認識の齟齬を無くし、ゴールを共有することが重要だと学びました。
最後に
6ヶ月間のPMと実装の二刀流経験を通して、PMの重要な役割とは、「相手のことを考えた上でのコミュニケーションを如何に取っていくか」なのではないかと感じています。
結果的にリリース後にユーザーからいいコメントをもらえたり、追加の依頼が来たりと、楽しい保守・運用が出来ています。
これも、相手のことを考え抜いたチームだからこそ、ユーザー、依頼者から期待をされるのだと思います。
また、PMと開発の二刀流ということで、システム設計や、工数管理も、本来「実装を依頼する人と実装を依頼される人」のどちらも経験しながらだったから円滑に進められたのかなと感じます。
結論としては、やはり勉強あるのみですね!
技術力もあり、PMも円滑に回せられるように日々努力していきます!欲張り!
(☝ ՞ਊ ՞)=☞)՞ਊ ՞)(☝ ՞ਊ ՞)=☞)՞ਊ ՞)(☝ ՞ਊ ՞)=☞)՞ਊ ՞)
\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp