順番に始めましょう
この絵が何を意味するのかはもう少し後になりますが、とりあえず紹介から始めましょう。
XNUMX 月の寒い日、トラブルの兆候はありませんでした。 純真な学生のグループが初めて「情報システムの設計と開発を組織化するための方法論」と名付けた主題の授業を受けに来ました。 定期的な講義があり、先生はスクラムなどの柔軟な開発手法について話しましたが、トラブルの前兆は何もありませんでした。 そして最後に先生はこう言います。
チームワークの大変さを自分自身で体験し、グループに分かれてプロジェクトを考え、リーダーを任命し、設計の全段階を一緒に経験してほしいと思います。 最後に、完成品とハブレに関する記事を期待しています。
ここから私たちの物語が始まります。
先延ばしをやめましょう - それが何なのか、何と一緒に食べるのか、そして私たちがそれをどのように開発し、それから何が生まれたのか
この物語は、幸か不幸か私に割り当てられたプロジェクトマネージャーに代わって語られます。 それで、どんなアイデアが私たちの心に浮かんだのでしょうか? SupperCommon の人気の目覚まし時計「Shake Alarm Clock」、つまりユーザーが目を覚ます可能性が高い特定のアクションを実行するまでスマートフォンを完全にブロックする機能に触発され、私たちは同様のアプリケーションを作成することにしました。 「目覚まし時計を振る」と同じ原理で電話依存症を取り除く
どのように動作します
ユーザーがタイマーを設定する
・スマホに使える時間
・スマホを持たない時間(ブロック期間)
タイマーが期限切れになると、最小化できないオーバーレイが画面に表示されます
- オーバーレイを閉じるには、簡単なテストを受ける必要があります (わかりにくいキーボードでパスワードを入力する、数学の問題を解く、携帯電話を数分間振る)
この方法でロックを解除すると、スマートフォンを使用できる時間が半分になり、以降 XNUMX 分間続きます。
チームの構築
まず、誰が何をするのか、そしてこのすべてをどの言語で書くのかを決定する必要がありました。 これはプロジェクト管理とはあまり関係ないと思います。実際のプロジェクトでチームを編成するときは、必要な人材をすぐに編成するからです。 その結果、私はデザイナーの役割も担い、アプリケーション開発の経験が豊富なチームマネージャーを XNUMX 名選び、その下にプログラマー XNUMX 名が割り当てられ、さらに XNUMX 名がテスターになりました。 もちろん、プログラミング言語はスキルに基づいて選択されます。 その結果、すべてのプログラマーが Java に精通しているため、Java を使用することが決定されました。
タスクの設定
先生の勧めで無料サービスでタスクボードを作成しました
しかし実際には、これらすべては XNUMX つの大きくて長い流れから生まれ、編集、追加、修正が絶えず行われてきました。
仕様を書きます
Savin の著書「Testing.com」の影響を受けて、私はすべてをどのように配置すべきかについて、自分の頭の中で考えていました。 すべては仕様を書くことから始まりました。私たちが期待していること、何がどのように機能するのかを明確に説明しなければ、何も機能しません。 プログラマーは見たままにすべてをプログラムし、テスターは別のものをテストします。マネージャーは XNUMX 番目を期待していましたが、結果的にはいつものように XNUMX 番目になるでしょう。
仕様を書くのは簡単ではありません。すべての詳細、すべてのニュアンスを考慮する必要があります。 もちろん、最初は何もうまくいきませんでした。 その結果、仕様の追加とやり直しが4回も行われました。 最後のオプションは、記事の最後にあるリンクセクションにあります。
デザインを描く
モバイル アプリケーションのデザインは最も重要です。 しかし、私のチームも含め、誰もがこれを理解しているわけではなく、デザインは必要ない、これはアプリケーションの最も重要ではない部分であるなど、多くの人が私に激しく主張しました。 そんなにナイーブであってはいけません。 まず、既製のデザインによりプログラマーの作業が容易になり、何をどこに配置するかを考える必要がなく、描画されたものを取り込んでタイプセットするだけで済みます。 仕様と合わせて、プログラマーの心を不要なものからほぼ完全に解放し、ロジックに集中できるように設計されています。 一般に、プロトタイプ (ひどい) デザインが最初に描かれました。
しかしその後、デザインは精査され、通常の状態に戻されました。
(すべてのデザイン要素へのリンクは記事の最後にあります)。
プログラミング
プログラミングは難しいですが、可能です。 私自身はこの問題に直接取り組んだことがないため、この点は省略します。 プログラマーは膨大な量の作業を行いましたが、それがなければすべてが無意味になってしまいます。 もちろん、私たちのアイデアのいくつかは実現することができました。 そして、このプログラムにはまだ改善の必要があります。 削除する必要があるバグや機能がたくさんあります。 もっと時間があれば、ディープアルファ版を終了できると思いますが、今のところ、この記事の最後でアプリケーションをテストできます。
さて、テストについてですが、
プログラミングで大切なことは何ですか? 私の意見では、重要なことは、すべてが正常に動作し、正常に見えることです。 必ずしもうまくいくとは限りませんし、すぐにうまくいくわけでもありません。 これにはテストが必要です。 私はテスターたちに、テストケースを使用したテストモデルを提案しました。 まず、仕様に従ってテストケースを作成し、それに対してテストを実行します。 ここから何が生まれたのかは、以下のリンクでご覧いただけます。
読んでくれてありがとう。 ここで少なくとも何か役に立つこと、あなたのスタートアップのためのアイデア、あるいは良いアドバイスやツールを見つけていただければ幸いです。
リンク:
最新
デザインオン
アプリケーション自体はオンになっています
さて、最後に
これはすべて意味があると思いますか?
登録ユーザーのみがアンケートに参加できます。
このような実践は教育機関で必要ですか?また、それは実生活でどの程度役に立ち、応用できるのでしょうか?
-
必要とされる貴重な経験
-
多少の経験は必要ですが、
-
ほとんど役に立たないが、せいぜいチームで働くことの一般的な特徴を理解するだけだ
-
時間と労力の無駄
2人のユーザーが投票しました。 棄権者はいない。
出所: habr.com