Gleyzer両氏によって共同開発されました。2019で、同言語の発表を行いました。InfoQはPurdy氏に言語と、氏らが解決を目指した問題について聞きました。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。_原文(投稿日:2018/10/04)へのリンク継続的デリバリーでは、コードを書きながら品質に重点を置く必要がある。全てのチームにテスターがいるわけではないが、もしいるなら開発者と密に仕事をして、開発者がユニットテストを作成するのを手助けしながら、ユニットテストでカバーできない少数のテストを自動化するコードを書くことになる。Morgan氏は、継続的デリバリーがテスターの仕事にどんな影響を及ぼすか語った。AgileについてQ&As、要約、記事で取り上げる。継続的デリバリーのパワーはすばやく本番環境で実験することだ、とMorgan氏はいう。これにより、プロダクトのアイデアをユーザーで迅速にテストし、結果に関するデータを収集することができる。ユニットテストではアプリケーションの大部分がテストされる。手動のテストはなく、自動化がテストを回している、Morgan氏は主張する。ハードニングフェーズはなく、最初から質を高める必要がある。Morgan氏は、テストの専門知識が必要な場合、専門家を連れてきても、テスト自体を書かせるのではなくチームと一緒に仕事をさせるよう提案した。チームは、専門家ではなくテストを所有するのだ。テスターがますます技術的になり、開発者がますますテストのことを知っていくと、やがて開発者とテスターの多くは区別がつかなくなる、Morgan氏は語る。継続的デリバリーがテストにどんな影響を及ぼすのか、InfoQはMorgan氏にインタビューした。変化は、作ってからテストフェーズに入るという従来のソフトウェア開発アプローチがなくなることです。継続的デリバリーでは、コードがソースコード管理にチェックインされ、デプロイメントパイプラインを流れると、すぐに本番環境へとデプロイされます。この大きな変化は、テストと開発は同時に行う必要があることを意味します。実際、私たちは通常、開発とテストを別の2つのアクティビティだと見なしません。テストは開発全体の一部にすぎません。この変化は、テストの自動化、デプロイメントの自動化、環境の自動化といった、ずっと高度な自動化に依存することも意味します。品質はたいてい、リリース直前のデプロイメントサイクルの最後に、検証/追加するものだと思われています。これはハードニングフェーズと呼ばれることがあります。継続的デリバリーでは、コードをチェックインするとすぐに本番環境に投入されるため、ハードニングフェーズは必要ありません。その代わり、コードを書くときは常に品質に重きを置く必要があります。私が働いているチームにとって、これはコードの書き方に対する根本的な変更でした。私たちは、ペアプログラミング/モビング、テスト駆動開発、ブランチの廃止、フィーチャートグルといったプラクティスを採用しています。開発者はこれまでよりずっと、テストと品質を意識しています。チームにテスターがいる場合、彼らは通常、少数のエンドツーエンド自動化と、探索テストにおける開発者とのペアリングに重点を置きます。非機能要件のテストは、テスターだけに属する従来のアプローチではなく、チームの「全員」に属します。非常に優れたチームでは、開発者とテスターとの間にほとんど区別はありません。多くの人がDevOpsと呼ぶものを使って、システムからリスクを引き出しています。ビルドパイプラインは、様々な方法でテスト全てを実行することでリスクを軽減し、セキュリティ、キャパシティ、コンプライアンス問題といった懸念に対するテストを実行します。Codeが使われています。ユーザーとプロダクトに対するリスクを軽減するために、小さな変更や実験のコントロールされたリリースが使われています。最初に言っておくべきことは、この新しい世界において、全てのチームにテスターがいるわけではない、ということです。テスターがいる場合、彼らは手動のテストスクリプトを実行しているわけではありません。代わりに、開発者がテストをピラミッドのより下方、ユニットテストまで持っていく手助けをしながら、ユニットテストでカバーできない少数のテストを自動化するコードを書いています。テスターは開発者と非常に緊密なコラボレーションループにいて、パイプラインの構築を支援します。デリバリー全体を通して、開発者とペアになって探索テストを実行しています。欠陥が見つかると、テスターは開発者とペアになって迅速に修正し、デプロイします。全ては開発者とのコラボレーションの中で行われます。私の経験上、継続的デリバリーでは、従来の「アジャイル」と呼ばれるものよりもずっと多くのテストが行われます。テストは開発ライフサイクルの最後ではなく、様々なタイミングで至るところで行われます。私たちはシステムの品質を認識するのに、自動化(主にユニットテスト)とパイプラインに大きく依存しています。テスターは開発者と密に仕事をして、品質が維持されていること、欠陥がほとんど発生しないことを確かめる必要があります。テスターは通常、上記のピラミッドにある「ユーザーテスト」に重点を置きます。開発者とペアになって、彼らのテスト能力の獲得と向上を手伝います。ビルドパイプラインの定義にも一役買います。セキュリティや負荷/パフォーマンステストのエキスパートといったテスト専門家が必要になるときもあります。このような場合、彼らはチームと相談して、パイプラインのそれらステージで実行するテストスクリプトを作成し、保守することになります。パイプラインは多くの点で、これまでの「テストフェーズ」に非常に近いものです。パイプラインは、コードをチェックインするたびに全てのテストを実行し、最終的にコードを本番環境にデプロイする場所です。パイプラインは全て違っていますが、チームごとによく見られるコアパターンがいくつかあります。チームが持っているステージの例を以下に示します。ユニットテストを構築し、実行する。静的コード解析を実行し、品質が達成されなければ失敗する。作業中のフィーチャートグルをすべてオンにしてデプロイし、未リリースの振る舞いに重点を置いたテストだけを実行する。自分たちのコントロール外にあるバックエンドシステムは、すべてモック化しなくてはならない。作業中のフィーチャートグルをすべてオフにしてデプロイし、リグレッションのために残り全てのテストを実行する。テストは高速に実行でき、パラレルに走らせる必要がある。自分たちのコントロール外にあるバックエンドシステムは、すべてモック化しなくてはならない。トグルをオフにしてデプロイし、複数のブラウザやデバイスでテストの一部を実行する。バックエンドはモック化しなくてはならない。トグルをオフにしてデプロイし、モックなしにほんの一部のテストを実行する。これにより完全なインテグレーションが適切に機能することを確かめる。静的および動的セキュリティテストを実行する。負荷およびパフォーマンステストを実行する。コンプライアンステストを実行し、追加の運用前コンプライアンスタスクに対処する。本番環境にデプロイする。どこかのステージが失敗すると、パイプラインは停止します。私が話す企業の多くは、継続的デリバリーを採用しつつあると言います。理由をたずねると、たいていは高速なデリバリーや品質改善について話します。これらも良いゴールではありますが、もっと重要なメリットがあると思います。私が思うに、継続的デリバリーを採用する一番の理由は、プロダクトを計画して届ける方法を変えることです。継続的デリバリーによって、労力がかかり推測を含む長期のプロダクトロードマップをなくして、代わりにもっと「リーンスタートアップ」アプローチをプロダクトデザインに採用することができます。私たちは正しいプロダクトを届けるために、実際のユーザー体験に基づいてすばやく軌道修正することができます。私はここに重点を置くべきだと思っています。この道を進もうとする企業は、DevOpsは全ての問題に対する解決策ではない、ということを理解しなくてはなりません。DevOpsは重要な要素ですが、高品質な開発と組み合わせる必要があります。実際、私はまず品質を劇的に改善することに重点を置くことを提案します。これにはある程度時間がかかると思います。うまく進んできたら、継続的インテグレーションの追加を検討します。これにより、開発者はビルドプロセスで迅速なフィードバックを得ることができます。あなたは徐々にそれを、本格的なデプロイメントパイプラインへと拡張することがきます。品質のカルチャーが組織に根付いたら、DevOps自動化を追加して、日に何度もデリバリーできるようになるでしょう。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員��して、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。