Wie wir versucht haben, im Team zusammenzuarbeiten und was daraus geworden ist.

Wie wir versucht haben, im Team zusammenzuarbeiten und was daraus geworden ist.

Lass uns der Reihe nach

Was dieses Bild bedeutet, erfahren Sie gleich, aber lassen Sie mich zunächst mit einer Einführung beginnen.

An einem kalten Februartag ahnte niemand, dass etwas Schlimmes bevorstand. Eine Gruppe unschuldiger Studenten kam zum ersten Mal zur Vorlesung über ein Fach, das sie "Methodologie der Organisation von Projektplanung und Entwicklung von Informationssystemen" nannten. Es war eine ganz normale Vorlesung, der Dozent sprach über agile Entwicklungsmethoden wie Scrum, und niemand ahnte, dass etwas Schlimmes bevorstand. Und am Ende der Vorlesung kündigte der Dozent an:

Ich möchte, dass ihr alle die Herausforderungen der Teamarbeit selbst erlebt. Teilt euch in Gruppen auf, denkt euch ein Projekt aus, bestimmt einen Leiter und durchlauft gemeinsam alle Phasen der Projektplanung. Am Ende erwarte ich von euch ein fertiges Produkt und einen Artikel auf Habr.

Hier beginnt unsere Geschichte. Wie Billardkugeln sprangen wir voneinander ab, bis die Energie des Aufpralls sich zerstreute und sich eine Gruppe von 7 Personen zusammenfand. Vielleicht ist das für ein Schulprojekt zu viel, aber um die Rollen besser zu verteilen, ist das genau das Richtige. Die Diskussion über Projektideen begann von "Lass uns ein fertiges Projekt nehmen" bis hin zu "Ein Emulator zur Bildung von Weltraumobjekten". Doch schließlich fand eine Idee Gehör, deren Titel ihr auf dem ersten Bild gelesen habt.

Stop Procrastination — was ist das, wofür verwenden wir es und wie haben wir daran gearbeitet und was dabei herauskam

Die Erzählung erfolgt aus der Sicht des Projektleiters, der zu meinem Glück oder Pech ich bin. Und welche Idee kam uns in den Sinn? Inspiriert von dem beliebten Alarm „Shake Alarm“ von SupperCommon, insbesondere der Funktion, die Arbeit des Smartphones vollständig zu blockieren, bis der Benutzer eine bestimmte Aktion ausführt, die ihn wahrscheinlich zum Aufwachen bringt, beschlossen wir, eine ähnliche Anwendung zu entwickeln, die helfen soll, die Abhängigkeit vom Telefon loszuwerden, nach dem Prinzip, das auch „Shake Alarm“ verwendet.

Funktionsweise

Der Benutzer stellt Timer ein
- Zeit, die man am Smartphone verbringen kann
- Zeit ohne Smartphone (Blockierungszeit)
Nach Ablauf des Timers erscheint ein Overlay auf dem Bildschirm, das nicht minimiert werden kann.
- Um das Overlay zu schließen, muss man eine kleine Herausforderung meistern (ein Passwort auf einer verwirrenden Tastatur eingeben, eine mathematische Aufgabe lösen, das Telefon ein paar Minuten schütteln)
Nach dieser Entsperrungsmethode reduziert sich die Zeit, die man mit dem Smartphone verbringen kann, um die Hälfte, bis auf eine Minute.

Wir bauen ein Team auf

Zu Beginn musste festgelegt werden, wer was macht und in welcher Sprache all dies geschrieben wird. Ich denke, das hat wenig mit Projektmanagement zu tun, denn wenn man ein Team für ein echtes Projekt zusammenstellt, nimmt man gleich die Personen, die man braucht. Letztendlich habe ich auch die Aufgabe des Designers übernommen, einen Teamleiter gewählt, der gute Erfahrung in der App-Entwicklung hatte; ihm wurden drei Programmierer unterstellt, und zwei weitere wurden zu Testern. Natürlich wurde die Programmiersprache nach den Fähigkeiten ausgewählt. Letztendlich wurde entschieden, Java zu verwenden, da alle Programmierer damit vertraut waren.

Wir setzen Aufgaben

Auf Empfehlung des Lehrers wurde ein Aufgabenboard auf einem kostenlosen Dienst erstellt. Trello. Es war geplant, nach dem Scrum-System zu arbeiten, bei dem jeder Sprint eine Art fertige Anwendung darstellen sollte.
In der Praxis entstand jedoch ein großer und langer Sprint, in den ständig Änderungen, Ergänzungen und Korrekturen eingearbeitet wurden.

