1つの機能のストーリー、またはプログラマーへのハッカソンの理由

みなさん、こんにちは。私は企業ソフトウェアを開発する会社のプログラマーおよびチームリーダーです。 最近、ハッカソンでハッカソンを実施するというテーマが強化されました。 たとえば、会社の生活を向上させるための情報源として、 Rambler- Hackathon社からの投稿があります。 私も5セントを入れます



多くの場合、幅広い開発者とコミュニケーションをとりながら、ハッカソンや他の同様のイベントの無益さについてプログラマーの間で幅広い意見があることに気付きました。 多くの人は、これは時間の無駄だと考えているため、試してはいけません。



私の話をお話ししますが、おそらくそうでなければあなたを納得させるでしょう。



今年の6月に、 製品の新しいバージョンがリリースされ 、その開発が行われています。 最も顕著な機能の1つは、グラフィカルウィジェットを備えたデスクトップでした。 ウィジェットには、システムでの作業に関する統計が表示され、明確でモダンに見えました。 ユーザーからのフィードバックは好意的でした。彼らは自分自身と部下について、以前は気付かなかったことを学びました。



しかし、この機能はできませんでした。 アイデアからリリースまでのストーリー全体を見るには、時間を遡る必要があります。



ハッカソンに参加したくなかったので



約1年前、社内ブログで、2週間後に会社史上最初のハッカソンが開催されるというニュースが出ました。 金曜日の夕方から日曜日までの間に、任意のトピックを選択し、志を同じくする人々を見つけて実装できます。



最初は、このベンチャーは私を本当に感動させませんでした。 もちろん、ハッカソンは面白くて、楽しくて便利であるという事実についてはたくさん読みましたが、オフィスで2日間の休暇を過ごすことは期待できませんでした。



その後、十分な作業があり、次のリリースの最初のスプリントを開始しました。 1週間の集中的な作業の後、2日間のコーディングをしてから、次の作業をスムーズに開始することは、肉体的にも精神的にも難しいことは明らかでした。 また、何をトピックとみなすことができるかも明確ではありませんでした。 結果が無効にならないように、実装するのに興味深いものを選択したかったのです。



最初の問題はそれ自体で解決されました。明らかに、他の参加者も提案された形式に困惑し、ハッカソン計画に変更が加えられました。 例えば、月曜日に彼らは夕食後に入ることを許可されました。 実践が示しているように、すべての参加者は休息する権利を行使しました。



2番目の問題はより困難でした。 私はデータを扱うトピックに興味があります。このタスクは関連性を保ち、そこにクールな機能を実装できますが、それらはまだ発明されなければなりませんでした。



簡単に説明します。その少し前に、人気のある一連のサッカーシミュレーションを発見し、常に分析に特別な注意を払っています。 統計を調べることにより、どのプレーヤーを購入するか、どの戦術を試合に選択するかを決定できます。 この場合、常に少し掘り下げて、一般的な統計から特定の一致の詳細まで失敗することがあります。



目標は単純です。問題のある場所と改善点を理解するために、分析のための食物を提供することです。









しかし、現実の世界でサッカーシミュレーターとの類似性を引き出すとどうなりますか? 人々はECMシステムで働いており、それらの統計を収集できます。 今ではブラックボックスのようなものになっています。誰もが覚えていますが、分析のために何かを提供することには非常に消極的です。 そして視覚的には、同じシミュレーターのいくつかの開発をスパイできます。



一見したところ、それほど多くのデータはありません。その人にどのタスクが設定されたか、そして彼が時間通りにそれらを完了できたかどうかがわかります。 しかし、「上位」レベルのメトリックを収集し、ソースデータに到達する機会を与えようとしたらどうでしょう。 結果の観点と開発の観点の両方から興味深いはずです。 どうして?



さて、素晴らしいアイデアがあります! チームを見つけることは残っています。



奇妙なことに、これが最も簡単な部分であることが判明しました。 簡単なプログラマーのSasha( @MonkAlex )と経験豊富な、しかしアクションアナリストのVladimirが私と一緒に仕事をする準備ができているのは幸運でした。 詳細を議論し、どこから始め、どのフォーマットで作業するかを決定します。 「監視と分析」という名前を思い付きます。









行こう...



ハッカソンに勝てなかった方法について



ハッカソンは金曜日の夜に参加者の総会で始まり、チームは何をすべきかを簡単に伝え、オフィスに駆け込みました。



