エンジニアの転職

チーム開発とは?難しさや大事なことなどを徹底解説【初心者必見】

投稿日: ※本記事は[プロモーション]が含まれています

チーム開発とは?難しさや大事なことなどを徹底解説【初心者必見】

こんにちは!はじめまして!!
私は、モバイルアプリ開発から、AWSを中心としたサーバサイドの開発まで幅広く経験している現役エンジニアです。エンジニア歴を計算してみると2007年から17年目のエンジニアをしており、エンジニアの楽しさも大変さも身をもって経験しています。

現役エンジニアの私が、今までのエンジニア人生でのOJTの経験や新卒教育に関わらせていただいた経験から、

「エンジニアとして成功している人ってどんなスキルや経験を積んだ人なの?」

をお伝えしたいと思います。

この記事を読んでいる人は、未経験者の人が多いと思いますので、

  • エンジニアってプログラミングができればなれるんじゃないの?
  • プログラミングを勉強してみたけど本当にシステム開発ができるか不安。
  • エンジニアって決められた仕様でプログラミングするだけなのになんで忙しそうなの?

というようなことを疑問に思っている人がほとんどかと思います。

この質問の答えを先にいうと、プログラミングができることやシステムの技術的な要素を知っている・扱えることはエンジニアに必要な1要素にしか過ぎません。

時にはプログラミングスキルよりも、いろんな人と正しくコミュニケーションをとることがプログラミングスキルよりも大事だったりします。

なぜなら、システム開発は1人ではなく複数人で構成されたチームで開発することが多いからです。

開発チームも複数チーム(フロントエンドやバックエンドなど)で開発することは多いですし、開発チームだけでなく、デザイナーチームや統括するプロジェクトマネージャー、顧客、システムを使って運用をするチームなど、開発チーム以外のチームや人とも関わっていく必要があります。

この全ての人と正しくコミュニケーションが取れないと、正しく動かない(顧客にとっては意味のない)システム開発に時間を費やす結果となり、プログラミングやシステム設計に使っていた時間が無駄(手戻り)になってしまいます。

それでは、プログラミングよりも大事かもしれないエンジニアに必要なチーム開発のためのコミュニケーションスキルやツール、そのスキルの磨き方を「チーム開発とはなにか?」を説明しながら解説していきます!

スキルアップにおすすめのプログラミングスクール【3選】

DMM WEBCAMP 学習コース(旧:SKILLS)
DMM WEBCAMP 学習コース
TechAcademy(テックアカデミー)の公式サイト
TechAcademy
COACHTECH(コーチテック)の公式サイトへ
COACHTECH(コーチテック)
高い継続率を誇るオリジナルカリキュラム!転職・副業サポートが充実!メンターは【全員が現役エンジニア!】コスパも良いので迷ったらここフリーランスエンジニア特化!オーダーメイドカリキュラムで挫折しない
169,800円(税込)〜174,900円(税込)〜440,000円(税込)〜
転職/副業サポートあり転職支援サービスあり案件保証サービスあり
→ 無料相談→ 無料体験→ 無料カウンセリング

最短でエンジニアスキルを習得する!
もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。

おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!

チーム開発とは

チーム開発とは

一つのシステムや同じ機能の開発に複数人で取り組むことをチーム開発といいます。

通常、ユーザ操作をするためのスマホアプリやWebアプリのフロントエンドの開発、ユーザが操作したデータの受け渡しをサーバ側で効率的に行うためのバックエンドの開発、AWSやAzureなどのインフラ開発など、それぞれの専門チームごとにチームが結成されそれぞれで開発を行います。

もちろん、小規模なシステムの場合、フロントエンドからバックエンド、インフラ構築までフルスタックエンジニアとして1人で行う場合もありますが、1人で行った場合、病気などの場合に対応できなくなるなどのリスクもありますので、フルスタックエンジニアが1人で開発するようなシステム開発の現場は少ないです。

特に未経験者が関わるシステム開発は、先輩エンジニアのいる複数人のチームで同じ機能を開発することが多いと思います。

この章ではチーム開発で必要なスキルと、チーム開発を進める上での難しさやポイントを説明します。

チーム開発に必要なスキル・ツール

チーム開発に必要なスキル・ツール