Wie wir versucht haben, im Team zusammenzuarbeiten und was daraus geworden ist.

Wir schreiben Spezifikationen

Unter dem Einfluss des Buches „Testing.com“ von Savin hatte ich meine Vorstellung davon, wie alles strukturiert sein sollte. Alles begann mit dem Schreiben von Spezifikationen, denn ich glaube, ohne eine klare Beschreibung dessen, was wir erwarten, was und wie es funktionieren soll, wird nichts funktionieren. Die Programmierer werden alles nach ihrer Sichtweise programmieren, die Tester werden etwas anderes testen, der Leiter erwartete etwas Drittes, aber am Ende wird es wie immer das Vierte sein.
Spezifikationen zu schreiben ist nicht einfach, man muss alle Details und Feinheiten durchdenken. Natürlich hat beim ersten Mal nichts funktioniert. Letztendlich wurden die Spezifikationen viermal ergänzt und überarbeitet. Die letzte Version finden Sie am Ende des Artikels im Abschnitt Links.

Wir erstellen das Design

Das Design in einer mobilen Anwendung ist das Wichtigste. Doch nicht jeder versteht das, auch viele aus meinem Team haben leidenschaftlich mit mir diskutiert, dass Design nicht notwendig sei, dass es der unwichtigste Teil der Anwendung ist usw. Man sollte nicht so naiv sein. Erstens, ein fertiges Design erleichtert die Arbeit des Programmierers, er muss nicht darüber nachdenken, was wo und wohin gesteckt werden soll, er nimmt einfach das Entworfene und setzt es um. Zusammen mit den Spezifikationen befreit das Design den Verstand des Programmierers fast vollständig von unnötigen Dingen und ermöglicht ihm, sich auf die Logik zu konzentrieren. Zuerst wurde ein prototypisches (schreckliches) Design skizziert:

Wie wir versucht haben, im Team zusammenzuarbeiten und was daraus geworden ist.

Aber dann wurde das Design überarbeitet und in eine normale Form gebracht.
(Der Link zu allen Designelementen am Ende des Artikels).

Wie wir versucht haben, im Team zusammenzuarbeiten und was daraus geworden ist.

Programmieren

Programmieren ist schwierig, aber machbar. Ich überspringe diesen Punkt, da ich persönlich nicht damit befasst war. Es wurde eine enorme Arbeit von den Programmierern geleistet, ohne die alles sinnlos wäre. Natürlich ist es gelungen, einen Teil der Ideen umzusetzen. Auch das Programm benötigt noch Überarbeitungen. Es gibt viele Bugs und Features, die behoben werden müssen. Hätten wir mehr Zeit, wären wir aus der tiefen Alpha-Phase herausgekommen, aber derzeit können Sie die Anwendung am Ende des Artikels testen.

Nun, und zum Testen

Was ist das Wichtigste beim Programmieren? Meiner Meinung nach ist das Wichtigste, dass alles funktioniert und so aussieht, wie es sollte. So wie es sein sollte, kommt nicht immer und nicht sofort. Dafür ist Testen notwendig. Meinen Testern habe ich ein Testmodell mit Testfällen vorgeschlagen. Zuerst werden Testfälle in vollkommener Übereinstimmung mit den Spezifikationen erstellt und dann wird das Testen anhand dieser durchgeführt. Was dabei herausgekommen ist, können Sie unten in den Links sehen.

Danke, dass Sie gelesen haben. Ich hoffe, Sie haben hier wenigstens etwas Nützliches gefunden, vielleicht eine Idee für Ihr Startup oder einen guten Rat oder ein Werkzeug.

Links:

Neueste Spezifikation.
Design in Figma.
Testfälle und Bug-Reports.

Die Anwendung selbst auf HokeyApp. — Die Anwendung wurde unter dem Namen HandsOff erstellt, fragen Sie nicht warum (weil Stop Procrastination zu lang ist).

Und zum Schluss

Was denken Sie, hatte das alles einen Sinn?

Nur registrierte Benutzer können an der Umfrage teilnehmen. Bitte einloggen.

Ist eine solche Praxis an Bildungseinrichtungen notwendig und wie nützlich und anwendbar ist sie im realen Leben?

  • Ja, unbezahlbare Erfahrung

  • Ja, auch wenn die Erfahrung begrenzt ist

  • Fast nutzlos, im besten Fall versteht man die allgemeinen Merkmale der Teamarbeit

  • Verschwendung von Zeit und Energie

2 Benutzer haben abgestimmt. Es gibt keine Enthaltungen.

Quelle: habr.com

60GB SSD 8Gb DDR4