Your view on the pros en cons of working in an Agile environment~エンジニアの英語面接対策~

your-view-on-the-pros-en-cons-of-working-in-an-agile-environment

どうも、ヤバWEBです。

さて、このブログではたまーに

エンジニアの英語面接対策

を自分用メモ程度に記事にしております。

このシリーズの記事はこちらをご覧ください。

=> 「エンジニア英語面接対策」の記事一覧

今日の想定質問はこちら

“Your view on the pros en cons of working in an Agile environment”

ではその回答を書いていきます。

アジャイル開発についての賛成・反対意見

今回の質問を直訳すると

あなたのアジャイル開発についての賛成・反対意見について教えて下さい

のようになるかとおもいます。

まずはアジャイル開発とはなにかについて簡単に説明できればと思います。

アジャイル開発とは

アジャイル開発は簡単言えば

システム開発フローのひとつ

です。

システム開発していく上で有名なフローとして他に

ウォーターフォールモデル

というものがあります。

ウォーターフォールによる開発は

最初にシステムの全体の機能設計・計画を決めて、
その計画に従って開発・実装していきます。

対して、アジャイル開発では

ウォーターフォールのように全部決めてから動くのではなく
小さい単位で機能の実装とテストを繰り返して開発を進めていくスタイルです。

このアジャイル開発は

最初に機能が全部決まっていないようなプロダクトの開発に向いてます

ユーザーの反応をみながら変更を加えていくようなプロダクトです。

今ではほとんどの(イケてる)WEBサービスはアジャイル開発で実装されていってるのではないでしょうか?

全部作ってハイ!終了!みたいなプロダクトはウォーターフォールのように

最初に綿密に計画を立てて開発していく方がむいてます。

アジャイル開発の種類

アジャイル開発はさらにいくつかの手法に分かれます。
代表的なものだけとりあげて簡単に説明します。

スクラム

スクラム開発はアジャイル開発の中でも有名です。

  • メンバーが自分たちで開発を立案
  • イテレーション(短い感覚で反復しながら行われる開発サイクル)ごとに開発の進捗・成果物を確認

といった流れで開発を進めていきます。

メンバー間のコミュニケーションが重要になってきます。

エクストリーム・プログラミング

エクストリーム・プログラミング(XP)は事前に立てた計画よりも

途中で変更することを前提にした柔軟性を重視する開発手法です。

これには技術力が重視されるのでプログラマーメインの開発手法と言えます。

ユーザー機能駆動開発(FDD)

ユーザー機能駆動開発(Feature Driven Development)は、
機能ごとに反復的に開発を行う手法です。

ユーザーにとって便利な機能(Feature)という観点で開発が進められます。

アジャイル開発とは | 他のソフトウェア開発手法との比較・違い・メリット

アジャイル開発のメリットとデメリット

アジャイル開発のメリット・デメリットについても簡単に整理しておきます。

アジャイル開発のメリット

アジャイル開発は他の開発手法と比較すると以下のようなメリットがあります。

  • ウォーターフォールと比較すると修正が効きやすいので時間やコストを低く抑えられる
  • ユーザーの反応をみながら機能追加/変更がしやすい

アジャイル開発のデメリット

アジャイル開発は他の開発手法と比較すると以下のようなデメリットがあります。

  • 最初に綿密に計画を練らないため開発の方向性がブレやすい
  • スケジュールの進捗具合が把握しづらくコントロールが難しい

A. “Your view on the pros en cons of working in an Agile environment”

そて、それでは今回の質問に英語で回答していきます。

I like an agile environment especially for creating web services.
There are two props of the agile process.
Firstly, it avoids going in the wrong direction without the customer understanding what will be delivered.
Because the team builds iterations of the product so the customer has a chance to see the project come together and react accordingly.
Secondly, we can reduce the cost and time.
Because it is more flexible than using the “waterfall implementation” style.

But the agile style also has downsides.

Firstly, the direction of development is easy to blur.
So we should share the goal of the product.
What does the product want to accomplish?

Secondly, it is hard to check and control the schedule.
I think It is better to have weekly regular meeting to check the progress of the product.

ref: What are the pros and cons of working in Agile projects?

うーん、文章が長くなると同じ言い回ししかできなくて

微妙かもですねw

もっとうまく表現したいw