スケジュール管理能力

チーム内の一人一人ががそれぞれ別々に開発したものは、チームのアウトプットとしてひとまとめにします。そのため、チームで決められたスケジュールを一人一人が守って作業する必要があります。

また、チーム開発を進めていると、例え一人一人が期限を守って作業をしていても、計画時に取りこぼしていた作業などが発生します。そのため、計画時に決められたタスクを進めるだけではシステムとして成り立たないことが多く、チームの中のスケジュールの進捗状況を把握して進捗状況が悪い人をサポートしたり、進捗状況のいい人は割当たっていないタスクを進めてもらったりと、リーダー的な役回りをする人が必要になってきます

スケジュールは、WBS(Work Breakdown Structure)やガントチャートという情報にまとめられ、チーム全体の状況が全員がわかるように可視化して管理することが多いです。

認識齟齬に気づき是正できる能力

チーム開発中は、会話の中の文脈によって同じ言葉でも違う意味に取られる事態が度々発生します。

そのため、面倒でも時々「このドキュメントのこの図のこの部分の話をしている」と、お互いの話している対象が同じかの確認をおこなうことで、この認識齟齬を解消することができます。

特に、他のチームと話をする時はこの点に注意して、一つ一つのことを確認をする必要があります。なぜならば、開発している対象が違うため同じ言葉でも違う対象のことを話していることがあるからです。

例えば、「データ」と一言に言っても、サーバ側にあるDBにある「データ」なのか、スマホアプリが内部的に保持している「データ」なのか分かりません。そのため、サーバーの開発をしている人とスマホアプリを開発している人での打ち合わせでは、話が噛み合っているように見えても実際はそれぞれ違うことを言っている場合があります

チーム内外の認識齟齬を解消させるための補助的なツールとして、下記のようなツールを使ってタスク管理やアウトプットの管理をして開発することが多いです。

  • 構成管理ツール(GitHubやGitLabなど)
    →ドキュメントやソースコードをバージョンで管理する
  • チケット管理やかんばん管理ツール(Jira, Redmineなど)
    →それぞれの人が進めているタスクをチケット単位で管理する

開発環境の統一

チームで開発する場合、後ほど1つのシステムとして動かす必要があるため、同じ言語や同じ言語のバージョンを揃えるなど、開発する環境をチーム内で統一する必要があります。

チーム内で開発環境を統一していないと、1つのシステムにまとめた時に、一部が動かないなどの不具合が後々生じてしまうためです。

開発環境の一番簡単な統一の仕方は、Readme(リードミー)などの開発環境を作るためのドキュメントを用意して、同じ操作で開発者それぞれのPC上で動く開発環境を構築することです。

また、構成管理ツール(GitHubなど)を使って、それぞれが開発したコードを一緒にするツールを導入してベースのソースコードを一緒にして開発することもします。

最近では、Dockerでの開発環境の統一や、クラウド上で動作するIDE(統合開発環境)を用意し、ローカルPC環境の差異をなくすやり方をとっている現場も多いです。

チーム開発の難しさ

チーム開発の難しさ

スケジュール管理能力など、ツールを使ってチーム開発を進めているのに開発の成功率は約30%といわれています。

様々な要因はありますが、チームの規模が大きくなることで「統制をとってチーム内外のコミュニケーションが難しくなる」ことも、要因のひとつとして挙げられます。

昨今では、リモート環境での開発チームも多く、コミュニケーションが食い違ったまま気づかないまま開発が進み、開発したものを結合してテストとした時に齟齬に気づくようなケースもあるのではないでしょうか。その時は納品まで日にちがない状態…。

「あれ?ちょっと話が噛み合っていないかも」

と思った時に、めんどくさいけども少しでも確認するような声がけをすることで齟齬に早く気づくこともあるかもしれません。

また、チームで開発するためのルールを決めて正しく運用していても、うまくチームで開発が進まないこともあります。

こういう場合は、チームメンバーの関係性に目を向けてみてもいいかもしれません。

ヒントとして「Team Geek」というチーム開発について書かれた書籍の中で「優れたチームが優れたソフトウェアを作るのに必要な三本柱」として紹介されているエンジニアのマインドセットを紹介します。

「Humility(謙虚)」
「Respect(尊敬)」
「Trust(信頼)」

