チーム開発に使用するツール

この記事は、私がかつて本物の同僚とやっていたように、チームで自分自身を試すことにした開発者にとって興味深いものです。 新しいことは何も伝えません。控えめな経験を共有するだけで、コメントで同じことを誰かに押してくれることを願っています。



一人で作業するときは、簡単なノートブックでできます。 コードを書くためのメモ帳++およびメモ用の鉛筆を使った紙切れ。 もちろん、誇張しますが、実際にはそうです。 チーム開発では、状況は少し異なります。



プロジェクト管理システム


ここでは、プロセスの他の参加者と絶えず通信する必要がありますが、通信の履歴が保存され、便利なアクセスが必要です。 これを行うには、 プロジェクト管理にサービスとWebアプリケーションを使用します。 私たちの場合、これはRedmineです。 その前に、彼らはTeamLabを試しました。 サーバーにインストールするためのSAASバージョンとWebアプリケーションの両方があります。 しかし、後者はどういうわけか定着しませんでした。 現在、多くの同様のツールがあり、有料とオープンソースの両方があります。 開発者間でタスクを分散し、優先度を設定したり、費やした時間を追跡したりするのに役立ちます。



役割管理についても言いたいと思います。 そのような役割ごとに、アクセス権を個別に構成できます。 特別な場合を考えてみましょう。 デフォルトでは、redmineにはレポーターの役割があります。 問題の解決に参加せずに発見された問題のみを報告する人。 このロールを持つユーザーには、自分が参加しているプロジェクトのみが表示されるように設定します。 そのため、開発プロセスに直接顧客を関与させることができました。 バグを発見したり、改善したい場合は、レッドマインに入り、適切なトラッカー(エラー、改善、開発またはサポート)を使用して自分でタスクを追加します。 もちろん、マネージャーはこれをすべて管理し、必要に応じて修正し、各クライアントとのトレーニングを事前に実施します。 Q&Aプラグインを使用して、それらの手順を記述することもできます。



彼らが言うように、彼らは服に出会う。 そのため、一見したところのレッドマインは印象的ではなく、JIRA、ベースキャンプなどの有料版に比べて鈍いように見えます。 これは、opensorceでよく発生します。 しかし、redmineには、 A1などの高品質の美しいテーマがあります。



Redmineは、 無料の RedmineCRMプラグインを使用して、ほぼ完全なCRMに変換することもできます。このプラグインは、無料の請求書 (アカウント)、 財務 (財務)、および (人)とともに、連絡先、トランザクション、メモを追加し、インターフェイスから直接メッセージを送信します。



同じメーカーには、カスタマーサポートを整理するためのヘルプデスクプラグインもあります。 それは支払われますが、高価ではありません-156ドルから。 もちろん、これは市場で最高のソリューションではありませんが、その間違いない利点はredmineとの完全な統合です。



バージョン管理システム


チーム開発にもバージョン管理の問題があります。 2人の開発者が同時に同じファイルを開いて編集を開始すると、結果を保存するときに問題が発生することは避けられません。 2番目は、最初の変更を単に上書きします。 このような状況を回避するために、SVNやGITなどのバージョン管理システムがあります。 これは、チーム開発においてもう1つの不可欠なことです。



SVNには(GITにも疑いの余地はありませんが)非常に便利なフックがあります-特定のイベントで起動するスクリプトです。 これらには、コミット後が含まれます。 このフックは、コミットの実行時に、編集されたすべてのファイルをサーバー上の指定された場所にダウンロードします。 これは、たとえばレイアウトを操作する場合に非常に便利です。 彼はレイアウトを作成し、コミットし、顧客にリンクを提供しました。 彼がバグを見つけた場合-修正し、コミットし、確認できると答えました。 サーバーへのアーカイブのアップロードはありません。大量の編集には時間がかかります。



IDE


日常的なアクションの自動化について話し始めたので、 IDEに言及しないのは間違っています-(統合開発環境-統合開発環境)。 奇妙なことに、多くの開発者、特にプログラマーは、メモ帳++などのプリミティブソフトウェアを使用しています。 私はこのプログラムに対して何もしていません。何かをすばやく編集する必要があるときは、自分でよく使用します。 すぐにロードされます。これは間違いなくプラスです。 しかし、日常の使用に関しては、そのようなミニチュアアプリケーションは、すべての利点を備えた本格的なIDEに取って代わるべきです。 個人的には、PHPStormを使用しています。 私の意見では、最も有用な機能のみをリストします。







言うまでもなく、PHPStormはPHPプログラマー専用に設計されています。 別の言語で作業する場合は、 このページで同じ開発者(JetBrains)から必要なIDEを選択できます。 現時点では、次のプログラミング言語用のプログラムがあります。







クラウドデータウェアハウジング


テキストファイルに加えて、チームで作業するときは、バイナリファイル(画像など)を交換する必要があります。 これらの目的のために、バージョン管理システムはほとんど意味をなしません:競合が発生した場合、2つのファイルのマージに失敗し、多数のリビジョンがあるとリポジトリが巨大になります。 多くの場合20メガバイト以上の重量のPSDファイルの場合、この問題は一般に重大になります。 したがって、そのような目的には、 クラウドベースのデータウェアハウスの方が適しています。 Dropboxを使用します。 このサービスには非常に価値のある代替手段があります。Googleドライブには、ファイルのアクセス許可を配布するための優れたシステムなど、多くの利点があります。 これは、プロジェクトの資料へのアクセス権を誰かに与える必要があるが、編集できない場合に非常に便利です。 しかし、残念なことに、私たちがチームのためにそのような楽器を選んだとき、後者は単に不名誉なことでした。 それで、少し苦しみ、それを吐き出し、Dropboxに切り替えました。



また、Dropboxを使用して設計をお客様に示しています。 これは非常に便利です。レイアウトのPNGプレビューを別のフォルダーにアップロードし、[リンクを共有]をクリックして、 そのようなギャラリーとのリンクを取得しました。 画像はPNGにアップロードする必要があります。これは、dropboxがJPGレイアウトをさらに圧縮し、品質が非常に低下するためです。 この方法で顧客に設計を実証する主な利点は、同じリンク上に最新バージョンのレイアウトが常に表示されることです。 たとえば、デザイナーはレイアウトを変更し、プレビューを更新し、以前に顧客に与えられたリンクによってギャラリーで更新されました。 ブラウザーでページを更新するように顧客に伝えるためだけに残ります。






もちろん、このリストは展開および展開できます。 したがって、コメントの中で、同僚がチーム開発の最適化に関する秘密を共有してくれたら嬉しいです。



All Articles