Sollten Sie Daten nach Excel und Word exportieren?

Ich bin der Projektmanager für eine große Anwendung, mit der Kunden Daten darüber sammeln, ob ihre Unternehmen bestimmte medizinische und finanzielle Standards erfüllen. Sie beantworten im Allgemeinen eine Umfrage, in der sie erklären, inwiefern ihre Praxis die Standards erfüllt/nicht erfüllt.

Die Anwendung verfügt über ein Tool zur Analyse dieser Informationen, sodass die Eigentümer einer Gruppe von Praxen insgesamt sehen können, wie sich die Ausstattung der Praxis verhält .

Die Eigentümer der Gruppen fordern, dass die Daten nach Excel oder Word exportiert werden können. Ich habe dies unserem Entwicklungsteam vorgelegt, und sie glauben nicht, dass es sich lohnt, riesige Excel- oder Word-Datenblätter zu exportieren. Ihre Argumente basieren auf:

  • Die Daten könnten für den Export riesig sein
  • Es gibt keine Möglichkeit für sie, mit so vielen Seiten etwas Nützliches zu tun
  • Wie würde dies für Benutzer funktionieren, die die iPhone-/Android-App des Tools verwenden?

Ich bin mit ihnen zwischen einem Stein und einem harten Ort und ich bin mir nicht sicher, wie ich sie am besten davon überzeugen kann, dass dies das ist, was wir tun müssen (abgesehen davon, meinen Fuß aufs Gaspedal zu setzen und es zu fordern!).

Eine schnelle Antwort ist, dass das Scrum-Team nicht entscheiden kann, was eine Benutzeranforderung ist oder nicht.
Reden wir über den Export von Rohdaten nach Excel? Oder zusammengefasste Daten? Teildatensätze? 100.000 Zeilen denormalisierter Rohdaten unterscheiden sich beispielsweise von Zusammenfassungen und Pivot-Tabellen. Ich würde mich zunächst sträuben (nicht bis zu dem Punkt „das mache ich nicht“ – wenn der Kunde es will …) und versuchen herauszufinden, was der Kunde zu lernen versucht … Ich bezweifle, dass JoeSchmo will Rohdaten ... sie wollen relevante Informationen.
Ich habe diese Zurückhaltung der Entwickler beim Export nach Excel schon einmal gesehen. Ich denke, es läuft darauf hinaus, dass die Entwickler nicht verstehen, wie die Benutzer mit den Daten arbeiten. Sie verstehen nicht, dass Excel für die Benutzer das ist, was so etwas wie Visual Studio für die Entwickler ist; ein vielseitiges Werkzeug, mit dem sie Daten auf unendliche Weise schnell umformatieren und umstrukturieren können. Keine vorgefertigte Anwendung kann all diese Ad-hoc-Anforderungen vorhersehen. Möglicherweise müssen Sie Ihren Fuß nach unten setzen.
Ich glaube, diese Frage sollte von einer Umformulierung profitieren und sich auf die zugrunde liegende Frage konzentrieren, wie das Entwicklungsteam die Anforderungen verstehen kann.
Zusätzlich zu der Antwort unten: Eine User Story , die der Entwicklung helfen könnte, ist der Wunsch, die offenen Antworten zu kodieren, eine gängige Technik in der Datenanalyse: Finden Sie die gemeinsamen Antworten heraus, ordnen Sie diese Kategorien zu und analysieren Sie dann die kategorialen Daten. Ich bin mir sicher, dass Excel das sehr gut kann und eine solide User Story ist. Sobald Sie anfangen, von User Stories statt von Kundenanforderungen zu sprechen, wird es Entwicklern leichter fallen, Benutzer zu verstehen.
Man konnte ihnen immer entgegenkommen. Geben Sie einen Link zu einem Google-Blatt frei, in dem alle Zellen gesperrt und von Ihrer App ausgefüllt sind. Die Benutzer können dann auf Excel herunterladen, und Ihre Entwickler müssen sich keine Gedanken darüber machen, den Workflow der Benutzer darüber hinaus zu unterstützen.
Wenn die Leute im Allgemeinen sagen "nach Excel exportieren", meinen sie nicht wirklich "nach CSV exportieren", das von Excel, aber auch von unzähligen anderen Paketen vollständig gelesen werden kann?

