Wie man eine einfache technische Aufgabe macht und nicht Geld und Nerven verliert

Hallo Habr! Ich adressiere diesen Artikel an mich selbst, jĂŒnger und unerfahren, sowie an alle, die sich ĂŒber den Ansatz der technischen Dokumentation unsicher fĂŒhlen. Obwohl, wenn sie jemandem aus dem Bison des DesigngeschĂ€fts hilft, werde ich mich doppelt freuen.

Es gibt viele Standards und Spezifikationen fĂŒr die Erstellung von TK , aber wenn junge Studios bei der Entwicklung eines einfachen Online-Shops versuchen, diese einzuhalten, haben sie keine Zeit, einige Projekte umzusetzen, da sie bankrott gehen und sich in eine Reihe unverstĂ€ndlicher Dokumente graben.



Was war vorher


Wir sind ein kleines regionales Unternehmen, das sich mit kundenspezifischer Webentwicklung beschĂ€ftigt und wie viele andere am Anfang Projekte aufnahm, ohne wirklich zu wissen, wie man sie macht. Ein solches „erzwungenes Wachstum“ wirkte sich jedoch dank des großen Entwicklungswillens Ă€ußerst positiv auf die Teammitglieder aus und trug dazu bei, sowohl die FĂ€higkeiten als auch den Kopf zu steigern. Die Entwicklung wurde besser, aber das Mandat blieb auf dem niedrigsten Niveau. Wie in den meisten AnfĂ€ngerstudios haben wir fĂŒr TK den ĂŒblichen beschreibenden Ansatz verwendet: Welche Seiten, was sollte angezeigt werden, einige technische Punkte und das ist vielleicht alles.



Bei vielen Projekten fĂŒhrte dies zu folgenden Problemen:

  1. Das Aussehen wird beschrieben, aber nicht das Funktionsprinzip. Ein einfaches Beispiel mit einem Online-Warenkorb. In der Leistungsbeschreibung wurde die SchaltflĂ€che „Bestellung aufgeben“ geschrieben. Aber was soll passieren, wenn der Benutzer auf diese SchaltflĂ€che klickt? Nach welchen Regeln wird die Bestellnummer gebildet? Welchen Status hat er? Wohin geht die Weiterleitung? Und wenn eine der Waren ausverkauft war, wĂ€hrend der Benutzer eine Bestellung aufgab? Es gab keine Antworten auf diese und viele andere Fragen im ToR, aber dies ist nur ein kleines Element. Solche unbeschriebenen Momente fĂŒhrten zu Streitigkeiten mit dem Kunden, einem starken Ausstieg aus dem Budget und anderen unangenehmen Folgen.
  2. Mangel an wiederverwendbaren Blöcken. Auf vielen Websites werden dieselben Blöcke an verschiedenen Stellen verwendet, z. B. in der Produktvorschau. Dieser Block wurde jedoch auf jeder Seite beschrieben. Dies ist aus mehreren GrĂŒnden sehr schlecht. Erstens mĂŒssen bei Bedarf an mehreren Stellen gleichzeitig Änderungen vorgenommen werden, Sie können etwas ĂŒbersehen und es kommt zu einer Diskrepanz. Zweitens kann es sein, dass der Kunde selbst bei Verwendung derselben Elemente in der Vorschau diese unterschiedlich gestalten muss, was zusĂ€tzliche Kosten mit sich bringt.
  3. TK korreliert nicht mit Aufgaben fĂŒr das Team. Je weiter die Formulierung des Problems von der RealitĂ€t entfernt ist, desto geringer ist die QualitĂ€t der Ausgabe. Dies ist ein weiteres Problem, das ich lösen wollte.

Neuer Ansatz


Nachdem wir die Ziele festgelegt hatten, entwickelten wir ein neues, ziemlich einfaches, aber effektives Konzept.

TK besteht aus folgenden Abschnitten:

  1. EinfĂŒhrung
  2. Statik
  3. Dynamik
  4. Die Aufgaben
  5. Admin-Bereich
  6. Allgemeine technische Anforderungen