彼らは柔軟に仕事をすることを決めました。主な唯一の基準は、ハッカソンの終わりに向かって何かをすることでした。 まず、機能のマップを作成しました。 その後、優先度[0]でマークを付けました。それなしでは、デモに行くのは意味がありません。この例では、ウィジェットのセットがあるスタートページでした。 その後、時間があればどうするかを考えました(結果として、この半分が行われ、残りの半分は潜在的な開発パスとして提示されました)。 そして、彼らは「見た」ようになった。







既製のコンポーネントの検索に約1時間を費やし、並行してテストインフラストラクチャを展開しました。



規律実行する「ベーグル」から始めました。 彼らはサーシャとペアでそれを作りました-新しいトピックを掘り下げるのは簡単でした。 同時に、残りのウィジェットに「スケルトン」を投げました。 多かれ少なかれ実際のデータを処理する単一のウィジェットを持つフォームは、3時間で準備が整いました。



その後、彼らは自分たちの場所に行き、残りのウィジェットをスタートページに投げ、スケジュールを固定し、一般的にインターフェースを高貴にしました。 最小タスクが完了しました。すでに表示されている可能性があります。 これは初日で終わった。



日曜日の16:00にプレゼンテーションはすでに始まっていたため、午前中に終了することが明確に決定されました。 スタートページのウィジェットから詳細へのインタラクティブな移行を行う時間が重要であるという事実に立ち止まりました。 締め切りの1時間前に、彼らはコードを「フリーズ」し、メインスクリプトを数回実行することを決定し、同時にすべてが機能するようにクリックしない方が良い場所を指摘しました。



プレゼンテーションはウラジミールによって行われました-彼はアナリストであり、彼はチラシやセミナーを実施する経験が豊富です。 さらに、彼は彼女のために準備する時間がありました。 ライブデモと質問への回答には、ほとんどの時間がかかりました。 非常に厳しい開発期限とテストの欠如にもかかわらず、何も落ちず、私たちがしたすべてを示すことが判明しました。







私たちに加えて、参加している7つのチームのうち、実際にプロトタイプを実現することができたのは2つだけでした。 その結果、3つのチームすべてが勝者となり、名誉ある2位になりました。



ToDoリストアイテムに変換する受信トレイアナライザーを作成した人たちに屈しました。 客観的に、彼らはより深刻な技術的スタック、より大きなチーム(7人)を持ち、そのアイデアはおそらくもっと面白かったです。



機能がアイデアからどのように成長するか



社内で投票することにより、プロの同情の賞が受賞し、3位になった人がそれを受け取りました。 全員が再び参加したことで称賛され、ハッカソンはそこで終了しました。 リリース用の機能の設計に戻り、数か月間ハッカソンを思い出しませんでした。



しかし、すでに9月末に、このトピックで再び動きが始まりました。 リリーススケジュールを先取りしていることが明らかになり、数週間は残っているように見えました。 同時に、開発を完了する前に、非常に大きなことを行うことはすでにリスクを伴いますが、ハッカソンからプロトタイプを実現することは現実的です。



少し遅れて、10月の最初の10年に、会社の製品の開発に関するアイデアを生み出すための内部会議が開かれ、そこで競合他社が分析されましたが、同様のソリューションがあることがわかりました。 これにより、機能の潜在的な魅力を私たちと管理者に納得させ、選択したパスの正確さに自信を与えました。



その結果、10月末にリリースの主な機能の作業を終了し、ソリューションを思い浮かべる時間を得ました。リリースを終了する時間がなければ、リリースされないという条件がありました。



設計から始めました。





そして、私たちは間に合った。 実際、最終的な実装には、プロトタイプの約10倍の費用がかかります。



これは、メインページの外観です。









そして、人々とタイムラインによる詳細:









機能が製品に入り、彼らはそれを使い始めました。 あまり活発ではありませんが、最初はこの形式ではこのことは大規模ではなく、対象読者は会社の少数の人々であると理解していました。



しかし、主なもの-彼女からすでにビジネス効果がありました。 このような小さなサンプルでも問題がありました。タスクを完了しなかった人。 長い間ハングしているプロセスと最も忙しい従業員を見つけました。



それは簡単なことのように思えますが、それでも、それを利用して多くのトレンドを追跡できます。 これをユーザーに伝え、新しいトピックを公表する目的で、それが何であり、なぜ従業員のパフォーマンスを分析するための対話型EDMSツールの開発記事を書いたのかを説明するため。



フィードバックは一般に肯定的でしたが、機能は大量にならず、不完全な感じがありました。



機能がどのように生き、発展するか