Antworten (7)

Der Export nach Excel ist eine Lösung, keine Voraussetzung. Sie müssen zu den Eigentümern zurückkehren und sie dazu bringen, ihre funktionalen Anforderungen an die Daten zu erläutern. Wenn Sie fertig sind, übergeben Sie es an die Entwickler und lassen Sie sie eine Lösung vorschlagen. Es kann am Ende Excel sein, weil es, wie Sie geschrieben haben, bereits vorhanden ist, oder es könnte eine andere Lösung sein, die die Anforderungen erfüllt.

Sie müssen jede Lösung mit ihren Vorteilen, Kosten, Risiken und anderen Nachteilen vergleichen. Die Tatsache, dass Excel bereits vorhanden ist und sie wissen, wie man es verwendet, ist sicherlich ein Vorteil, aber die Eigentümer kennen möglicherweise einige der Strafen nicht oder unterschätzen die Auswirkungen, die ihnen durch die Verwendung von Excel entstehen, und sind langfristig unzufrieden . Im Gegensatz dazu kostet das Erstellen einer neuen Lösung Geld und Zeit, und sie müssen es lernen – Kosten und Strafen –, aber es kann die Auswirkungen von Excel heilen und sie auf lange Sicht glücklich machen.

Nichts davon weißt du noch; Dies muss analysiert und für jede Lösung ein Fall erstellt werden. Aber alles beginnt damit, die richtigen Anforderungen von den Eigentümern zu erhalten.

Es kann auch eine Anforderung sein. Wenn das Zielteam Excel als Werkzeug der Wahl für die Datenbearbeitung verwendet, sollte es nicht eine Anfrage zum „Exportieren in eine Excel-lesbare Datei“ begründen müssen, das ist die Anforderung der Benutzer!
Ich verstehe, was Sie sagen, aber ich zögere immer noch, zuzustimmen. Ich denke, die Anforderung bleibt die Fähigkeit, Daten zu manipulieren. Die Tatsache, dass Excel das ist, was sie möglicherweise verwendet haben, ist immer noch eine Eingabe in die Nutzen-/Kosten-/Risiko-/Strafanalyse. In meiner Praxis versuche ich bei der Erhebung von Anforderungen möglichst tool-agnostisch zu bleiben. Aber am Ende des Tages, wenn der Kunde es verlangt, wird Excel zur Voraussetzung. Aber ich würde versuchen, sie davon abzubringen.

Ob es sich lohnt, ein Excel zu haben (geschäftlich) oder nicht, ist grundsätzlich nicht Sache des Entwicklungsteams. Sie müssen in der Lage sein zu sagen, ob es machbar ist, und objektiv sagen, was die Vor- und Nachteile sind (dh es wird nicht funktionieren, wenn Sie mehr als 1.000.000 Datenzeilen haben), sie können den Kunden auch darüber beraten, ob dies wirklich der Fall ist ihr Problem löst oder nicht (und wenn nicht, konstruktiv in der Lage sein, eine andere gültige Lösung vorzuschlagen), aber sie können sich nicht weigern, ein Feature zu implementieren, nur weil sie denken, dass es wertlos ist.

Das heißt, vielleicht wurde das Problem nicht genug analysiert, und das Entwicklerteam und der Kunde sind eindeutig noch nicht auf derselben Seite; Ich persönlich würde sie also zusammenstellen, damit sie das Problem besser verstehen und zusammenarbeiten können, um die beste Lösung zu finden. Der Kunde hat seinen tatsächlichen Bedarf möglicherweise nicht vollständig zum Ausdruck gebracht, und das Entwicklungsteam kann vielleicht auf eine andere Idee kommen ...