Von Projekt zu Projekt kann die Zusammensetzung dieser Abschnitte variieren, die Grundstruktur bleibt jedoch erhalten. Schauen wir uns das genauer an.

EinfĂŒhrung und Vorbereitung zur Umsetzung

  • Wir beschreiben kurz das Projekt, seine Ziele, CA, lassen Links zur Analyse vor dem Projekt.
  • Wir beschreiben den Prozess der Initialisierung des Projekts: Einrichtung der Umgebung fĂŒr Entwickler und Ansatz zur Entwicklung eines Designkonzepts fĂŒr Designer.
  • Die Prinzipien der AnpassungsfĂ€higkeit oder Versionierung. In unserer Arbeit halten wir uns kĂŒrzlich an das folgende Prinzip: „Alles anpassen, was sich anpasst“. Mit anderen Worten, zu Beginn der Arbeit an TK verstehen wir, welche komplexen Funktionen wir benötigen (oder möglicherweise in naher Zukunft benötigen), und entwickeln gemeinsam mit dem Designer und Front-End-Entwickler Möglichkeiten zur Anpassung. Mit dem neuen Ansatz gab es keine negativen Ergebnisse, daher mussten keine separaten Versionen beschrieben werden.

Dieser Abschnitt soll das Team auf den neuesten Stand bringen und die Voraussetzungen fĂŒr die sofortige Entwicklung des Projekts schaffen.

Statik

Wie wir alle wissen, können Seiten entweder statische oder dynamische Informationen enthalten, die vom Server gesendet werden. Statische Unterabschnitte - Projektseiten. Wir teilen jede Seite in Blöcke auf. Wenn der Block statisch ist, beschreiben wir seine Essenz und Art des Inhalts. Beispielsweise könnte eine Beschreibung eines der Blöcke auf der Seite "Über Unternehmen" folgendermaßen aussehen. „Die Hauptvorteile des Unternehmens. 5-6 beschreibende Symbole. “ Dies ist eine sehr kurze, aber fĂŒr eine genaue Beurteilung ausreichende Beschreibung des Blocks. Bei der Beschreibung der Statik besteht das Hauptziel darin, einen klaren Rahmen festzulegen. Das Erstellen adaptiver Symbole ist nicht schwierig, aber mit einem Diagramm oder einer Tabelle ist nicht alles so einfach und eindeutig. Gleichzeitig spielt es jedoch keine Rolle, welche Art von Symbolen und Signaturen es geben wird.

Wenn die Seite einen Block enthĂ€lt, der „aus den Klammern entfernt“ werden kann, schreiben wir anstelle seiner Integration „Die NAME-FunktionalitĂ€t wird integriert, und die FunktionalitĂ€t selbst wird im Abschnitt Dynamik beschrieben.

ZusĂ€tzlich zu den Seiten enthĂ€lt Statics eine Beschreibung von Popups und Buchstaben. Meiner Meinung nach macht es keinen Sinn, sie in einem separaten großen Bereich zu platzieren und die Struktur aufzublasen.

Dynamik

Alles, was sich auf Dynamik bezieht, nennen wir funktional. Vielleicht erscheint spÀter eine andere Unterteilung, weil Bereits hier gehören verschiedene Arten von Aufgaben:

  1. Blockieren Wir machen die Dynamik:
    • Blöcke, die in verschiedenen Teilen der Site verwendet werden.
    • Blöcke, die sinnvoll sind, um separat ausgewertet zu werden. Erstens vereinfacht es den Bewertungsprozess selbst und das VerstĂ€ndnis des Kunden fĂŒr die KomplexitĂ€t eines einzelnen Elements. Zweitens fallen Blöcke, die fĂŒr ein Projekt nicht wichtig sind, hĂ€ufig in diese Kategorie, und mit diesem Ansatz ist es einfacher, sie aus dem Budget auszuschließen.
    • Die Prozesse, die wĂ€hrend einer bestimmten Benutzeraktion auftreten. Dazu gehören zunĂ€chst die Aktionen, die beim Aufgeben einer Bestellung, Bezahlen, HinzufĂŒgen zum Warenkorb usw. ausgefĂŒhrt werden. Solche Funktionen wĂ€hrend der Entwicklung des Projekts werden hĂ€ufig fertiggestellt, sodass diese Verbesserungen viel bequemer zu beschreiben sind.
    • Integration von Drittanbieterdiensten. AbhĂ€ngig von der KomplexitĂ€t der Integration kann sie als eine Funktion beschrieben werden oder umgekehrt, um einzelne Abfragen zu beschreiben.

