初めてプロジェクト管理者に任命され、強い責任感を感じてはいるものの、右も左も分からない状態だという方に向けて、本稿ではプログラミングの基礎知識についてご紹介します。
近年では企業のIT要件が強まっていることから、今までプログラミングに関わったことがない人が、プロジェクト管理者に任命されるケースが増えています。その際に、押さえておくべきポイントとは何でしょうか?
そもそもプログラミングとは?
プログラミングとは「プログラムを作成するためにソースコードを記述すること」です。ちなみに「プログラム」とは、アプリケーションやソフトウェアを動かすために、コンピューターに出す命令文のまとまりを指します。プログラミングには、下記の環境を整えることから始めます。
- プログラミングを行うためのコンピューター(主にパソコン)
- プログミング言語を使用するための開発環境(プログラミング言語ごとに用意)
- プログラムをテストするためのサーバー
- プログラムを本番稼働するためのサーバー
プログラミングを行うにはプログラミング言語を用いてソースコードを書いていく必要がありますが、開発するアプリケーションやソフトウェアによって使用するプログラミング言語は変わります。
プログラミングを効率良く行うためには?
プロジェクト管理者に任命されたということは、プログラミングにかかわるエンジニアは1人ではなく複数人であるケースが多いでしょう。では、プログラミングを効率化するためには何をすればよいのでしょうか?
近年のトレンドから紹介すると「DevOps(デブオプス)」と呼ばれる開発体制を取ることで、プログラミングを効率化できると考えられています。まずは、開発体制の基本である「ウォーターフォール開発」と「アジャイル開発」について説明します。
ウォーターフォール開発
上流工程から下流工程へと、開発工程が一連の流れによって進むのがウォーターフォール開発です。一般的には要件定義、概要設計、テスト設計、詳細設計、開発、テスト、リリースという工程で進んでいきます。滝の水(ウォーターフォール)が上から下へと流れていく様から名付けられた開発大切です。
初期段階から開発期間やスケジュールが固定するため、進捗管理が行いやすく、確実性が求められるプロジェクトに最適です。
アジャイル開発
アジャイル開発とは、「イテレーション」と呼ばれるいくつもの短い開発期間の中で、要件ごとに開発を進めていく開発大切です。ウォーターフォール開発の「開発の後戻りができない」「途中の仕様変更に弱い」といった難点をカバーした開発体制となり、開発期間全体を通じて柔軟性の高い開発が行えます。
DevOps
DevOpsはこのアジャイル開発を流用した開発体制であり、開発チーム(Dev)と運用チーム(Ops)が互いに連携・協力して継続的に開発を進めていくというものです。多くの企業では開発チームと運用チームが対立関係にありますが、互いの目標は本来一致するものとなります。そのため、開発チームと運用チームにある垣根を取り払い、円滑なコミュニケーションと情報共有が取れる環境を整えることで開発を効率化していきます。
プログラミングを効率良く進めるためのツール
プログラミングを効率良く進めていくためには特定のツールを利用することも大切です。まずおすすめなのが開発プラットフォームです。プログラミングを行うためには、プログラミング言語環境が必要になります。
この環境を整えるために丸1日かかることもあり、開発工数を増やしている原因でもあります。しかし、この工数を無視することは当然ながらできません。そこで、プログラミング言語環境が事前に整えられている開発プラットフォームを利用することで、この環境構築にかかる工数を大幅に短縮できます。そうした開発プラットフォームの多くは、複数のプログラミング言語をサポートしているため、異なるプログラミング言語を使用する際も素早く環境を切り替えることが可能です。
次におすすめするのがPaaS(Platform as a Service)というサービスです。PaaSはインターネット経由で提供されるクラウドサービスの一種であり、アプリケーション開発やソフトウェア開発に欠かせない開発環境(サーバー、OS、リソースなど)をインターネット経由で調達することが可能であり、環境構築にかかる時間とコストを削減できます。また、近年ではPaaSを利用することでセキュリティ対策が強化されるという効果も認識されているので、多くの開発者が利用しています。
そして最後におすすめするのがGitHub(ギットハブ)というツールです。
バージョン管理のプラットフォーム
バージョン管理システムとは、プログラミングにおけるソースコード管理を徹底するためのシステムであり、複数人で開発を進めたり、継続的なサービス提供を行っていく場合に欠かせないシステムになっています。
代表的なプラットフォームとしてGitがありますがオープンソースソフトウェアなので、利用にはサーバーへのインストールおよび運用が必要ですが、GitHubのようなクラウドサービスのものを選択すれば、アカウント登録および利用料金の支払い(有料版の場合)だけで利用できるなど、組織的に利用できるバージョン管理システムを瞬時に導入することができます。
プログラミングは常に効率化を考える
プロジェクト管理者がプログラミングにおいて常に考えるべきことが「効率化」です。如何に、開発を効率良く進め、如何に開発工数を削減するか。アプリケーションやソフトウェアの品質が保たれる範囲をこれを考え、プロジェクトを推進していくことが大切です。
- カテゴリ:
- トレンド