Danke dafür. Sie haben tatsächlich Probleme angesprochen (z. B. 100.000 Datenzeilen), und sie haben vorgeschlagen, das Analysetool in der App „Excel“-ähnlicher zu gestalten. Ich sehe jedoch keine Notwendigkeit dafür, weil a) Excel bereits existiert, warum also nicht einfach das verwenden, besonders wenn die Kunden damit zufrieden sind. b) Es wird monatelange Arbeit erfordern, eine Änderung am Analysetool zu entwerfen und zu implementieren, um es tabellierbar und "excel-ähnlicher" zu machen.
Ich bin Entwickler und verstehe die Sorgen Ihrer Entwickler. Der Export in ein proprietäres Excel-Format kann painfulvon der Sprache und den verfügbaren Bibliotheken abhängen. Vielleicht können Sie einen Kompromiss vorschlagen und in CSV exportieren, ein Textformat, das in Excel visualisiert, aber einfach exportiert werden kann. Auf diese Weise können Ihre Benutzer sehen, ob es machbar ist, und Entwickler werden keine Zeit damit verschwenden.
TIOBE Top 10: Java ( poi ), C ( xlsLib ), C++ ( LibExcel ), C# ( Open XML ), Python ( openpyxl ), Obj-C ( LibXL für iOS ), PHP ( PHPExcel ), VB.NET (Ziemlich sicher das ist kein Problem ... uhh ...), Javascript ( js-xlsx ), PERL ( Spreadsheet::WriteExcel ). Ich hatte buchstäblich nie ein Problem damit, Excel in einer Sprache zu lesen oder zu schreiben, mit der ich arbeiten musste ...
@jnovancho Höchstwahrscheinlich würden die Benutzer dies als "Excel-Export" betrachten und keine Ahnung haben, dass es einen Unterschied gibt.
@corsiKa Während diese Bibliotheken existieren, ist das Schreiben in ein Excel-Format im Vergleich zur Verwendung einer Bibliothek zum Schreiben einer CSV-, XML- oder JSON-Datei erheblich schwieriger. Wenn es keine zwingende Anforderung gibt, die nur innerhalb dieser Bibliotheken besteht ("wir möchten, dass die Ausgabe hübsch ist mit Farben und Rahmen - bereit zum Drucken; und Inline-Formeln, damit die Dinge richtig aktualisiert werden, wenn wir die Daten ändern"), schreiben Sie in ein ' Eine .xls-Datei anstelle einer .csv-Datei kann ein wenig Zeitverschwendung sein, wenn nur die Daten gewünscht werden.
Tatsächlich habe ich festgestellt, dass der einfachste Weg, einen Bericht zu schreiben, darin besteht, einem Benutzer ein Blatt mit Beispieldaten zu geben, ihn die Berichtslogik auf dem ersten Blatt definieren zu lassen (unter Bezugnahme auf die Spalten im zweiten) und diese dann zu laden und einzufügen den Daten-Dump in das zweite Blatt. Die Diagramme und Formeln auf dem ersten Blatt werden automatisch gerendert, wenn sie den Bericht öffnen. Es ist viel, viel leistungsfähiger als eine CSV-Datei und in jeder Sprache, die ich ausprobiert habe, absolut trivial. Ich würde so weit gehen zu sagen, dass Sie sich niemals mit einer CSV-Datei beschäftigen sollten, außer möglicherweise, weil einige Leute kein Excel verwenden (aber das ist selten).