Die Aufgaben

Dieser Abschnitt wird fĂŒr Werke verwendet, die keinem der anderen Abschnitte zugeordnet werden können: Zeichnen eines Banners, Setzen eines metrischen ZĂ€hlers, Analysieren von Waren usw.

Admin-Bereich

Hier beschreiben wir die Struktur, Modelle und Felder. Die Aufteilung ist in Abschnitte unterteilt, z. B. "Produkte", "Katalog", "Bestellungen" usw. Wir beschreiben, dass verschiedene Benutzerrollen anzeigen können, was bearbeitet werden soll.

Allgemeine technische Anforderungen

Es enthÀlt einige Unterabschnitte, von denen nicht alle wirklich technische Anforderungen sind, aber auch hier war es nicht sinnvoll, sie zu trennen:

  1. SEO-Tag- und Micro-Markup-Anforderungen
  2. Transliterationsregeln
  3. Manuelle und automatische PrĂŒfung
  4. UnterstĂŒtzte Browser
  5. ...

Neue Versionen


Bei der Beschreibung neuer Versionen mĂŒssen Änderungen an vorhandenen Elementen vorgenommen werden. Wir haben die folgenden Möglichkeiten zur Beschreibung der Verbesserungen in Betracht gezogen: Schreiben Sie am Anfang jedes Abschnitts (Statik, Dynamik, AP) "Verbesserung der" NAME "-Funktion oder erstellen Sie einen separaten Abschnitt" Verbesserungen ", in dem alle sich Ă€ndernden Aufgaben gleichzeitig gespeichert werden. Bisher haben wir uns fĂŒr die zweite Option entschieden, dies hĂ€ngt jedoch eher mit der Bequemlichkeit bestimmter Projekte zusammen. Unter anderen Bedingungen ist die erste Methode besser.

Nachdem wir die technischen Spezifikationen fĂŒr die neue Version geschrieben haben, fĂŒhren wir sie zu einer zusammen, sodass die nĂ€chste auf der Grundlage eines Dokuments geschrieben werden kann.

Beispiel


Lassen Sie uns der Übersichtlichkeit halber die Struktur von TK anhand einer vereinfachten Seite im Katalogabschnitt analysieren.

Statik


Verzeichnisabschnitt Seite

Wird verwendet, um Waren anzuzeigen, die zu einem Katalogabschnitt einer beliebigen Ebene mit Ausnahme der Wurzel gehören.

Folgende Funktionen sind integriert:

  1. "Semmelbrösel"
  2. "Verzeichnisbaum"
  3. „Filtern. Allgemeine Bestimmungen “
  4. „Filtern. Text ”
  5. „Filtern. Text und Bild ”
  6. „Filtern. Reichweite ”
  7. „Sortieren. Default"
  8. „Sortieren. Aufsteigende Preise “
  9. „Sortieren. Absteigender Preis ”
  10. „Produktvorschau. Fliese ”
  11. „Paginierung. Seite ”
  12. "Textblock". Integriert als Block fĂŒr SEO-Text vor dem Keller

URL: / c / 1745-name, wobei 1745 die ID der aktuellen Verzeichniskategorie und name der transliterierte Name dieser Kategorie ist.

Dynamik


