トランスクリプト
|
| こんにちは私はAuroraTiffany-Davisです。 |
| JMPライブチームと今日はお話ししたいと思います |
| JMPLiveチームでソフトウェアを開発する方法。 |
| まず、ソフトウェア開発の様子を想像していただきたいと思います。 |
| あなたが好きです。 あなた自身が開発者ではない場合、 |
| あなたが心に抱いている写真はおそらくテレビと |
| あなたが見た映画。 |
| あなたは一人で働く奇妙な天才を描いているかもしれません、 |
| ソフトウェアを開発するプロセスは非常に簡単です。 彼ら |
| 問題について真剣に考えてください。 彼らはいくつかのコードを書く |
| そして、彼らはそれが機能することを確認します。 そしてそれはおそらくそうです、 |
| 結局のところ、彼らは |
| 天才。ハリウッドのように私たち全員が天才だったとしたら、 |
| このプロセスは私たちにとってはうまくいくかもしれませんが、実際には私たちは人間だけです、 |
| だから私たちはもう少し必要です |
| それ。まず第一に、私たちは一人で働くことはありません。 私たちはとても働きます |
| 協力して、私たちは私たちを助けるプロセスを持っています |
| 高品質のソフトウェアを作成します。 ここで指摘しておきますが、 |
| ソフトウェアを開発するための1つの正しいプロセス。 きみの |
| プロセスは企業間で異なり、多くの場合、 |
| 企業内。 しかし、今日私がすることはあなたを案内することです |
| で新しい機能を開発している場合はどうしますか |
| JMPライブ。 |
| まず第一に、私がコードを書くために座る前に、私はしなければなりません |
| 実際にそうする必要があります。 実在の人物が必要です |
| JMPLiveで何かを見つけた人 |
| 彼らが思っているようにうまく機能していません。 |
| 彼らがバグを見つけた、または彼らが持っていると言う良い方法 |
| 新機能のリクエスト。 私たちはこれらの問題を追跡します |
| 内部システムなので、私が最初にすることは |
| そのシステムと良い優先度の高い問題を見つける |
| 私のスキルセットに合わせて、考え始めて、始めましょう |
| それについて話します。 次に私がすることは理解しようとすることです |
| 人々と話すことによる必要性。 どんなユーザーが行くのか |
| この機能が必要ですか? 彼らは元気ですか |
| それを使うつもりですか? 次に、自分のマシンでJMPLiveを実行します。 |
| そして、新機能がどこに適合するかを調べ始めます |
| すでにJMPライブに |
| 今日存在します。 それから私はコードを持ち出し、考え始めます |
| 新しいコードがコードベースにどのように適合するかを説明します。 |
| 必要性をよく理解できたら、 |
| 設計ステップに進みます。 そしてここでも、私の最初の |
| ステップは人々と話すことになるでしょう。 ユーザーと話します |
| JMP内にいる経験豊富な専門家と話します |
| 同僚と尋ねて、「あなたはに似た機能に取り組んだことがありますか? |
| これ前に? 以前にコードのこの部分で作業したことがありますか?」 |
| 次に、デザインを具体化し始めます。 私は記事を書くかもしれません |
| ダイアグラムを描いて共有し、作成できるようにします |
| チームの他のメンバーが一般的にいることを確認してください |
| 方向性に満足 |
| 引っ越します。 今、私は座って、いくつかを書き始めます |
| コード。そしてこのために私は統合開発を使用します |
| たくさんあるプログラムである環境 |
| 私たちの仕事をより良くするのを助けるように設計された機能。 |
| コードを書いたので、最初のステップは |
| 私が作成したばかりの問題。 私は人間だけなので、チャンスは |
| 私が最初の試みで100%完璧なコードを書いたことはかなりスリムです。 |
| 私の最初のステップは |
| 静的分析を使用します。 静的分析はコードを実行しません、 |
| それはまるでそれが一片に書き留められているかのようにそれを見ます |
| 論文。例えは、MicrosoftWordのスペルチェックかもしれません。 スペルチェック |
| 説得力のある文章を書いたかどうかわからない |
| 小説ですが、どこかでコンマを逃したかどうかを教えてくれます。 |
| 静的分析はコードに対してそれを行います。 |
| これらの非常に明白な問題を見つけて修正したので、 |
| 次のステップは、あまり明白でない問題を探すことです。 |
| そのために、自動テストスイートを使用します。 我々は持っています |
| 私たちのコードに対して幅広いテストを書きました。 自動化 |
| テストはコードを実行します、またはむしろそれはサブセットを実行します |
| コード、特定の入力を提供し、特定の出力を期待しています。 |
| 座ってこれらを書くことは本当に価値のある練習です |
| 時々私が座って新しいテストを書くとき |
| どんな機能でも、それは私に私の考えを本当に明確にすることを強制します |
| そもそもソフトウェアがどのように機能するのか。 |
| それはまた、に対する本当に重要な保護手段を提供します |
| 同僚が将来この機能を誤って壊してしまいました。 そう |
| それは見つけるのに最適な方法です |
| 早期に問題。 これらを自動化して作成して実行したら |
| テスト、私はいくつかの手動テストに移ります。 JMPを実行する可能性があります |
| 私のローカルマシン、または私たちが持っているいくつかのサーバーの1つに住んでいます |
| オフィスでいろいろと調べてみて、確認してください |
| それが私のように機能すること |
| すべきだと思います。 私はそのデータベースを調べることさえできます |
| JMP Liveの後ろに座って、記録を追跡します |
| ユーザー、投稿、グループ、コメント、およびレコードが |
| 私が期待する方法で書かれています。 |
| 今、私はいくつかの良いものを書いたことを慎重に楽観視しています |
| コード、そして私は便利なを作成しました |
| 特徴。次のステップは、私の仲間に意見を求めることです。 します |
| これをピアレビューに通してください。 現在、JMP Liveでは、100% |
| ピアレビューを通じて書いたコードとその理由は |
| とても価値があると思います。 |
| ちょっと見落としたことがあるかもしれません |
| 何かについて目隠しをしている。 またはそれはかもしれません |
| 私のチームの他の誰かが単に私が知っているという場合 |
| 欠如。レビューでは、レビュー担当者も |
| 彼らはかもしれないので、運動から多くの価値を得る |
| いくつかの新しいテクニックについて学びます。 |
| チームは私たちが作成したことをかなり楽観的にしています |
| いくつかの良いコード、私は最終的に私のコードをコミットするか、それをチェックインします |
| ソースコードリポジトリ。 |
| 私たちは私たちを監視する継続的ビルドシステムを持っています |
| コードをコミットし、実行すると、 |
| それを分析します。 それは本当に基本的なものを探します、ファイルです |
| 正しい方法で正しい場所に名前を付けましたか? また再実行されます |
| 静的分析とそれは私たちの自動テスト全体を再実行します |
| スイート。誰かがこれをするのを忘れた場合にこれを行います |
| プロセスの早い段階で。 またはもっと頻繁に、それはその場合である可能性があります |
| 前回から小さくて微妙な何かが変わった |
| 自動テストスイートが実行されました。 |
| したがって、これらすべての分析を実行し、それが完了すると |
| このステップで、コードは外部の人々が利用できるようになりました |
| 開発チームは |
| それを見てください。 これを最初に理解するのはテストです |
| JMPLiveおよびJMPチーム内にいる専門家 |
| より広く。 これらはテストの専門家です。 それは彼らがしていることです |
| 彼らのキャリア全体のために、そして彼らはそれが本当に得意です。 |
| 自動テストスイートを再実行する可能性があります。 彼らはさらにテストを追加するかもしれません |
| 私たちのスイートに。 彼らはJMPLiveを手動で実行し、いじくり回すかもしれません |
| 一般的に。彼らはJMPLiveをローカルで実行し、実行するふりをする可能性があります |
| 絶対に狂っているユーザーとしてのもの。 何ですか |
| ユーザーができる最もクレイジーなことは? そして、ソフトウェアがどのように |
| それに応答します。 彼らはこれらのテストで本当に創造的です |
| シナリオ。彼らはまた、さまざまな上でソフトウェアを実行する可能性があります |
| さまざまなブラウザとオペレーティングシステムを使用して、 |
| ソフトウェアは柔軟で堅牢です。 |
| 彼らがこの新機能を承認すると、今では |
| 次のソフトウェアリリースで入手できます。 |
| ここでズームアウトして、プロセス全体を示します。 |
| それは多くのステップです。 私たちは実際にこれらすべてをすべてのために行いますか |
| 私たちのソフトウェアの変更の? 信じられないかもしれませんが、私たちはそうします。 しかし、これは |
| プロセスは、の複雑さに応じて大幅に拡張されます |
| 作品。 本当に単純な明らかなバグがある場合は、ステップします |
| このプロセスを通じて、しかし私たちはそれをかなり迅速に行います。 |
| 一方、非常に複雑な新機能がある場合は、 |
| プロセスのすべてのステップで、速度を落とします。 |
| 私たちは時間をかけて、それを確認するために細心の注意を払います |
| 私たちはそれを正しく理解します。 |
| さて、時間がかかるものはすべてお金がかかるのに、なぜそれが |
| JMPはこのお金をソフトウェア品質に投資する用意がありますか? |
| 1つの理由は本当に単純です。 私たちは自分の仕事に誇りを持っており、 |
| 良い製品を作りたい。 |
| 次の理由は、あまり理想的ではありません。 私達はことを知っています |
| 私たちに存在する問題は何でも |
| プロセス、そして私たちの製品では、私たちがそれらを見つけられない場合、私たちの |
| 顧客はそうするでしょう、そしてそれはビジネスにとって素晴らしいことではありません。 だから私たちは |
| それを最小限に抑えたいと思います。 |
| 現在、どのプロセスも提供できません |
| 絶対的な完璧さ。 だから私たちは本当にあなたがその一部であり続けることを勧めます |
| JMPコミュニティの。 community.jump.comにアクセスして、 |
| JMP Liveが機能しない場合は、何かあるかどうかを確認してください。 |
| あなたがそうあるべきだと思う方法、またはあなたが望む何か新しいもの |
| 将来見るために。 |
| そのような現実世界のフィードバックは私たちにとって非常に価値があり、 |
| 本当に歓迎します。 |
| 今日はこれで全部ですが、本当に願っています |
| 残りのディスカバリー体験をお楽しみいただけます。 感謝 |
| 君は。 |