Hier ist das Problem, mit dem ich konfrontiert bin:
Zitat aus dem Projektmanager:
Hey Spark, ich erteile Ihnen die Aufgabe, ein Framework zu entwickeln, das für viele verschiedene iOS-Anwendungen verwendet werden kann. Hier sind die Anforderungen:
- Es sollte in der Lage sein, die Dicke des Daumens oder der Finger zu erkennen, die zur Manipulation der Benutzeroberfläche verwendet werden.
- Mit diesen Informationen sollten alle Elemente der Benutzeroberfläche automatisch angeordnet und in der Größe angepasst werden .
- Für einen größeren Daumen sollten die Elemente näher an der Mitte des Bildschirms angeordnet werden.
- Für einen kleineren Daumen sollten die Elemente näher an den Ecken des Bildschirms angeordnet werden.
- Für einen größeren Daumen sollten alle Schriftarten kleiner sein. (Wir gehen in diesem Fall von einem Erwachsenen aus.)
- Für einen kleineren Daumen sollten alle Schriftarten größer sein. (Wir gehen in diesem Fall von einer jüngeren Person aus.)
Zusammenfassung:
Dieses Framework ist erforderlich, um benutzerfreundliche Benutzeroberflächen programmgesteuert zu erstellen. Das Framework sollte so entwickelt werden, dass wir es für so viele Projekte verwenden können, wie es benötigt wird. Daher muss es auch sehr entwicklerfreundlich sein.
Ich bin der Entwickler, dem diese Aufgabe übertragen wurde, daher lauten meine Fragen wie folgt:
- Wie kann ich erklären, dass diese Anforderungen ein wenig lächerlich sind?
- Wie kann ich erklären, dass es besser wäre, sich auf die Entwicklung konkreter Projekte zu konzentrieren?
- Wie kann ich das erklären, selbst wenn dies möglich wäre, würde ich nicht empfehlen, so etwas zu entwickeln?
- Wie kann ich höflich, sanft und respektvoll zu diesem Projekt NEIN sagen?
- Wie kann ich erklären, dass dies selbst für einen Entwickler mit 3 Jahren Erfahrung möglicherweise nicht möglich ist?
project-management
iphone
frameworks
ios
requirements
Sagar R. Kothari
quelle
quelle
How do I say politely, gently & respectfully NO to this?
Ein weiterer Ratschlag, den ich Ihnen geben sollte: Um die Kontrolle über Ihre Chefs zu behalten, sollten Sie sie immer zu ihren eigenen Schlussfolgerungen kommen lassen. Wenn sie dich bestellen, sag niemals nein, erkläre einfach die Fakten und diskutiere die Probleme. Versuchen Sie, sie dazu zu bringen, zu erkennen, wie dumm ihre Anfragen sind, weil sie die Details möglicherweise nicht kennen. Sie werden wahrscheinlich sehen, dass es eine blöde Idee ist und Ihnen eine andere Aufgabe geben, und Sie mussten NIE NEIN sagen. Ich sage niemals NEIN und bekomme die ganze Zeit dumme Anforderungen, die niemals passieren.Antworten:
Wenn Sie eine Reihe von Anforderungen erhalten, die physikalisch nicht zu implementieren sind, da das Gerät die gewünschte Funktionalität nicht unterstützt und nicht unterstützen kann, müssen Sie dies der Person erklären, die die Anforderungen erstellt.
Sie sollten respektvoll sein und erklären, warum die Anforderungen nicht umsetzbar sind (dh der Touchscreen kann nicht zwischen Daumen, Finger oder Stift unterscheiden. Er hat keine ausreichende Auflösung, um die Breite der Finger zu erkennen.) - Halten Sie die Dinge sachlich und zeigen Sie auf vorhandene Dokumentation, falls vorhanden.
Lassen Sie sich nicht auf emotionale Auseinandersetzungen ein und bleiben Sie cool und professionell. Jedem zu sagen, dass seine Anforderungen dumm sind, ist niemals eine gewinnbringende Strategie.
Sehen Sie nach, ob Sie sich ein Bild über die tatsächlichen Ziele der Funktion machen können - warum dies als Voraussetzung angesehen wird. Dies könnte Sie zu einer anderen, besseren Funktion führen, die den Bedarf behebt. (danke @spoike)
@ DarkStar33 schlägt in den Kommentaren vor, die Recherche durchzuführen und eine tatsächliche Schätzung der Kosten und der Dauer des Projekts abzugeben, wobei davon ausgegangen wird, dass das Ergebnis zu teuer und langwierig sein wird, um es wert zu sein. Mit Zahlen und den Daten, die sie sichern, bewaffnet zu sein, kann Ihnen sicherlich helfen, auch wenn ich mir die Geschäftsziele noch einmal ansehen würde, um zu sehen, ob sie (auch nur teilweise) auf andere Weise erreicht werden können.
quelle
"have the project lead explain the actual business goals"
ist eine großartige Idee, gib ihnen, was sie wollen, auch wenn sie nicht wissen, wie sie danach fragen sollen.Diese Anforderungen sind nicht albern, dumm oder lächerlich. Dies ist in der Tat ein sehr wichtiges Problem für Benutzer von Touchscreens, da es für Menschen mit größeren Fingern sehr schwierig ist, das Ziel zu lokalisieren, was von kleinen Fingern oft nicht verstanden wird.
Wenn Sie jedoch feststellen, dass sich diese Anforderungen nicht umsetzen lassen, weil die Sensoren des Geräts die Fingergröße nicht messen können, schreiben Sie dies einfach so: Derzeit verfügbare Geräte unterstützen diese Funktionalität leider nicht
quelle
Ich werde hier ein bisschen Devil's Advocate spielen und sagen, dass es technisch machbar ist, die Größe des Daumens einer Person zu messen. Das iPhone ist ein Multitouch-Gerät. Zur Kalibrierung können Sie den Benutzer anweisen, die Daumen oder zwei Finger nebeneinander auf den Bildschirm zu legen und den Abstand zwischen diesen Berührungen zu messen.
Dies würde natürlich Tests und Experimente erfordern, um zu sehen, wie realisierbar meine Intuition ist. Vielleicht müssten die Daumen über den Bildschirm gezogen werden, um eine bessere Lesbarkeit zu erzielen.
Trotzdem gibt es ernsthafte Usability- und Implementierungsprobleme.
quelle
Was Sie tun, ist, es ernst zu nehmen und eine Schätzung dessen abzugeben, wie lange es dauern würde, und sicherzustellen, dass die Schätzung sehr hoch und sehr detailliert ist, damit sie die hohen Zahlen nicht bestreiten können. Sobald Sie gezeigt haben, dass dies nicht wirtschaftlich ist, lassen sie Sie in Ruhe. Stellen Sie sicher, dass Sie darauf hinweisen, dass bestimmte Aufgaben derzeit nicht von der Hardware unterstützt werden und möglicherweise auch nicht durchführbar sind. Vergessen Sie nicht, für jede Art von Spezialisten zusätzliche Kosten zu berechnen, die Sie für ein Projekt dieser Größenordnung benötigen.
quelle
Die Leute bei Apple haben sich bereits intensiv mit all diesen Dingen beschäftigt und haben keine anpassbare Benutzeroberfläche gefunden, die von der Größe der Daumen und Finger abhängt.
Als Benutzer würde ich bewegliche Ziele unter meinen Fingern hassen.
quelle
Wenn Sie Probleme haben, weil Ihnen unmögliche Anforderungen gestellt werden, sollten Sie ihnen sofort mitteilen, dass dies nicht möglich ist. Je länger Sie einen Geschäftsplan für ein unmögliches Projekt erstellen lassen, desto wahrscheinlicher ist es, dass sie Sie für das Scheitern des Projekts verantwortlich machen.
Versuchen Sie vor allem, sich keine Sorgen um Dinge zu machen, die nicht Ihre Schuld sind. Wir haben alle genug zu befürchten, dass wir die Fähigkeit haben, zu kontrollieren. Wenn jemand Sie für einen solchen Projektfehler verantwortlich macht, ist dies eine Ungerechtigkeit für Sie. Glaubst Du an Karma?
quelle
Eine Möglichkeit, die unvernünftige Anfrage umzuleiten, besteht darin, dem Kunden zu helfen, die Natur des Problems zu verstehen, das er zu lösen versucht. Durch eine Planungsinterviewtechnik, die umgangssprachlich als " Poppen des Warum-Stapels " bezeichnet wird, fragen Sie weiterhin rekursiv nach dem "Warum" (natürlich auf höfliche, intelligente Weise):
Ziel ist es, den Kerngeschäftswert des Features zu erreichen:
(Artikel aus dem Gurken- Wiki)
Wenn die Funktion nicht in eine dieser Kategorien passt, kann dies dem Kunden helfen, zu erkennen, dass entweder wichtigere Dinge im Vordergrund stehen, oder Sie können ihn durch diesen Denkprozess beraten, wie er das Problem angehen kann. Sie versuchen, auf eine sinnvollere Weise zu lösen. Häufig liegt das eigentliche Problem auf einer höheren Abstraktionsebene als das Problem, dessen Behebung Sie angefordert haben.
So verwenden Sie Ihr Beispiel für das Scannen von Daumengrößen:
quelle
Often the real problem lies at a higher level of abstraction than the problem they've requested you to fix.
Haftungsausschluss - Ich weiß nicht, ob Ihre Anfrage möglich ist, und wenn dies möglich ist, müssen Sie bestimmen, wie lange es dauern würde, und Ihrem Vorgesetzten dieses Feedback geben. Aber ich schreibe diese Antwort mit der Annahme, dass sie nicht machbar ist, zumindest unter Verwendung des Standard-Frameworks - und ich erweitere meine Antwort auf den allgemeineren Fall, wenn Sie wirklich etwas nicht können oder sollten.
Sag einfach nein.
Es gibt viele "Sag niemals Nein" -Antworten in diesem Thread, von denen ich glaube, dass es eine sanfte und unterwürfige Haltung ist. Denken Sie so darüber nach - ich bin der technische Experte in diesem Team, und meine anderen Teammitglieder versuchen, etwas zu tun, das meiner Meinung nach nicht machbar, überkompliziert und möglicherweise nicht möglich ist. Es liegt in meiner Verantwortung, nein zu sagen.
Natürlich kann und sollte ich leise nein sagen; Ich kann "nachdrücklich empfehlen", während ich anbiete, "zu untersuchen, ob es möglich ist", bevor ich nein sage. Aber letztendlich werde ich nein sagen, weil das mein Job ist.
Es gibt so viele Analogien dazu
Sie können alle diese Personen bitten, Aufgaben auszuführen, von denen sie wissen, dass sie albern, verschwenderisch, gefährlich oder falsch sind. Und Sie würden erwarten, dass sie alle von diesen Maßnahmen abraten und sie letztendlich ablehnen (zumindest würde ich das hoffen). Wenn einer dieser Profis antwortete: "Hmm, okay, ich denke, wir können das schaffen."
Ihre Kollegen werden Ihre Ehrlichkeit schätzen und respektieren, und Sie sparen jedem viel Zeit und Geld, wenn Sie nützliche Rückmeldungen geben, anstatt etwas zu tun, von dem Sie wissen, dass es nicht funktioniert.
quelle
Es sollte nicht zu schwierig sein, Ihrem Kunden mitzuteilen, dass Sie etwas nicht implementieren können, was Ihre Zielplattform nicht zulässt. Aber treten Sie einen Schritt zurück und fragen Sie sich, was ist die Logik hinter diesen ziemlich lächerlichen Anforderungen? Soweit ich weiß, sind sie sehr besorgt über die Benutzerfreundlichkeit. Dann fragen Sie sie, graben Sie etwas tiefer, bis sie Ihnen dasselbe sagen: "Wir wollen eine benutzerfreundliche Oberfläche". Führen Sie sie dann dahin, was machbar ist und was nicht. Sagen Sie ihnen, dass es für eine einfache Benutzeroberfläche einfache (und kostengünstigere) Möglichkeiten gibt, z. B. den Benutzer die Schrift- / Symbolgröße festlegen zu lassen (ich gehe davon aus, dass dies auf dem IoS möglich ist). Vielleicht können Sie den Benutzer die Schriftgröße / Symbolgröße und Anordnung für die Anwendung über eine Registerkarte "Einstellungen" steuern lassen? Das sollte einfacher (und genauer!) Sein, als das Alter einer Person anhand der Daumengröße zu erraten! Das Letzte, was sich Ihr Manager wünschen würde, ist unnötiger, aufgeblähter und schwer zu pflegender Code, der das gleiche Ergebnis erzielt, das das Betriebssystem bereits bietet. Teilen Sie Ihrem Kunden mit, dass Benutzer es vorziehen, die Anwendung zu steuern, anstatt sie in einer Weise zu steuern, die sie wütend machen kann.
quelle
Meine Antwort wäre, ich würde anfangen, mich mit einigen dieser unerprobten Technologien zu befassen und sie wissen zu lassen, ob dies überhaupt möglich ist. Basierend auf diesen Entdeckungen kann ein potenzieller Entwicklungsplan gestartet werden.
Ich glaube nicht, dass Sie in der Lage sind, den Daumen einer Person von einer anderen Person zu unterscheiden, aber Sie können möglicherweise die Finger so dimensionieren, dass Sie wissen, wann sie den Daumen verwenden. Das eigentliche Problem ist, dass der Daumen unter Umständen nicht mehr Platz auf dem Bildschirm berührt als andere. Niemand benutzt jemals ein Telefon mit dem Daumen und legt es flach auf den Bildschirm, als würde man sich einen Daumenabdruck machen lassen.
Verlassen das Unternehmen. Finde heraus, wie es geht. Verkaufen Sie es für viel mehr Geld, als Sie jetzt verdienen.
quelle
Wenn es um Anforderungen geht, mache ich das normalerweise so: Ich versuche abzuschätzen, wie lange es dauern würde, eine bestimmte Anforderung zu realisieren.
Fragen Sie bei Anforderungen, die möglicherweise nicht möglich sind, nach einigen Tagen oder zu einem beliebigen Zeitpunkt, um herauszufinden, ob dies möglich ist. In Ihrem Fall lautet die Frage: "Ist es möglich zu bestimmen, wie dick der Finger des Benutzers ist?"
Tatsächlich ist diese Frage noch etwas komplexer: "Ist es möglich, in weniger als 200 Millisekunden zu bestimmen, wie dick der Finger des Benutzers nach der ersten Berührung ist, um eine sofortige Interaktion zu ermöglichen?" (Ersetzen Sie zuerst durch 2. oder ... und 200 ms durch 300 ms oder was auch immer ...)
Vielleicht dauert es sogar einen Monat, diese Frage zu beantworten. Selbst wenn dies mehr oder weniger machbar ist, benötigt man vielleicht einen superkomplexen Algorithmus, der nur in 80% der Fälle gut funktioniert.
Sie sehen, wohin ich gehe?
Menschen machen oft falsche Annahmen über Möglichkeiten, weil sie über wenig Fachwissen und Erfahrung auf dem betreffenden Gebiet verfügen. Deshalb kann man nicht mit Intuition argumentieren, sondern braucht Fakten.
Wenn die anderen Stakeholder erkennen, dass diese Funktion zwei Mannjahre in Anspruch nehmen würde und das iPhone 10 vor 2014 eintreffen muss, werden ihre Anforderungen schnell reduziert.
quelle
Das klingt komplex, aber überhaupt nicht unmöglich. Der Punkt, an dem der Touchscreen nicht zwischen einem Daumen, einem Mittelfinger oder einem Stift unterscheiden kann, ist umstritten. Der Benutzer wird bei der Initialisierung (Sitzungsstart, was auch immer) aufgefordert, einen Daumen, dann einen Mittelfinger usw. zu platzieren, um die Größen zu kalibrieren (einige statistische Mittelwerte zu bilden), indem er mehrere Bewegungen usw. verwendet.
quelle
Ich würde in Betracht ziehen, das Grundproblem auf eine andere Weise zu lösen, bevor ich sage, dass dies nicht möglich ist.
Wenn der Benutzer beispielsweise häufig versucht, auf eine kleine Schaltfläche zu klicken, und diese überspringt, können Sie den Bereich um die Schaltfläche beobachten und damit alle anderen Klicks neu kalibrieren.
Eine kreative Lösung wie diese zu präsentieren, ist wahrscheinlich das, was sie wollen, als Sie auf magische Weise zu bitten, die Breite eines Fingers herauszufinden (was Sie ihnen mitteilen können, ist nicht in der API enthalten).
Es kann immer noch schwierig sein, einen Bereich um die Tasten zu platzieren, um Fehler zu erkennen. Schätzen Sie also mehr Stunden.
quelle
Sag nicht direkt nein, das würde seine Gefühle verletzen. Machen Sie einfach klar, dass es aus technologischen Gründen zu 60% jedes Mal funktioniert.
Und sobald er die Unpraktikabilität und die Kosten eines solchen Unternehmens erkannt hat, schlagen Sie einen praktischeren Ansatz in seinem Budget vor, beispielsweise eine Einstellung, mit der Sie die Textgröße ändern können. Und die Russen nahmen einen Bleistift ins All.
Versuchen Sie, ihn dazu zu bringen, das Problem und die Anforderung und nicht die Lösung und das Design für zukünftige Projekte anzugeben.
quelle
Was ich gerne mache, ist, das Problem aus einer Teamperspektive zu betrachten. In diesem Fall müssen der Projektmanager und ich eine Lösung finden. Ich zeige auch gerne, dass ich aufgeschlossen bin. Wenn ich höre, was ich für unmöglich halte, besteht die Möglichkeit eines Missverständnisses zwischen mir und dem Projektmanager. Oder vielleicht haben wir diesen Aha-Moment noch nicht erreicht.
Sobald wir uns entschließen, einen Sprung zu wagen und ein offenes Gespräch zu führen, finde ich es am einfachsten, das Problem als wirtschaftliches zu behandeln. In der Technik ist bei unendlich vielen Ressourcen fast alles möglich. Oft ist es der einfachste Weg, respektvoll "Nein" zu sagen, wenn man darüber spricht, was zu tun wäre. Auf diese Weise könnten mögliche Missverständnisse ausgeräumt werden. Obwohl wir, um ehrlich zu sein, nicht ganz nein sagen. Und was ist der Zweck, nein zu sagen? Wenn sich die Arbeit nicht lohnt, spielt es keine Rolle, ob wir sie machen wollen oder nicht.
quelle