
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. . 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.

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:

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

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 .
Design in .
und .
Die Anwendung selbst auf . â 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. .
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