この時点で、新しいバージョンの計画が進行中でした。 そして、その主要なトピックの1つは、エントリポイントとしてのシステムのユーザーのデスクトップでした。



私たちのチームは設計と開発に従事していました。 目標は、デスクトップ上で運用作業用のウィジェットとウィジェットをシステム上の統計と組み合わせることにありました。 さらに、それぞれに独自の統計があります。 たとえば、会社の長は全体像を見る必要があり、部門の長は部下だけが重要です。



さらに、「監視と分析」が別のウィンドウで開かれ、簡単に見つけることができませんでした。 したがって、個別のウィジェットに分割されました。 それらは役割からカスタマイズされた表現でデスクトップに運ばれ、順番に従業員の位置と彼に与えられたアクセス権から計算されました。 その結果、特定の人が必要とするすべてのデータはシステムの最も目に見える場所にあり、クライアントの起動後に表示されました。









ほとんどの場合、これで十分です。 また、「監視と分析」の詳細については、ウィジェットをクリックして開いてください。 さらに、フィードバックを受け取って最終決定しました。「部門から」トップマネージャーに印刷、クイック検索、および操作モードを追加しました。 その結果、最終バージョンでは、開始ページは次のようになります。









この形式では、新しいバージョンがリリースされました。 今日、統計から判断すると、この機能がユーザーを見つけたと言えます。 200人のユーザーがいる戦闘スタンドの例を使用して使用状況を監視すると、20人を超えるユーザーが毎日Monitoring and Analysisを起動し、デスクトップ上のウィジェットを1日100回以上使用して詳細データにアクセスします。



とりわけ、ベンダーとして私たちにとって重宝しました。 ECMシステムを導入するとき、新しいことに反対する人々の間で妨害行為がしばしば見られます。 今では、時間内にタスクの低い割合で見つけるのは非常に簡単です。



ハッカソンに参加する理由



結論として、私は今年自分のためにした結論を共有したいと思います。



1.ハッカソンにぜひ参加してください

あなたのアイデアを実現できます。 面白い人と楽しい時間を過ごすことができます。 あなたは自分自身を見せ、他の人を見る機会があります。 もちろん、純粋に数学的には、勝つ可能性はわずかですが、ハッカソンは参加が勝利よりも重要な場合にのみ当てはまります。



2.あなたのアイデアについて恥ずかしがらないでください

成功した製品や企業のほとんどは本質的にユニークではなく、多くの場合発見者ではありませんでした。 ビジネスへの正しいアプローチと、消費者にとって本当に役立つ何かをしたいという願望が彼らを成功に導きました。 アイデアは新しいものではないかもしれませんが、それがあなたにとって興味深い場合は、他の人に興味を持ってみてください。 さらに、ハッカソンはフィードバックを受け取るための優れた形式です。その後、このアイデアを開発する価値があるかどうかを理解できます。



3. Hackathonはアイデアを広める素晴らしい方法です

原則として、製品の開発方法に関する決定は管理者が行います。 ただし、顧客と製品所有者には、機能の選択に関する支援も必要です。 限られたリソースの中で、ユーザーと開発会社の両方にとって最も役立つ機能を常に選択したいと考えています。 誰かにあなたの無実を言葉で説得するのは簡単ではありませんが、実際に動作するプロトタイプを見せれば、チャンスが大幅に増えます。



4. Hackathonソリューションは、実際の製品に正常に統合できます。

はい、これはハッカソンでどれだけやったかに比例しない時間がかかります。プロトタイプの結果、一般的な方向性のみが残りますが、それでも可能です。



5.アイデアを発展させる準備をする

ハッカソンのアイデアをお持ちの場合は、開発の可能性を検討することをお勧めします。 おそらくしばらくすると、最初のアイデアでは不十分で、もっと欲しいと思うでしょう。 または、この形式では誰もそれを必要としないことを理解するでしょう。 怠けすぎてユーザーの立場になり、最も便利で便利なもの、理想的に努力すべきことを理解しないでください。



結論の代わりに



ちょうど1か月前、再びハッカソンに参加しましたが、今回は大規模なチームを編成し、さまざまなオープンソースのデータ集約サービスの実用的なプロトタイプを作成し、既存のタスクに統合しました。







この機能により、経営陣から肯定的なフィードバックが得られ、おそらくいつか製品に完全に実装されるでしょう。



私にとっては、再びハッカソンに参加するように申し出られた場合、私は間違いなく同意すると決心しました。 これについてどう思いますか?



All Articles