Lass uns in der Reihenfolge beginnen
Was bedeutet dieses Bild etwas später, aber zunächst möchte ich mit der Einleitung beginnen.
An einem kalten Februartag gab es keine Anzeichen von Problemen. Eine Gruppe unschuldiger Studenten kam zum ersten Mal, um an einem Kurs zu einem Thema teilzunehmen, das sie „Methodik zur Organisation des Designs und der Entwicklung von Informationssystemen“ nannten. Es gab eine regelmäßige Vorlesung, der Lehrer sprach über flexible Entwicklungsmethoden wie Scrum, nichts deutete auf Schwierigkeiten hin. Und am Ende verkündet der Lehrer:
Ich möchte, dass Sie alle Strapazen der Teamarbeit selbst erleben, sich in Gruppen aufteilen, ein Projekt entwickeln, einen Leiter ernennen und gemeinsam alle Entwurfsphasen durchlaufen. Am Ende erwarte ich von Ihnen ein fertiges Produkt und einen Artikel über Habré.
Hier beginnt unsere Geschichte.
Stop Procrastination – was es ist, womit es gegessen wird und wie wir es entwickelt haben und was daraus geworden ist
Die Geschichte wird im Auftrag des Projektleiters erzählt, der mir glücklicherweise oder leider zugeteilt wurde. Welche Idee kam uns also in den Sinn? Inspiriert vom beliebten Wecker „Shake Alarm Clock“ von SupperCommon, nämlich der Funktion, das Smartphone vollständig zu blockieren, bis der Benutzer eine bestimmte Aktion ausführt, die ihn höchstwahrscheinlich zum Aufwachen bringt, haben wir uns entschieden, eine ähnliche Anwendung zu erstellen, die dabei hilft Handysucht loswerden, nach dem gleichen Prinzip wie „Schütteln Sie den Wecker“
Arbeitsprinzip
Der Benutzer stellt Timer ein
-Zeit, die auf einem Smartphone verbracht werden kann
-Zeit ohne Smartphone (Sperrfrist)
Wenn der Timer abläuft, erscheint eine Überlagerung auf dem Bildschirm, die nicht minimiert werden kann
-Um das Overlay zu schließen, müssen Sie einen kleinen Test durchführen (ein Passwort auf einer verwirrenden Tastatur eingeben, eine mathematische Aufgabe lösen, das Telefon ein paar Minuten lang schütteln).
Nach dem Entsperren auf diese Weise halbiert sich die Zeit, die am Smartphone verbracht werden kann, und zwar bis zu einer Minute.
Ein Team aufbauen
Zunächst musste festgelegt werden, wer was tun würde und in welcher Sprache alles geschrieben werden sollte. Ich denke, das hat wenig mit Projektmanagement zu tun, denn wenn man ein Team für ein echtes Projekt zusammenstellt, stellt man sofort diejenigen zusammen, die man braucht. Infolgedessen übernahm ich auch die Verantwortung eines Designers, wählte einen Teammanager aus, der über gute Erfahrung in der Anwendungsentwicklung verfügte, ihm wurden drei Programmierer zugeteilt und zwei weitere wurden Tester. Natürlich wurde die Programmiersprache nach Fähigkeiten ausgewählt. Daher entschied man sich für Java, da alle Programmierer damit vertraut waren.
Aufgaben stellen
Auf Empfehlung des Lehrers wurde auf einem kostenlosen Dienst ein Aufgabenboard erstellt
In Wirklichkeit kam dies jedoch alles aus einem großen und langen Strom, an dem ständig Änderungen, Ergänzungen und Korrekturen vorgenommen wurden.
Wir schreiben Spezifikationen
Beeinflusst von Savins Buch „Testing.com“ hatte ich meine eigene Idee im Kopf, wie alles arrangiert werden sollte. Alles begann damit, Spezifikationen zu schreiben, und ich glaube, ohne eine klare Beschreibung dessen, was wir erwarten, was und wie es funktionieren soll, wird nichts funktionieren. Die Programmierer werden alles so programmieren, wie sie es sehen, die Tester werden etwas anderes testen, der Manager hat das Dritte erwartet, aber es wird wie immer das Vierte sein.
Das Schreiben von Spezifikationen ist nicht einfach. Sie müssen alle Details und Nuancen durchdenken. Beim ersten Mal hat natürlich nichts funktioniert. Infolgedessen wurden die Spezifikationen viermal ergänzt und überarbeitet. Die letzte Option finden Sie am Ende des Artikels im Abschnitt „Links“.
Einen Entwurf zeichnen
Das Design einer mobilen Anwendung ist das Wichtigste. Allerdings versteht das nicht jeder, auch nicht aus meinem Team. Viele argumentierten vehement mit mir, dass Design nicht nötig sei, dass dies der unwichtigste Teil der Anwendung sei usw. Du solltest nicht so naiv sein. Erstens erleichtert ein vorgefertigtes Design die Arbeit des Programmierers; er muss nicht darüber nachdenken, was er wo und wo platzieren soll, er nimmt einfach das Gezeichnete und setzt es ein. Zusammen mit den Spezifikationen befreit das Design den Kopf des Programmierers fast vollständig von unnötigen Dingen und gibt ihm die Möglichkeit, sich auf die Logik zu konzentrieren. Im Allgemeinen wurde zuerst ein Prototyp eines (schrecklichen) Designs gezeichnet:
Aber dann wurde das Design gekämmt und wieder normalisiert.
(Link zu allen Designelementen am Ende des Artikels).
Programmierung
Programmieren ist schwierig, aber möglich. Ich werde diesen Punkt weglassen, da ich mich selbst nicht persönlich damit befasst habe. Die Programmierer haben eine Menge Arbeit geleistet, ohne die alles sinnlos gewesen wäre. Natürlich ist es uns gelungen, einige unserer Ideen umzusetzen. Und das Programm muss noch verbessert werden. Es gibt viele Fehler und Funktionen, die entfernt werden müssen. Wenn wir mehr Zeit hätten, würden wir Deep Alpha verlassen, aber vorerst können Sie die Anwendung am Ende des Artikels testen.
Nun, zum Testen
Was ist das Wichtigste beim Programmieren? Meiner Meinung nach kommt es vor allem darauf an, dass alles funktioniert und so aussieht, wie es soll. Es klappt nicht immer richtig und nicht auf Anhieb. Dies erfordert Tests. Ich habe meinen Testern ein Testmodell mit Testfällen vorgeschlagen. Zunächst werden Testfälle vollständig gemäß den Spezifikationen geschrieben und anschließend getestet. Was dabei herausgekommen ist, können Sie in den folgenden Links sehen.
Danke fürs Lesen. Ich hoffe, Sie haben hier zumindest etwas Nützliches gefunden, vielleicht eine Idee für Ihr Startup oder vielleicht einen guten Rat oder ein Tool.
Links:
Neueste
Design auf
Die Anwendung selbst ist aktiviert
Na ja, am Ende
Glaubst du, dass das alles Sinn gemacht hat?
An der Umfrage können nur registrierte Benutzer teilnehmen.
Ist eine solche Praxis in Bildungseinrichtungen notwendig und wie nützlich und anwendbar ist sie im wirklichen Leben?
-
Notwendige, unschätzbare Erfahrung
-
Erforderlich, wenn auch etwas Erfahrung
-
Nahezu nutzlos, allenfalls versteht man die allgemeinen Besonderheiten der Teamarbeit
-
Verschwendung von Zeit und Mühe
2 Benutzer haben abgestimmt. Es gibt keine Enthaltungen.
Source: habr.com