Ich würde meine Denkweise ändern von "Wie kann ich sie überzeugen?" zu "Möchte der Benutzer wirklich nach Excel exportieren?" und "Welche Lösung wäre, meinen Kunden glücklicher zu machen und gleichzeitig Geld zu verdienen?"

  1. Sprechen Sie mit den Beteiligten. Sie denken vielleicht an Excel als vertraute Methode, um die Funktionalität zu beschreiben. (Eine Lösung, nicht die Anforderung). Aber sie könnten Excel trotzdem bevorzugen (eine direkte Anforderung). In diesem Fall:
  2. Suchen Sie nach Alternativen. CSV-Dateien können beispielsweise von Excel geöffnet werden und sind einfacher zu vergleichen. Sie können unter Linux und Mac verwendet werden und sollten einfacher zu entwickeln sein.
  3. Machen Sie dem Kunden klar, dass Sie jede gewünschte Lösung anbieten. An diesem Punkt machen Sie sich keine Sorgen darüber, mehr Stunden zu arbeiten. Sie sind besorgt darüber, eine Lösung zu entwickeln, die für sie möglicherweise nicht funktioniert. Anschließend können Sie über die Kosten sprechen, wenn dies ein Problem darstellt.
  4. Stellen Sie sicher, dass der Kunde die Probleme versteht. Sie könnten beispielsweise zwei Dummy-Excel-Dateien erstellen und ihnen mitteilen. "Wie würden Sie sie vergleichen?"
  5. Überprüfen Sie, ob die Daten zu groß für Excel sind, und einige konservative Leistungsmetriken (es kann eine Stunde dauern, um in einem nächtlichen Batch-Prozess nach Excel zu exportieren).
  6. Fragen Sie "Was haben Sie mit diesem Excel vor?". Eine Sicherung? Sie sollten in der Lage sein, die Datenbank zu sichern. Ein Bericht? Könnten Sie den Bericht automatisch erstellen?
  7. Sobald der Kunde eine Entscheidung getroffen hat, senden Sie das Protokoll, um einen schriftlichen Beweis dafür zu erhalten, dass er die Konsequenzen akzeptiert hat. Stellen Sie sicher, dass die E-Mail leicht auffindbar ist.
  8. Erklären Sie dem Entwicklungsteam, dass dies eine direkte Anforderung des Kunden ist. Nicht von Ihnen selbst und Ihren Bemühungen, nach einer besseren Lösung zu suchen. Danke ihnen für ihren Beitrag. Selbst wenn der Kunde unflexibel war, sind Sie besser dran, wenn Sie die potenziellen Probleme vorher erklärt haben.

Ich arbeite in einem sehr kleinen Büro und muss viele der Scrum-Rollen selbst besetzen, also muss ich die Seiten und Argumente für solche Entscheidungen in meinem Kopf abwägen, diese Entscheidung war für mich eine einfache Entscheidung, obwohl das Backend Der Typ konnte die Aufgabe nicht erledigen (ich mache jetzt meine eigene).

Ich habe neben einer CSV-Kopie von Flash-Datentabellen XML-Tabellen für Excel basierend auf dem erstellt, was tatsächlich in einer Actionscript-Datentabelle angezeigt wird (eine riesige Zeichenfolge, die in einen als .xml gespeicherten Notizblock eingefügt wird).

Die Erstellung von Excel-Tabellen im Backend ist trivial. Ich kann mir kein Szenario vorstellen, bei dem es sich lohnt, darüber zu streiten, anstatt nur die Anfrage zu erledigen. Sogar die Umwandlung der 1-Datentabelle in eine 3-Blatt-Excel-Datei mit Parameterdaten und Haftungsausschlüssen war nicht besonders schwierig.

Ich arbeite sehr eng mit Kunden zusammen, aber ich bin mir nie 100 % sicher, was alle ihre Endanforderungen sind. Wenn ich ihnen Excel-Ausgaben gebe, können sie 80 % aller möglichen Verwendungen und Interpretationen der Daten für 20 % des Aufwands übernehmen.

Wichtig war nicht, das Excel in die Software zu bekommen, sondern das eigentliche Problem aus dem Team herauszuholen.

Denken als Techniker Wenn die Informationen in einer Datenbank mit einer bestimmten Beschreibung gespeichert werden, ist es in der Regel nicht allzu schwierig, den Benutzern Lesezugriff auf die Tabellen zu gewähren, die sie sehen möchten, und sie dann die Daten direkt aus Excel importieren zu lassen, wobei die Anwendungsfront umgangen wird -end (Entwickler müssen nichts tun) entweder mit Excel-Datenimportfunktionen oder mit benutzerdefinierten VBA-Skripten.

Denken als Manager Sprechen Sie mit Ihrem Business Analyst, um die Anforderung in einer sinnvollen Form hinzuzufügen, oder bitten Sie alternativ den Product Owner / Projektsponsor / Chef wie eine Person, die Arbeit zu priorisieren. Es hört sich so an, als ob Sie sich in einem „Lösungsdenken“ befinden, was nicht die Aufgabe eines PM ist. Nur weil Menschen Excel lieben, heißt das nicht, dass sie tatsächlich eine Export-zu-Excel-Funktion benötigen, manchmal kann dies zu Sicherheitsrisiken führen.