Da die Seite viele Integrationen enthĂ€lt, werde ich Beispiele fĂŒr die beiden interessantesten geben.

FunktionalitĂ€t „Filtern. Allgemeine Bestimmungen “

Extern besteht die Filterung aus einer Reihe (oder mehreren Zeilen) von SchaltflĂ€chen mit dem Namen des Filters. Wenn Sie auf die SchaltflĂ€che klicken, wird eine Dropdown-Liste mit KontrollkĂ€stchen mit Filterwerten (Werte der entsprechenden Produkteigenschaften) geöffnet. Die Breite der Dropdown-Liste hĂ€ngt von der maximalen LĂ€nge des Werts in dieser Liste ab. Im sichtbaren Bereich der Dropdown-Liste werden nicht mehr als 10 Elemente angezeigt. Wenn mehr Filterwerte vorhanden sind, wird eine Bildlaufleiste angezeigt. Unterhalb der Filterwerte befindet sich die SchaltflĂ€che Übernehmen. Wenn mindestens ein Wert ausgewĂ€hlt ist und der Benutzer auf die SchaltflĂ€che Übernehmen außerhalb des Filterbereichs oder auf die SchaltflĂ€che mit dem Filternamen klickt, gilt Folgendes:

  • Die Dropdown-Liste wird geschlossen und der Filter angewendet. Im aktuellen Bereich verbleiben nur Produkte, die den aktuell aktiven Filtern entsprechen
  • Der Name der FilterschaltflĂ€che hat die Form: "Filtername: K", wobei K die Anzahl der ausgewĂ€hlten Filterwerte ist, wenn 2 oder mehr vorhanden sind, oder "Filtername: Wert", wenn ein Wert ausgewĂ€hlt wurde.
  • Die Farbe der FilterschaltflĂ€che Ă€ndert sich je nach verwendetem Filtertyp
  • In den Werten anderer Filter bleiben nur Optionen ĂŒbrig, die den aktuell aktiven Filtern entsprechen. Wenn ein Wert in einem der inaktiven Filter verbleibt, wird seine SchaltflĂ€che inaktiv und der Name wird im Format "Filtername: Wert" angezeigt.
  • FĂŒr alle aktiven Filter wird nach dem Namen ein Kreuz hinzugefĂŒgt. Wenn Sie darauf klicken, wird nur dieser Filter zurĂŒckgesetzt
  • Die Paginierung wird zurĂŒckgesetzt

Wenn mindestens ein Filter aktiv ist, wird nach allen SchaltflĂ€chen mit Filtern die SchaltflĂ€che „Filter zurĂŒcksetzen“ angezeigt. Wenn Sie darauf klicken, wird der Wert aller Filter zurĂŒckgesetzt.

Beim Wechsel von der aktuellen Kategorie zu einer anderen wird geprĂŒft, ob die aktiven Filter und die darin ausgewĂ€hlten Werte mit den entsprechenden Filtern und den Werten der Kategorie, zu der der Übergang erfolgt ist, ĂŒbereinstimmen. In der neu ausgewĂ€hlten Kategorie bleiben die Filter und die darin enthaltenen ausgewĂ€hlten Werte aktiv.

Die Filterung kann auf zwei Arten integriert werden: dynamisch und statisch. Mit der dynamischen Integration können Sie das Merkmal festlegen, nach dem im Verwaltungsbereich gefiltert wird. Solche Integrationen werden ohne zusĂ€tzliche Parameter angezeigt. Die statische Integration wird standardmĂ€ĂŸig auf die Seite angewendet. Bei der Beschreibung der Integration wird ein zusĂ€tzlicher Parameter angegeben - die Eigenschaft, nach der die Filterung durchgefĂŒhrt wird.

AusgewĂ€hlte Filter werden der URL ĂŒber Abfrageparameter hinzugefĂŒgt.

FunktionalitĂ€t “Produktvorschau. Fliese ”

