IT留学レポート

【セブ島IT留学体験談】IT知識ゼロ女子大生のIT留学現地レポート Vol.4

グローバルIT留学に来てから2ヶ月目が経ちました。

前回の記事で紹介したベトナムから来た最強日本人QAの岡崎さんは、あっという間の3週間の任務を無事遂行し、ベトナムに戻りました。

セブに来てからの毎日は本当にあっという間で、1日1日を大切に過ごさなければいけないなと日々感じます。

ところで前回は「チームとしてプロジェクトを進める時に大切なことは何か」についてご紹介しました。
今回は前回と少し異なり、実際に授業で使っている「チームとして開発プロジェクトを行う上で便利なあのサービス」と「プロダクトを作る上で欠かせない〇〇」をご紹介したいと思います。

ご興味がある方は、よろしければ前回の記事もご参照ください。
【セブ島IT留学体験談】IT知識ゼロ女子大生のIT留学現地レポート Vol.3


開発現場の便利ツール!GitHubを使いこなそう

最近は開発を進める中でHTML・CSS・PHPを使う機会がさらに増え、それぞれの言語で自分の好きなデザインや機能を作成することに慣れてきました。「出来た」という成功体験の積み重ねにより最初の頃に感じていた苦手意識が薄れ、自分で言語を扱う楽しさを次第に感じています。

さて前回、「開発を進める上で大切なこと」は、チームワークや事前の要件定義を綿密に作成することだと学びました。

そして、今回はチーム間で「コードを共有する」ことによりプロジェクトを更に円滑に早く進めることができるという新しい発見をしました。そのコード共有サービスがGitHub 。

GitHubとは、プログラムのバージョン管理を行うウェブサービスであり、パソコン内にインストールされているターミナルからGitコマンドを用いて、ファイルを送受信したり相手のファイルと自分のファイルをマージ(同期)することができます。

例えば、わざわざWebページを開かずとも”git push” とコマンドを打つだけでファイルを送信・共有することができたり、"git pull" とコマンドを打つと瞬時に相手のファイルを受け取ることができます。

個人的に、git pullは秒でファイルを受け取ることができるのでとても好きです。

また、オープンソースプロジェクトのプラットフォームなので世界中のユーザーがどんなものを作っているのか見ることもできます。世の中のイケてるプロダクトはこのようなツールを使って開発が行われていることがわかります。

おそらく世界中のIT従事者なら知らない人はいないこのGitHubは、人によって仕組みや使い方を覚えるのに時間を要する時もありますが、一度覚えてしまえばチームで開発を行うにあたって作業効率が格段に上がるスゴいサービスです。

ところで、gitリポジトリ操作方法として、GUI (Graphic User Interface)とCUI(Character-based User Interface)の2パターンがあるのをご存知ですか?

それぞれを簡単に説明すると、

GUIは、図やグラフベースで、主にコーダーやフロントエンドエンジニア、マーケターがコードを簡易に管理する際に用います。一方CUIは、文字ベースで、主にデベロッパーやシステムエンジニアなどが使用します。

ほとんどのIT留学の学校では、初心者向けにSource Treeのような可視化できるGUIツールを使用しながらgitの操作を学習します。

しかし、フランジアのIT留学では実際の開発現場でエンジニアが使うCUIツールを学ぶことで、ターミナル上でのより実践的なgitの操作を習得することができます。

IT企業が提供しているIT留学のカリキュラムだからこそ、実際の開発現場で使われているサービスを私たちも授業内で使用することでより現場に近いスタイルで開発を経験しながら学習することができます。

開発進行に重要な◯◯作成

コードを共有し、プロジェクトを効率良く進めるツールがGitHubであると紹介しました。

しかし、プロジェクトを円滑に進めることだけに焦点を当てるのではなく、いかにプロダクトのバグ(エラー)を減らしカスタマーにより良い商品を提供するかということも考えなければいけません。

そこで開発と同時並行で作成しているのがテストケース

テストケースとは、作成したプロダクトが要件定義に記載した通り正常に動くのか確認するためのテスト方法をまとめたものです。

私たちは主に結合テストを作成していますが、他にも単体テスト・機能テスト・システムテストなど様々な種類のテストがあります。

例えば、入力必須のフォームに未入力のままで送信ボタンを押した場合、どんなエラーメッセージが出るのか?
また、Emailアドレス欄への入力時に@マークを入れずに送信したらどうなるのか?などの結果を想定しながら書き出します。

1ページの各機能に対する成功例と失敗例の両方を書き出すため必然的に情報量がかなり多くなりますが、テスト実行時にバグを確認しながらプロダクトを改善する流れにおいて非常に重要なステップの1つとなっています。

このように相手チームの結合テストを作成するため相手の要件定義を見て、矛盾した内容やミスを指摘・質問し合いながら書類作成を進めていきます。第三者の目が入ることで自分では気付くことができなかった点を発見すると同時に、誰が見ても理解できるような書類を作成することの重要性を感じます。

さいごに

IT知識ゼロで何も分からなかった最初の1ヶ月目と比べると、今一人でgitコマンドを打ったり、要件定義やユーザーテストを作成していることが本当に不思議に感じますが、この留学で学んだことが少しずつ自分の身になっていることを体感できるので、非常に嬉しく感じるのと同時に自信がつきました

さて、来週からグローバルIT留学3期生は3ヶ月目に突入します。
良いプロダクトを完成させるため、個人・チーム・クラス全体でラストスパートをかけたいと思います。

AHGS×フランジアのグローバルIT留学の詳細はこちら⇛ http://ガチ留学.com/global-it/