Sie könnten einfach Gas geben und dem Kunden geben, was er will, aber solange die Entwickler nicht verstehen, warum das Feature nützlich ist, werden sie es wahrscheinlich nicht auf sinnvolle Weise implementieren. Sie werden Ihnen einen sinnlosen Excel-Export geben, der nicht verwendet wird, und sie werden sagen: "Sehen Sie, ich habe es Ihnen gesagt".

Ich denke, das Beste ist, die Kluft zwischen den Benutzern und den Entwicklern zu überbrücken. Nehmen Sie ein paar Entwickler, vorzugsweise diejenigen, die dem Front-End am nächsten sind und die am „menschenfreundlichsten“ sind, und lassen Sie sie die Benutzer einen Tag lang beschatten . Lassen Sie die Benutzer ihnen zeigen, was sie erreichen wollen und warum es für sie nützlich ist. Im schlimmsten Fall stellen Sie sicher, dass die Funktion tatsächlich das tut, was die Benutzer wollen (und nicht das, was sie sagen, dass sie es wollen) und im besten Fall erreichen die Benutzer und Entwickler eine kreativere Lösung, die das Problem wirklich löst.

Schließlich ist es nicht die Aufgabe des Benutzers, die Software zu entwerfen, und es ist nicht die Aufgabe des Entwicklers, die Anforderungen auszuwählen. Sie müssen zusammenarbeiten, um etwas Wertvolles zu schaffen.

Wenn Sie es dann wirklich richtig machen wollen, bringen Sie die Benutzer und die Entwickler dazu, einige Mockups zusammen zu verdrahten. Testen Sie diese Mockups an anderen Benutzern, um sicherzustellen, dass sie sie verstehen, und besprechen Sie sie dann mit dem Team, bevor Sie sie implementieren.

Letztendlich ist dies die Art von Dingen, die Ihr Interaktionsdesigner / UX-Manager tun sollte. Es ist verständlich, wenn Sie keine davon haben, aber ich empfehle, darauf hinzuarbeiten, eine zu haben. Nehmen Sie dies als Übung. Senden Sie drei Entwickler, um mit den Benutzern zu interagieren. Wählen Sie diejenige aus, auf die die Benutzer am besten reagiert haben und die die Übung am meisten zu mögen schien, und beginnen Sie damit, ihm/ihr mehr Design-ähnliche Verantwortung zu übertragen. Nicht Design wie beim Photoshopping, wie die Schaltflächen aussehen sollten, sondern Design wie beim Sammeln von Benutzergeschichten, Mockup und Benutzertests potenzieller Funktionen und Zusammenarbeit mit den anderen Entwicklern, um die Implementierungsdetails herauszufinden.

Das Exportieren großer Datensätze nach Excel kann sehr leistungsfähig sein und Ihre Anwendung für viele weitere Benutzer noch wertvoller machen. Excel verfügt über einen so reichhaltigen Funktionsumfang, dass der Versuch, es zu duplizieren, eine Verschwendung des Branchenwissens Ihrer Entwickler wäre.

Benutzer können in Excel auf nahezu beliebige Weise filtern, sortieren, Diagramme erstellen und Pivots erstellen. Können Sie jeden möglichen Workflow definieren, den die Benutzer benötigen, und ihn Ihrer App hinzufügen? Was ist mit dem Benutzer, der Daten erkunden und einige nicht offensichtliche Pivots ausprobieren möchte?

Bei großen Datensätzen stellt sich die Frage, wie groß? Der Export in eine Datenbank für Business Analytics ist möglicherweise die bessere Wahl, wenn der Datensatz groß genug ist, um Excel zu ersticken. Mehr Daten geben mir eine größere Stichprobengröße und Vertrauen, daher sehe ich dies nicht als negativ an.

Was mobile Benutzer betrifft, weiß ich nicht, dass ich auf meinem iPhone umfangreiche Analysen durchführe. Wenn ich Berichte auf meinem Handy bekommen kann, her damit. Lassen Sie sich davon nicht aufhalten!

Abschließend stimme ich Grimm dem Opiner zu 100 % zu: „Das Scrum-Team kann nicht entscheiden, was eine Benutzeranforderung ist oder nicht“. Dies liegt ganz klar beim Product Owner.