Es ist eine Kachel (Rechteck) mit den wichtigsten Produktinformationen fĂŒr den Benutzer. In der Kachelversion ist die SchlĂŒsselinformation das Produktbild. Vorschau enthĂ€lt:

  1. Preis (Ganzzahl in russischen Rubel)
  2. Produktname
  3. Beschriften Sie "Im Laden" oder "Aus dem Fenster"
  4. Bild
  5. GrĂ¶ĂŸe
  6. SchaltflÀche "In den Warenkorb" (Integration der Funktion "In den Warenkorb")
  7. SchaltflĂ€che „Zu Favoriten hinzufĂŒgen“ (Integration der Funktion „Zu Favoriten hinzufĂŒgen“)

Wenn Sie zusÀtzlich zur SchaltflÀche "In den Warenkorb" auf einen beliebigen Bereich der Vorschau klicken, werden Sie zur Produktseite weitergeleitet.

In einer Zeile sollten 3-4 Kacheln mit Produktvorschau platziert werden.

Wie Sie sehen, ist eine weitere Funktion in diese Funktion integriert, mit der Sie sehr bequeme Partitionen erstellen können. Beispielsweise werden in der ProduktĂŒbersicht auch "In den Warenkorb" und "Zu Favoriten hinzufĂŒgen" verwendet.

Admin-Bereich


Eine Seite erfordert eine große Anzahl von Abschnitten des AP, ich werde einen davon beschreiben.

Produkt

Liste aller Produkte mit Filterung. Beim Bearbeiten / HinzufĂŒgen eines Elements stehen folgende Felder zur VerfĂŒgung:

  1. Titel (Text)
  2. Marke (Radio)
  3. Bilder
  4. Preis (Ganzzahl)
  5. Beschreibung (Textblock)
  6. Typ (Laden / Schaufenster, Radio)
  7. Zustand. Die Bedeutung umfasst Titel (Text) und ErklÀrung (Text).
  8. Status Die Optionen sind:
    1. zum Verkauf
    2. auf MĂ€ĂŸigung
    3. in Überarbeitung
    4. abgelehnt
    5. ausverkauft
    6. PrĂŒfung fehlgeschlagen
    7. vom VerkÀufer storniert
  9. Tag-GrĂ¶ĂŸe (optional). Textfeld ohne Validierung
  10. ...

Es gibt mehr als 30 Felder, und um den Artikel nicht aufzublasen, lassen wir sie weg.

Schlussfolgerungen


Vorteile des neuen Ansatzes:

  1. VollstÀndigkeit . Mit dieser TK können Sie die Anforderungen klar beschreiben, die der Haupt- und notwendige Parameter jeder TK sind.
  2. Klarheit . Etwa die HÀlfte unserer Kunden hat keinen technischen Spezialisten an ihrer Seite und steht erstmals vor der Entwicklung. Daher war es sehr wichtig, TK so klar und lesbar wie möglich zu machen. Und wir haben es geschafft! Selbst technisch nicht versierte Kunden verstehen, wie es funktioniert. Sie können es leicht lesen und ein hervorragendes Feedback geben.
  3. MolekularitĂ€t TK erfĂŒllt unsere Anforderungen an die Aufteilung in einzelne Elemente vollstĂ€ndig, was die oben beschriebenen Probleme erheblich vereinfacht und löst. Blöcke TK entsprechen direkt den Aufgaben, die von den Entwicklern ausgefĂŒhrt werden, was mit einem Knall getroffen wurde. TK passt auch perfekt in das Designsystem (ein Artikel darĂŒber wird nĂ€chste Woche veröffentlicht).
  4. Einfache KostenschĂ€tzung und Konfiguration . Gut beschriebene und kaputte Aufgaben sind einfach und angenehm zu bewerten. Wenn wir wĂ€hrend der Bewertung verstehen, dass die Anforderungen unvollstĂ€ndig sind, fĂŒgen wir sie hinzu. FĂŒr jedes Projekt (Phase) erstellen wir eine Google-Tabelle, in der der Kunde verschiedene Projektkonfigurationen ausprobieren und anhand von Preis / FunktionalitĂ€t die fĂŒr sich am besten geeignete Option bestimmen kann.
  5. Die Kundeninteraktion ist auf ein neues Niveau gestiegen . Durch die vorgenommenen Änderungen können die Grenzen des Projekts klar definiert werden. Wenn Änderungen in Bezug auf TK erforderlich sind, wird dies als neue Aufgabe bewertet, obwohl dies mit dem alten Ansatz viele Kontroversen hervorrief.
  6. RentabilitĂ€t . Weil Dies ist in erster Linie ein GeschĂ€ft, dieser Indikator ist zusammen mit dem vorherigen einer der wichtigsten. Eine detaillierte Studie ermöglichte es, die Anzahl der schlecht bewerteten Aufgaben zu minimieren. Keines der im Rahmen des neuen Ansatzes umgesetzten Projekte hatte einen HaushaltsĂŒberschuss.

