アジャイルサムライからエンジニアのキャリアを考える

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

本記事ではアジャイルサムライの中で紹介されている役割分担からエンジニアのキャリアについて考えてみます。

アジャイルサムライの中で定義されている役割

アジャイルサムライでは役割を以下の2つに分類しています。

  • 顧客
  • 開発チーム

そして開発チームについては更に以下のように詳細な役割について紹介しています。

  • アナリスト
  • プログラマ
  • テスター
  • プロジェクトマネージャ
  • UXデザイナ

開発チームのメンバーはこれらの役割を複数こなしたり、日によって別に役割をこなしたりします。
ただ、全てを中途半端に身に着けてもキャリアを築いていくことは難しいと思いますので、それぞれ単体で考えていきます。

アナリスト

顧客と開発チームをつなぐ仕事をします。プロダクトの規模が大きくなると、顧客はプロダクト責任者が全体の方向性を決め、アナリストが詳細な仕様を決めていくことになるのでしょう。
アナリストにはエンジニアリングよりもビジネスサイドのスキルが求められる気がしますが、アナリストは様々なデータを駆使して分析する必要がある役割だと思います。
エンジニアリングの要素の中ではデータ分析のスキルを伸ばしていくと良いと思います。

プログラマ

プログラムの設計やコーディングを行います。
プログラマは組織内で優秀であってもその活動がオープンでなければ成果が見えづらくアピールしづらい環境にあります。
プログラマとしてのキャリアの築いていくには、OSSプロジェクトに参加し貢献していくなどの、オープンな場での活動が必要になると思います。

テスター

プロダクトのクオリティに責任を持ちます。
テスターはプログラマに比べてOSSプロジェクトでの活動が難しいと思います。なぜならあまり大きくないOSSプロジェクトであテスターが活躍する場がないからです。
テストの領域はアカデミック色が強く、様々な手法が一般化されており、それらをに身に付けていく必要があると思います。
そしてそれらの手法を実践に投入し、知識を向上させることで、キャリアを築いていけると思います。

プロジェクトマネージャ

開発チームの生産性が上がる仕事をなんでもやります。
プロジェクトマネージャの仕事の中にはコミュニケーションの改善や他部署との調整など、エンジニアリングが関係ない仕事もありますが、開発現場ではチームを見える化するツールや、CIツールなど、エンジニアリンングが求められる仕事もたくさんあります。
それらのスキルはプロダクト開発とは少し違うスキルになります。
また、生産性を上げるプラクティスもXPのように一般化されており、それらのプラクティスを身に付け、現場に投入し、知識を向上させることで、キャリアを築いていけると思います。

UXデザイナ

レイアウトだけではなくユーザ体験をデザインすることが求めれてきています。
UXデザイナにはソフトウェア開発に関係ない、一般的なデザイナに求められる、人間工学などの専門スキルが求められます。
また、現在や未来にどういうものがなぜ求められているのかというマーケティングも必要になります。
さらには、作り込んだUIがプログラムに落とし込めなかったり、想定外にコストがかかったりするなどの問題も出てきています。
UXデザイナとしてのキャリアを考える場合は、より抽象度の高いデザイナよりのデザイナか、プログラマよりのデザイナかのどちらかに軸足をおくことになると思います。

最後に

アジャイルサムライでは今回紹介した役割以外にも、データベース管理者、システム管理者、テクニカルライター、トレーナー、業務改善担当、インフラ管理者、ネットワーク管理者、などなど様々な役割があると書かれています。
それらについてはアジャイルサムライ内でも詳しく書かれていませんでしたので、今回は考察しませんでしたが、これらについてもどこかの機会で考察してみたいと思います。

以上です。