|
トランスクリプト
|
| こんにちは、私はAurora Tiffany-Davisです。 |
| JMP Liveチームと今日は、 |
| JMP Live チームでソフトウェアを開発する方法。 |
| まず、ソフトウェア開発がどのようなものかを想像していただきたい。 |
| あなたと同じように。あなたが開発者でなく、 |
| あなたの心にあるイメージはおそらくテレビや |
| あなたが見た映画。 |
| 独りで仕事をする風変わりな天才を想像するかもしれないが、 |
| ソフトウェア開発のプロセスは非常にシンプルです。 |
| 問題について真剣に考えます。コードを書いて |
| そしてそれが機能することを確認します。そしておそらく機能するでしょう |
| 結局のところ、彼らは |
| 天才。ハリウッドが言うように私たち全員が天才だったら、 |
| このプロセスは私たちにとってはうまくいくかもしれないが、実際私たちは人間に過ぎない。 |
| そして、私たちはもう少し |
| まず第一に、私たちは一人で仕事をしているわけではありません。 |
| 協力して、私たちはそれを支援するプロセスを持っています |
| 質の高いソフトウェアを生産する。ここで指摘しておきたいのは、 |
| ソフトウェア開発の正しいプロセスは1つではありません。 |
| プロセスは企業によって異なり、多くの場合 |
| 企業内での取り組みについてお話しします |
| 新しい機能を開発していたらどうするか |
| JMPライブ。 |
| まず、コードを書く前に、 |
| 実際にそうする必要がある。 |
| JMP Liveで何かを発見した人は |
| 彼らが思うようには機能しない、つまり |
| バグを見つけた、または問題があることをうまく伝える言い方 |
| 新機能のリクエスト。これらの問題は |
| 内部システムなので、まず最初に |
| そのシステムで優先度の高い問題を見つけ、 |
| 自分のスキルセットに合ったものを見つけ、それについて考え始め、 |
| 話しながら次にやることは、理解しようとすることです |
| 人々と話をしてニーズを探ります。どのようなユーザーが |
| この機能が必要ですか? |
| 使うつもりですか?それから自分のマシンでJMP Liveを実行し、 |
| そして、新しい機能がどこに当てはまるかを検討し始めます |
| JMP Liveにすでに |
| 今日存在するもの。それから私はコードを持ち出して考え始める。 |
| 新しいコードがコード ベースにどのように適合するかを検討します。 |
| ニーズを十分に理解できたと思ったら、 |
| 次は設計段階に移ります。ここでも私の最初の |
| 次のステップは人々と話すことです。ユーザーと話します |
| JMPの経験豊富な専門家と話をして、 |
| 同僚に「似たような機能に取り組んだことがありますか?」と尋ねます。 |
| これまでにこのコード部分で作業したことがありますか? |
| それからデザインを具体化していきます。記事を書くかもしれません |
| 図を描いて共有することで |
| チームの他のメンバーが一般的に |
| 方向性に満足している |
| 引っ越します。今から座って書き始めます |
| コードです。このために統合開発環境を使用します |
| 環境は、多くの |
| 仕事の効率化に役立つように設計された機能。 |
| コードを書いたので、最初のステップは |
| 問題は私が作り出したものです。私は人間なので、 |
| 最初の試みで 100% 完璧なコードを書けたという確率はかなり低いです。 |
| 私の最初のステップは |
| 静的解析を使用します。静的解析ではコードを実行しません。 |
| まるで紙に書かれているかのように |
| 論文。Microsoft Wordのスペルチェックに似ているかもしれません。スペルチェック |
| 説得力のある文章を書けたかどうかは分からない |
| 小説ですが、どこかにカンマを忘れたかどうかを教えてくれます。 |
| 静的解析はコードに対してそれを行います。 |
| 今では、これらの非常に明白な問題を発見し、修正したので、 |
| 次のステップは、あまり目立たない問題を探すことです。 |
| そのために私は自動化されたテストスイートを使います。 |
| 私たちのコードに対して幅広いテストを作成しました。自動化された |
| テストはコードを実行する、というよりはむしろコードの一部を実行する |
| コードを実行し、特定の入力を提供し、特定の出力を期待します。 |
| 座ってこれらを書くのは本当に価値のある練習です |
| テストを書くときに、新しいテストを書くときに |
| どのような機能であっても、それは私に自分の考えを明確にすることを強いる |
| そもそもソフトウェアがどのように動作するのか。 |
| また、これは非常に重要な安全策であり、 |
| 同僚が将来この機能を誤って壊してしまう可能性があります。 |
| それは見つけるのに最適な方法です |
| 問題を早期に解決します。これらの自動化ツールを書いて実行したら、 |
| テストが終わったら、手動テストに移ります。JMPを実行するかもしれません |
| ローカルマシン上、または弊社の複数のサーバー上で稼働 |
| オフィスでいろいろ試してみて、 |
| それは私が |
| そうすべきだと思う。データベースを調べるかもしれない。 |
| JMP Liveの背後にいて、記録を追跡します |
| ユーザー、投稿、グループ、コメントを確認し、記録が |
| 私が期待した通りに書かれていました。 |
| 今は、良いものを書けたと慎重に楽観しています |
| コードと便利な |
| 次のステップは、同僚に意見を聞くことです。 |
| これを査読にかけます。JMP Liveでは、 |
| 私たちが書いたコードはピアレビューを通して書かれ、その理由は |
| 私たちはそれがとても価値があると思っています。 |
| 何か見逃しているものがあるかもしれない。 |
| 何かについて盲目になっている。あるいは、 |
| 私のチームの誰かが私が |
| 不足している。レビューでは、レビュー担当者も |
| この演習から多くの価値を得られるかもしれない |
| いくつかの新しいテクニックについて学びます。 |
| チームは私たちが作ったものにかなり楽観的になっています |
| 良いコードができたら、最終的にコードをコミットするか、 |
| ソースコードリポジトリ。 |
| 私たちは継続的なビルドシステムを備えており、 |
| コードをコミットすると、 |
| それを分析します。ファイルがあるかどうかなど、基本的なことを調べます |
| 正しい方法で、正しい場所に名前が付けられていますか?また、再放送されます |
| 静的解析を行い、自動テスト全体を再実行します |
| 誰かがこれを忘れた場合に備えて、これを行います |
| プロセスの早い段階で。あるいはもっと頻繁に、 |
| 前回から何か微妙な変化がありました |
| 自動テストスイートが実行されました。 |
| これらすべての分析を行い、それが通過すると |
| このステップにより、コードは外部の人にも利用可能になります |
| 開発チームに |
| 見てください。これを最初に認識するのはテスト担当者です |
| JMP LiveとJMPチーム内の専門家 |
| もっと広く言えば、彼らはテストの専門家です。それが彼らの仕事です |
| 彼らはキャリアを通じて、本当にそのことに長けています。 |
| 自動テストスイートを再実行するかもしれません。テストを追加するかもしれません。 |
| スイートにJMP Liveを手動で実行して、 |
| 一般的には、JMP Liveをローカルで実行して、 |
| ユーザーとして、それは絶対に狂気の沙汰です。 |
| ユーザーができる最もクレイジーなことは何でしょうか?ソフトウェアがどのように |
| これに反応します。彼らはこれらのテストで本当に創造的です |
| シナリオ。また、さまざまな |
| さまざまなブラウザやオペレーティングシステムで |
| ソフトウェアは柔軟かつ堅牢です。 |
| この新機能に承認が下りたら、 |
| 次のソフトウェアリリースで利用可能になります。 |
| ここでズームアウトして、プロセス全体をお見せしましょう。 |
| たくさんのステップがあります。これをすべて実際に行うのでしょうか? |
| ソフトウェアの変更について?信じられないかもしれませんが、私たちはそうしています。しかし、これは |
| プロセスの規模は、 |
| 作業は単純で明らかなバグがあれば、 |
| このプロセスは時間がかかりますが、非常に迅速に実行できます。 |
| 一方、非常に複雑な新機能がある場合、 |
| プロセスのすべてのステップで、速度を落としていきます。 |
| 私たちは時間をかけて細心の注意を払って、 |
| 私たちはそれを正しく理解します。 |
| 時間のかかるものはお金がかかるのに、なぜ |
| JMP はこの資金をソフトウェアの品質向上に投資するつもりですか? |
| 理由はとてもシンプルです。私たちは仕事に誇りを持っており、 |
| 良い製品を作りたい。 |
| 次の理由は、あまり理想的ではありません。 |
| 私たちの中にどんな問題があっても |
| プロセス、そして製品において、それらを見つけられなければ、 |
| 顧客はそうするでしょうし、それはビジネスにとって良いことではありません。 |
| それを最小限に抑えたいと考えています。 |
| 今では、いかなるプロセスも実現できない |
| 絶対的な完璧さ。だから私たちはあなたにも参加してもらいたいのです |
| JMPコミュニティの皆さん、community.jump.comにアクセスして、 |
| JMP Liveについて何かあれば教えてください。 |
| あなたが思うように、あるいはあなたが望む新しいもの |
| 将来見るために。 |
| そういった現実世界のフィードバックは私たちにとって非常に貴重であり、 |
| 本当に歓迎します。 |
| 今日はこれで終わりですが、 |
| ディスカバリー体験の残りをお楽しみください。 |
| あなた。 |