フリーエンジニア成功のポイントは生産性!
エンジニアにとって、システム開発に掛けられる予算や納期や人員や機器には、通常制限があります。そのため開発における生産性を向上させられる工夫は、何であれ有難いものです。プログラミング言語の選択にも表れるのですが、開発支援ツールもどんどん新たなものが開発されています。もちろんその導入にはエンジニアの使い心地だけではなく、トップの判断を仰がなければなりません。
さて開発支援ツールとしてIDEに利用されるのは、Eclipseが一般的であるようです。しかし有償ツールとして海外の製品が日本にも入りつつあります。「IntelliJ IDEA」というチェコの会社であるJetBrainsが開発したものは、Javaに限らず複数の言語に対応しています。そして提案してくれるツールとしての使い心地に、評判は上々のようです。例えばコードを解析してメソッドを抽出し、自動的に適用出来る箇所を検出して、その箇所にもメソッドを抽出するかどうかを尋ねてくれるのです。またコードの中で一定レベル以下の非効率な部分については、修正版を提案してくれます。あるいはオーストラリアの会社Atlassianの「JIRA」はバグトラッキングや課題管理を行ってくれますし、Wikiの「Confluence」もあります。このAtlassianはユーザーが製品本体についてカスタマイズすることを許容しているのですが、その分インストールする際にはデータベースを用意し、少なからず自分で設定する必要があります。
プロジェクトには小規模のものから、数百人から時には数千人単位で参加する大規模なものまであります。そしてその中でそれぞれが開発用のツールを使うとなると、多くはRedmineやExcelを利用しているでしょうが、それらが入り混じってしまい、プロジェクト全体としての生産性を高めるどころか、相互に齟齬を生じて逆に混乱してしまうことになりかねません。そのため統一された開発支援ツール導入するメリットがあるのです。
また開発の設計段階を支援するツールとして、Sparx Systemsの「Enterprise Architect」があります。これは設計段階を標準化するもので、最近では従来の多機能コピー機などに加えて、医療や自動車関連製品においても利用されるようになっているようです。これらはいずれも命にかかわるような重要な製品の開発であるため、ソフトウェアに何らかの問題が発生した場合に、どのような開発過程を辿った製品なのかを後から追跡出来る必要があるのです。