この頭文字をとってHRTとよばれます。

自分が関わっている開発チームや、関わる他のチームの間でHRTを軸とした行動やコミュニケーションが取れていれば、きっと良いチームで、次々生じる問題や課題にも立ち向かえるチームづくりができていると思います。

私も長年エンジニアとして現場で開発していますが、相手への尊敬や自分への謙虚さを見失ったことにより、チーム内外の信頼関係が崩れていく経験をしたことがあります。

思った成果が出せないな、というときはこのHRTを思い出し、

「自分が見落としている何かがあるかもしれない(謙虚さ)」
「相手は自分が気づかないことに気づいてくれる(尊敬)」
「あのチームが約束したことは守ってくれる。こちらも守らないと(信頼)」

と忙しさにかまけて、ほんの少しのスケジュール遅れを許容したり約束の反故をしそうになったりすることを、”いかんいかん”と襟を正して活動することも多いです。

私自身、HRTのマインドセットを知ってマインドセットに即した行動指針に変えたところ、自分だけが大変で忙しい、損していると感じることが少なくなりました。

むしろ、めんどくさいと思っていたレビュー指摘対応も、他の人が気づいてくれたから不具合が減った、という風に、チームで開発しているメリットとして捉えられるようになりましたので、おすすめです。

OJTをした経験から

OJTをした経験から

余談として、OJTの教える側の経験や他の人のOJTの経験からみたチーム開発について話したいと思います。

いずれの方も、最初はチーム開発に必要なコミュニケーションの取り方がわからないまま進めていたため、開発が思ったように進まなかったり、孤立していたりとチームに貢献できていなかったのですが、「必要なスキルや自分のやれる事をした」結果、チームに良い成果・結果をあたえることができました

文系大学卒のAさん(23歳)の場合

文系大学卒のAさん(23歳)の場合

開発現場のOJTにはよくあるのですが、プログラミングの経験やシステムの理解が少ない新人は、テストから開発経験をスタートする場合があります。自分が担当する現場で開発しているシステムの設計書・仕様書を読み、システムのテスト項目を作ったり、テストを実施していきます。

未経験エンジニアの1年目に必要な知識やスキルとは?業界3年目のSEが解説【体験談】

文系大学卒のAさんは、会社の新人カリキュラムを一通りこなした後、はじめての配属先が決まりました。しかし、その時丁度よい開発(コーディング)のタスクがなく、文系出身でプログラミングのスキルも他の新人よりも経験がなく低かったため、納品の近いシステムのテストの実施担当にアサインされました。

文系の学部出身者がIT業界に転職をして、長く働くポイント

私は、AさんのOJTの教育担当ではなかったので、教育プランの概要程度しか把握していなかったのですが、たまたまAさんとランチをした時に話をしたところ、

「テスト仕様書に書いてあることがなんで必要なのかわからない。決まったことをしているだけでつまらない。もっとプログラミングスキルを磨いてシステム開発に携わりたい」

という相談を受けます。

やっていることを聞くと、納期も近いためテストを進めるためのこと以外はあまり教えられておらず、Aさん本人からも他の資料にアクセスしようとはしていませんでした。

そのため、テスト仕様書やテストする対象のバイナリファイル以外の情報がないまま、納期に追われてシステムを深く理解しないままテストを進めている事がわかりました。

たまたま、私も一時期開発を手伝っていたシステムだったため、資料の場所やGitHubのリポジトリを知っていたこともあり、GitHubの使い方、バイナリファイルの元のソースコード、テスト仕様書を作ルためのインプット資料のシーケンス図などを、さっと伝えました。

私が教えた情報により、テスト仕様書の背景には「Aさんが学びたかったシステム開発の理解や、プログラミングスキルを向上させる情報がいくつもある」ことに、Aさん本人が気づきました。

それまでは、業務のほとんどを「テストを消化するだけの時間」に費やしていたAさんですが、この事をきっかけにテスト項目やシステムの構成に疑問をもち、そのドキュメントを書いた先輩エンジニアに質問をしに行くことで疑問を解消し、テストしているシステムの中身についても徐々に詳しくなっていきました。

Aさんはシステムに詳しくなったことで、テスト仕様書から抜けているテスト項目にも気づいたりと、チームに貢献できるようになりました。