Nachteile:

  1. Verbesserungen vornehmen . Bei einem der Projekte musste der Status der Waren eingefĂŒhrt werden. Infolgedessen stellte sich eine große Anzahl von Verbesserungen von 2-3 Zeilen heraus. Dies kann nicht als klares Minus bezeichnet werden, weil Die VollstĂ€ndigkeit der Anforderungen hat PrioritĂ€t, aber der ideale Datenansatz kann nicht aufgerufen werden.
  2. Die KomplexitĂ€t der Wahrnehmung bei der Automatisierung von GeschĂ€ftsprozessen . Wenn Sie die GeschĂ€ftsprozesse einiger Unternehmen vom Zeitpunkt des Verkaufs bis zum Eingang der Waren beim KĂ€ufer ĂŒbernehmen, besteht nicht immer die Möglichkeit (oder Notwendigkeit in den ersten Schritten), den gesamten Prozess auf Kosten von Statics, Dynamics und AP abzudecken, weil Viele Aufgaben werden manuell ausgefĂŒhrt, telefonisch mit Kunden besprochen usw. Dies erschwert die Wahrnehmung von TK in seiner reinen Form geringfĂŒgig und erfordert eine zusĂ€tzliche Beschreibung der Prozesse.
  3. Kosten und Entwicklungszeit . Der Verkauf von TK ist natĂŒrlich schwieriger geworden, da nicht jeder beim ersten Kontakt mit der Entwicklung bereit ist, 10 bis 20% des Projekts dafĂŒr zu bezahlen, wĂ€hrend viele unserer Wettbewerber 10 bis 20 Tausend dafĂŒr verlangen. Diese Arbeit zahlt sich jedoch wĂ€hrend der Implementierung vollstĂ€ndig aus und reduziert sich Projektrisiken und QualitĂ€tsverbesserung.

Die Vorteile des neuen Ansatzes wirkten sich sehr positiv auf alle Aspekte unserer Arbeit aus und trugen dazu bei, Schwachstellen zu identifizieren, auf die wir zuvor nicht geachtet hatten. Die Nachteile sind zwar vorhanden, aber unbedeutend, insbesondere im Vergleich zu den Vorteilen.
Jedes Projekt bringt etwas Neues, poliert Ecken und ermöglicht es Ihnen, es zum Besseren zu verÀndern.

Wir sind mit dem Ergebnis so zufrieden, dass wir beschlossen haben, die Standard-Tasktracker zugunsten der Fertigstellung von Google Text & Tabellen aufzugeben, um die auf TK basierenden Aufgaben vollstĂ€ndig ausfĂŒhren zu können. Wenn das Experiment erfolgreich ist, werden wir einen separaten Artikel darĂŒber schreiben. In der Zwischenzeit warten wir auf objektive Kritik und RatschlĂ€ge von Ihnen, in der Hoffnung, dass dieser Artikel jemandem geholfen hat.

Source: https://habr.com/ru/post/de418199/


All Articles