専門学校卒のOさん(20歳)の場合

専門学校卒のOさん(20歳)の場合

私とひと回り以上も年齢の離れたOさんのOJTをした時の話です。

Oさんは新卒研修を終えた後、適当に参画できるプロジェクトがありませんでした。加えて、専門学校の卒業研究でAndroidアプリの開発の経験をしたものの、公式ドキュメントの読解能力や仕様書の読解能力が低く感じられたため、プロジェクトにはつかずに擬似プロジェクトの課題を与えてOJTをしていました。

最初は、ちょっとしたプログラムの課題を与えても調べ方が悪く、明後日の方向に課題解決をすることが多かったのですが、基本情報技術者試験レベルの単語を覚えるようにしてもらい、GitHubの使い方を教え、公式ドキュメントの読み方や調べ方を教えたところ、徐々に公式のドキュメントやGitHubに公開されているソースコードを読めるようになりました。

新人エンジニアがするべき4つの勉強法を解説!【できるITエンジニア】になろう!

エンジニアとしての基礎的な知識や調べ方を身につけたことによって、

  • その人が知っている情報は何か?
     →どういう情報を伝えれば、伝えたいことが伝わるのかが分かるようになった
  • その人にどういう情報を聞けば、自力で調べることができるのか?
     →その人が知っていることと自分が知らないことの差が分かり、必要な情報の聞き出し方ができるようになった

を捉え、OJTの私やその他の先輩エンジニアに相談・質問することで、最初は解決できなかった課題も進める方向を見失うことがなく正しく解決できるようになりました。

このレベルになってから通常のチーム開発に参加したので、新人エンジニアにありがちな「間違ったまま進める」「GitHubに適切なコメントを入れずにコミットする」などのミスも少なく、周囲からもOさんの同期の新人より高い評価を聞くことができました。

新人エンジニアあるあるを解説【きつい・つらいと悩む方は必見】

このように、チーム開発では、プログラミングのスキルだけでなくコミュニケーションを正しく取るための用語やツールの使い方も重要になってきます。

Oさんのエンジニアとしての基礎力を養うためにOJTとして指導したことをまとめると、以下の通りです。

  • コミュニケーションを正しく取るための標準的な言葉を知ること(基本情報技術者試験やITパスポートレベルの用語)
  • GitHubを利用したり、公式ドキュメントの読み方や調べ方を知ること。このことによりオープンソースのコミット履歴をみることで一般的な作法(コミュニケーションミスを起こしにくい所作)を学無ことができた

まとめ

エンジニアには、プログラミングスキルやシステムに対する知識以外にも、チームで開発を進めるためのコミュニケーションスキルや、ツールの操作方法も必要になります。

今回の記事で必要な情報をまとめます。

<必要な能力・ルール>

  • スケジュール管理能力
  • 認識齟齬を是正する能力

<利用するツール>

  • 構成管理ツール(GitHubなど)
  • チケット管理/かんばん管理ツール(Jira、Redmineなど)
  • Docker、IDEなど(開発環境の統一)

<必要なマインドセット>

  • Humility(謙虚)
  • Respect(尊敬)
  • Trust(信頼)

特に、HRTのエンジニアのマインドセットが身につくと、チーム開発が楽しくなりますので、早いうちに見つけることをおすすめします。

さて、これらを身につけるためには、どうしたらいいのでしょうか?

OJTの事例のように「実際の開発現場で身につける」という方法もありますが、効率よく学べるかは「配属先のOJTの担当者や現場の状況によりけり」というのが実情といえます。※実際、エンジニア志望の若手のうち教育が不十分で3割しか残らない会社も多くあります

また、チーム開発のスキルやプログラミングスキルなどに対して自信が持てていない状態だと、先輩エンジニアと話すことに対して億してしまい、良い関係性が作りにくい場合があります。

未経験の方であれば、チーム開発のスキルも一緒に学べるプログラミングスクールの受講がおすすめです。チーム開発は独学や自力では身につきにくい経験・スキルになりますので、ぜひご検討いただければと思います。

もう一度「チーム開発とは?難しさや大事なことなどを徹底解説【初心者必見】」を読む ↑

チーム開発が学べるプログラミングスクールおすすめ5選!

ここでは、チーム開発がカリキュラムに組み込まれたおすすめプログラミングスクールを紹介します。

DMM WEBCAMP エンジニア転職

DMM WEBCAMP エンジニア転職公式サイト
出典:DMM WEBCAMP エンジニア転職
おすすめポイント・強み
  • 実践的なカリキュラムで転職を確実なものに
  • 現役エンジニアによる徹底した学習サポート
  • 企業からも大好評なビジネス研修がある

DMM WEBCAMP エンジニア転職では、他のエンジニアやWebデザイナー・ディレクターなど、様々なメンバーとチーム開発をおこなうことが可能です。開発工数やスケジューリング、コミュニケーションなど、実際の開発現場に近い経験を積めるため、転職活動でも即戦力をアピールできます。

成功率98.8%!【転職保証付き】のプログラミングスクール

DMM WEBCAMP エンジニア転職

DMM WEBCAMP エンジニア転職
未経験でも3ヶ月でエンジニアを目指す、転職保証付きスクールです。転職できなければ全額返金も

DMM WEBCAMP エンジニア転職の[公式サイトへ]

テックキャンプ エンジニア転職

テックキャンプ エンジニア転職の公式サイト
出典:テックキャンプ エンジニア転職
おすすめポイント・強み
  • 実践レベルまで高めた質の高い学習カリキュラム
  • 専属ライフコーチや講師による徹底的な学習サポート
  • マンツーマンのキャリア支援で転職を徹底サポート

テックキャンプ エンジニア転職では、『通学プラン』のみチーム開発を経験することが可能です。実際にあるサービスのコピーサイトを、同期とチームを組んでアジャイル開発で進めていくため、実践に近い経験を積むことが可能です。

最高の学習環境と厳選したカリキュラムによる600時間短期集中プログラム

テックキャンプ エンジニア転職の公式サイト

テックキャンプ エンジニア転職
30代以上でも受講可能なスクール。エンジニア転職に向け実践的なカリキュラムでスキルを身につけます

テックキャンプ エンジニア転職の[公式サイトへ]

ポテパンキャンプ

ポテパンキャンプの公式サイト
出典:ポテパンキャンプ公式サイト
おすすめポイント・強み
  • 実践的な課題とレビューで現場で通用するスキルがつく
  • オンラインでも挫折せずにやりきれるサポート体制
  • Webエンジニア輩出No1のカリキュラムで転職を確実

ポテパンキャンプでは、実際の現場を想定して、入社から開発を行うまでの『模擬開発』をおこなっています。開発環境の構築やコードリーディング、Gitを用いた『チーム開発』やRspecを使用してのテストまで、網羅的に経験することが可能です。

この模擬開発を『2ヶ月間』かけておこなうことで高い自走力を身につけ、就職・転職の内定率アップを実現しています。

Webエンジニア輩出No1!実践的カリキュラムで転職を確実に

ポテパンキャンプの公式サイト

ポテパンキャンプ
Rubyを現場で通用するレベルになるまで学習できる。自社開発・自社サービス企業への転職支援も手厚い!

ポテパンキャンプの[公式サイトへ]

ディープロ(旧:DIVE INTO CODE)|4か月短期集中コース

ディープロ(旧:DIVE INTO CODE)の公式サイトへ
出典:ディープロ(旧:DIVE INTO CODE)公式サイト
おすすめポイント・強み
  • 「本気」なら経験や年齢関係なし!40代未経験での転職実績あり!
  • 即戦力エンジニアなるための実践的なスキルを習得!
  • 国の給付金制度を利用してキャッシュバックを受けられる
    ※最大45万円!

ディープロでは、同期の受講生同士による『チーム開発』がおこなわれます。オリジナルアプリケーションの開発を通して、要件定義や同期生とのペアプログラミング、現役エンジニアによるコードレビューなどを経験し、Webエンジニアとしての思考力を習得します。

実践的なカリキュラムでプロのWebエンジニアを目指す

ディープロの公式サイトへ

ディープロ(旧:DIVE INTO CODE)
本気であれば年齢・性別など関係なく学習可能。転職・就職やフリーランス・独立などの実績も豊富なスクール

ディープロ(旧:DIVE INTO CODE)[公式サイトへ]

COACHTECH(コーチテック)

COACHTECH(コーチテック)の公式サイトへ
出典:COACHTECH(コーチテック)公式サイト
おすすめポイント・強み
  • 業界初の案件保証サービス『COACHTECH Pro』!
  • 挫折率3%!現役エンジニアの専属コーチがしっかり伴走!
  • フリーランス・転職までのキャリアを徹底的にサポート!

COACHTECH(コーチテック)が提供する案件保証サービス『COACHTECH Pro』では、チームによる案件開発を経験できます。単にプログラミング業務だけをおこなうのではなく、要件定義や顧客対応、納品など実際の業務を一連の流れで経験することが可能です。

フリーランスエンジニア特化のプログラミングスクール!

COACHTECH(コーチテック)の公式サイトへ

COACHTECH(コーチテック)
現役エンジニアによるコーチングで、未経験でも挫折することなくフリーランスを目指すことできます

COACHTECH(コーチテック)の[公式サイトへ]

もっと多くのプログラミングスクールの中から比較したいという方は、「おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!」という記事を参考にしてください。

おすすめプログラミングスクール比較11選!社会人・未経験の転職・就職にも有利!

転職付き(転職保証型)のプログラミングスクールの詳細を知りたいかたは、「【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!」をご覧いただき、自分の目標や目的にぴったりのスクールを見つけてくださいね。

【無料あり】転職支援・保証型プログラミングスクール比較11選!社会人・学生さんの就職に強い!

-エンジニアの転職
-, , , , , , , , , , ,

関連記事

インフラエンジニアの転職―キャリアパスの探求から転職エージェント活用術まで徹底解説!

インフラエンジニアの転職―キャリアパスの探求から転職エージェント活用術まで徹底解説!

現役エンジニアが語る、転職の現実と可能性 私は現役のインフラエンジニアとして、10年以上にわたりIT業界で働いてきました。 この長い間、技術の進化とともに業務の変化を経験し、多くの挑戦と成功を重ねてき …

あなたは今、「受託開発/自社開発・サービス」会社のどちらで働いてますか?

受託開発・自社サービス会社のやりがいやメリットを教えてください|現役エンジニアにアンケート!

本記事は、 受託開発会社で様々な案件を経験する事で場数を増やし、エンジニアとして成長したい! 自社サービス(自社開発)会社で新しい技術を身に付けながら、サービスを育てていきたい! もしくは、 受託開発 …

女性のキャリアプラン〜理想的な働き方を実現する方法を解説!

女性エンジニアのキャリアプラン〜理想的な働き方を実現する方法を解説!

ド文系未経験でIT業界に入り、 絶望の後にIT業界内で転職した筆者が考える、 「女性エンジニアの理想的なキャリアプラン」と、 その実現方法! こんにちは。今回は全くの未経験からIT業界に入り、業界調べ …

未経験・ 学生必見!失敗しないWeb制作会社の選び方!

失敗しないWeb制作会社の選び方【フリーランスエンジニアを目指す未経験・学生必見】

みなさんの中には将来、身につけたプログラミング技術を活かして「フリーランスでお金を稼いでいきたい!」と思っているエンジニア志望の未経験者や学生の方もいらっしゃるのではないでしょうか。 「でも技術が足り …

ノートパソコンでプログラミングするイメージ

業務系プログラマー(常駐フリーランス)の1日|その仕事内容やスケジュール、生活スタイルとは?

トモヤさん(仮名) のプロフィール 年齢 40代 性別 男性 会社の業種 銀行業務系、保険業務系、薬局業務系、物流。現在はフリーランス 担当の職種 業務系プログラマー(VB.netやC#)。現在は業務 …

[PR]:
お得なキャンペーン中!!

転ストの中の人

  • 運営者のstaff H
  • 運営者のstaff M

エンジニア歴15年のstaffHとWebデザイナー・ディレクター歴20年のstaffMの2名が中心となりこのサイトを運営しています。転職/就職やフリーランスへの転向、未経験からのプログラミング学習など、これから”新しい一歩を踏み出そうとしている、エンジニア・クリエイター”に役立つ情報を発信しています。

プロフィール詳細 / Twitter
[PR]: