ITler besser verstehen

thrillkill

Lieutenant
Registriert
Nov. 2004
Beiträge
762
Ich arbeite als Product Manager, erzähle unserem IT Team also was der Endkonsument/ eine andere Abteilung braucht und koordiniere das mit den Jungs.

Mir würde es ungemein helfen, wenn ich besser wüsste...
- Welche Programmiersprachen (Datenbanken, APIs, Frameworks) für welche Aufgaben am besten geeignet sind.
- Welcher Aufwand für bst. Fälle ungefähr eingeplant werden muss (1 manntag oder 10?)

Es geht also nur um die Top Level Sicht, nicht das programmieren lernen selbst.
Habt ihr da Tipps für Literatur/Links/Videos?
 
Am besten geeignet ist das was deine ITler kennen und womit sie auch gut umgehen können.
 
thrillkill schrieb:
- Welche Programmiersprachen (Datenbanken, APIs, Frameworks) für welche Aufgaben am besten geeignet sind.
Allein für die Frage "Was nehme ich für eine Webanwendung?" fallen mir spontan mehrere absolut gleichwertige Sprachen/Konzepte ein: PHP, ASP.NET, Perl, Python, Ruby und (wenn auch mit anderem Profil) Node.JS
Für eine Desktop-Anwendung könnte man wunderbar in C arbeiten. Oder in C++. Oder in Java... oder C#.... oder Perl... oder Python. Der geniale Guitarhero-Clone Frets On Fire ist z.B. in Python geschrieben.

Frag deine IT'ler, welche Sprachen sie beherrschen, in welchen sie am schnellsten sind und ÜBERLASS IHNEN DIE ENTSCHEIDUNG.

- Welcher Aufwand für bst. Fälle ungefähr eingeplant werden muss (1 manntag oder 10?)
Es dauert so lang, wie es dauert.
Jedes Mal, wenn man sich als Gamer über Prerelease-Patches bei Spielen aufregt und jedes Mal, wenn das neue Office-Tool mal wieder hängt ist im Endeffekt ein Produktmanager schuld, der den Entwicklern Zeitdruck gemacht hat und somit wichtige Qualitätstests weg fielen.
 
1. Sprich mit den IT'lern, die werden dir sagen was Sache ist.
2. Glaub denen.
3. Glaub denen auch dann, wenn die sagen der Kunde will Unfug und das man das nicht machen sollte (was zweifellos vorkommen wird).

Dazu bedarf es, wie bei fast allem, einer gewissen Erfahrung und nichts davon wirst du in irgendeinem Buch lernen.
 
Sorry, das soll nicht persönlich beleidigend sein aber..

Wat bistn du fürn Project Manager? Zitronenfalter Art?..

Für mich klingt das nach:
Ich werde denen sagen was gemacht wird..

Macht ihr keine Workshops mit Kompetenzbeteiligung? Wie sieht es mit Fachgruppenmeeting aus?
Abteilungsübergreifende Kommunikation? Schnittstellen?

Wenn du hier keinen Freelancern Aufträge zuschiebst, die sie irgendwie lösen sollen, dann machst du deinen Job in meinen Augen falsch.
"Deine Jungs" müssen als Fachgruppe in diesen Fragen mit dir diskutieren und beraten... Wie kann man das nicht von sich aus schon so ansehen?
 
Ich stimme fatal_error zu.
Am schnellsten geht es wohl immer mit den bereits bekannten Werkzeugen, auch wenn die Lösung evtl. dann etwas umfangreicher ausfällt als mit anderen Mitteln.

Edit: Ich werde von unserem Produktmanagement auch meist vorher gefragt, wie lange ich bräuchte um dieses und jenes Feature umzusetzen. Und meist kann ich das dann recht gut abschätzen. Aber wie es halt so ist, kommt wenn es fertig ist, immer noch was neues hinzu. Man könnte ja noch...und das wäre auch gut..
 
Zuletzt bearbeitet:
Hi, ich habe selber lange als Entwickler gearbeitet und bin dann ins Projektmanagement gewechselt.
Kommt natürlich immer darauf an was ihr für Technologien einsetzt.
Ich denke Kenntnisse über relationale Datenbanken, SQL sind selten verkehrt.

Was auch sehr hilft sind Kenntnisse darüber wie man Softwareprojekte angeht und durchführt. Agile Softwareentwicklung, UML, BPMN, etc.
Hier habe ich mit Oose Schulungen bisher sehr gute Erfahrungen gemacht.

Gruß
 
Also wenn es Dich tröstet: ich glaube, die Probleme hat jeder Projekt-/Produktmanager.

Gerade für den ersten Teil tue ich mich schwer, Literaturempfehlungen zu geben. Die Antwort auf die Frage: welche Technologien brauche ich zur Problemlösung ist praktisch immer kontextabhängig - maßgeblich von a) der bestehenden Infrastruktur in die integriert werden muss und b) dem Wissen Deines Teams.

Aufwandsschätzung ist immer ein heikles Thema (gerade wenn Du Festpreis-Verträge mit externen Kunden machst). Ich persönlich bin ein Freund agiler Methoden. Für klassische IT/Entwickler-Teams eignet sich SCRUM relativ gut (wenn man nicht zu dogmatisch vorgeht). Ein recht brauchbares Buch zu diesem Thema ist "SCRUM mit Userstories". Ich würde Abstand davon nehmen, ohne technisches Wissen selber zu schätzen - das geht quasi immer schief. Selbst Entwickler verschätzen sich (ohne böse Absicht) zumindest anfangs bei den meisten Tasks. Von daher halte ich empiriebasierte Extrapolationen für die bessere Wahl.

Wenn Du etwas genauer umreißt, um was es geht, lassen sich aber vielleicht auch konkretere Empfehlungen geben.
 
Ich würde mir mal "The IT Crowd" ansehen.
Dann kannst du ITler verstehen :evillol:
 
Naja, das Ganze ist ziemlich komplex, wie ich finde.
Nur mal als Info zu meiner Person. Ich bin ausgebeildter FiSiund mittlerweile ca 5 Jahre im Outsourcing Business unterwegs von Betrieb bis hin zur Mitarbeit bei der Fachlichen Planung von komplexen Projekten. Dabei endet unsere Verantwortung in der Regel bei der Middelware, die Applikationen stellt bzw betreibt meist der Kunde, da wir meist keine Standardsysteme haben. Allerdings kennen wir die Applikationen und Geschäftsprozesse vom Kunden recht gut und verstehen auch die Hintergründe. Gleichzeitig habe ich ein fast vollendete BWI Studium und der Master ist in Planung ;)
Demnach würde ich von mir selbst behaupten, dir bei deiner Frage zu helfen.

Zu der Frage welche Programmiersprachen usw geeignet sind ist ein komplexes Thema.
Ja es gibt sicherlich für das konkrete Vorhaben bessere oder schlechtere Wege "Produkte". Allerdings hilft es nicht, wenn man von seinen Mitarbeitern verlangt eine Technologie einzusetzen, weil sie womöglich besser für die Anforderungen ist, eine andere aber besser kennt oder häufiger verwendet hat. Zum Beispiel macht es durchaus Sinn wenn man schon viele eigene Java Klassen entwickelt hat auf die man zurückgreifen kann, nicht auf VB umzusteigen, weil es womöglich gerade besser passt, da man hier vor allem ManPower verschwendet.
Dann sind beim Thema Datenbanken auch gerade immer die Fragen wie Lizenz/Supportkosten bzw Professioneller Support eine entscheidende Frage.

Bei der Frage nach dem Aufwand wird es nicht minder Komplex. Da gibt es verschiedene Methoden den Aufwand zu messen oder im Vorfeld abzuschätzen. Die Erfahrung und das KnowHow der Leute sind eine nicht zu unterschätzende Einflussgröße auf die Dauer. Aber im Grunde muss man sich auf die eigenen Erfahrungen verlassen, seien es die eigenen oder die des Teams. In der Praxis kenne ich die Aussage: " Linux ist nicht so schwer! CD einlegen und fertig, dass kann ich auch! Wieso braucht ihr dann 2 Tage für einen Server?!" Antwort:" Customizing! Systemmanagement Tools, Kundenuser, Filesysteme, Applikationen ...."
Kannst dir auch mal die "Function Point Methode" angucken, die hatten wir im Studium und fand die eingängig und da wir mit 30 Leuten (alle nicht im SW Bereich Tätig) für ein SW-Projekt nur eine Formale Beschreibung hatten und damit alle unabhängig voneinander recht ähnliche Aufwände bestimmt hatten.
Ansonsten stellen sich in der Praxis auch oft unvorhergesehene Probleme ein! Einem Kunden wurden Dinge verkauft, die technisch nicht ganz trivial umzusetzen waren, obwohl auf im High Level alles nach "Standard" aussah. Was ich damit sagen möchte ist, dass man zwingend mit den Experten Reden muss.
 
Zuletzt bearbeitet:
Danke für die Antworten.

Ich setze Entwickler natürlich nicht an Projekte ohne vorher ihren Rat einzuholen :freak:
Auch wenn ich die Stoßrichtung vorgebe, herrscht da keine Hierarchie.

Unsere eigenen Entwickler konnten mir nicht weiterhelfen, weil die programmieren von Null an gelernt haben, das ist nicht für mich interessant. Komplett anderer Hintergrund.

Für mich ist nur die grobe Top Level Sicht entscheidend. Brauchen wir für den Traffic eine Serverfarm oder reicht mein Handy? Dauert das einen Tag oder eher 10? Geht Magento bei 100 oder bei 100.000 Orders in die Knie? Super grobes Verständnis von der IT Seite.

Details, konkrete Pläne etc. kommt alles später zusammen mit dem Team. Ich will nur nicht wegen jeder neuen Idee zu den Entwicklern rennen, dafür haben weder sie noch ich Zeit.

Wir arbeiten oft mit SQL und php, allerdings schaue ich mir oft unterschiedliche Geschäftskonzepte und damit Softwarelösungen an, wodurch ein breites Sichtfeld hilft.

Zusammenfassend aus dem Thread was ich mir noch anschauen will:
Agile Softwareentwicklung, UML, BPMN, SCRUM, Oose Schulungen

Sehr gerne mehr Empfehlungen!
 
Trenne zwischen client-side und server-side technologien, Tools welche intern im Unternehmen genutzt werden und jene welche fürs Internet bestimmt sind. Außerdem frage eher "faule" Entwickler welche Technologien sie einsetzen würden, denn diese werden sehr schnell zum Ergebnis führen. Schlaumeier kommen dir eher mit brainfuck und vim daher.

Btw, Entwickler lieben sehr konkrete Angaben und Ziele.
 
thrillkill schrieb:
Ich arbeite als Product Manager, erzähle unserem IT Team also was der Endkonsument/ eine andere Abteilung braucht und koordiniere das mit den Jungs.

Mir würde es ungemein helfen, wenn ich besser wüsste...
- Welche Programmiersprachen (Datenbanken, APIs, Frameworks) für welche Aufgaben am besten geeignet sind.
ich versuche mal einen groben Überblick zu geben:

  • lokale Anwendungen, Desktop: bei hohen Performance-Anforderungen sollte man Sprachen bevorzugen, die nativen Code erzeugen, wie C/C++. Ansonsten kann man auch Java oder .NET verwenden, die Bytecode erzeugen, aber dafür komfortabler sind.
  • lokale Anwendungen, Embedded: hier gilt ähnliches wie auf dem Desktop, bei leistungsmäßig stark eingeschränkter Hardware bietet sich aber häufig generell nur nativer Code an. Eine Besonderheit ist hier Apple-Hardware, dort ist Objective-C Pflicht.
  • statische Webseiten: da stehen die Zeichen ziemlich eindeutig auf HTML. Allerdings sind statische Webseiten heute kaum noch interessant.
  • Webanwendungen / dynamische Webseiten: sofern die Dynamik auf Clientseite realisiert sein soll, bietet sich eigentlich nur JavaScript/jQuery an. Für serverseitige Dynamik gibt es dagegen eine unüberschaubare Vielfalt an Möglichkeiten. Von PHP über Java Servlets und Java Server Pages (JSP) hin zu ASP.NET Web Forms oder ASP.NET MVC. In Verbindung mit dem IIS geht sogar nativer C/C++ Code auf Serverseite.

Die Aufzählung erhebt wohlgemerkt keinen Anspruch auf Vollständigkeit.

thrillkill schrieb:
- Welcher Aufwand für bst. Fälle ungefähr eingeplant werden muss (1 manntag oder 10?)
das hängt ganz vom konkreten Fall ab. Das kann 1 Manntag sein, ebensogut 1 Mannjahr.
 
thrillkill schrieb:
Geht Magento bei 100 oder bei 100.000 Orders in die Knie?
Hängt natürlich auch von der Maschine ab, aber aus eigener Erfahrung kann ich sagen:
- viele Produkte (richtig viele. wir sind in einem Shop bei >3000, ein anderer wird so im Bereich von 2-2,5k liegen wenn er fertig ist) versauen eine Menge... vor allem der Aufbau des Index oder Änderungen an den Warenbeständen können ewig dauern
- wichtiger als ein stärkerer Server ist ein gut konfigurierter Server. MySQL-Einstellungen auf mehr Caching-Platz trimmen, einen PHP-Cache nutzen, den Magento-Compiler nutzen, evtl. eine RAM-Disk als Session-Speicherplatz (inkl. regelmäßiger Spiegelung auf eine Festplatte),...
- evtl. einen Load Balancer davor knallen, sonst hustet eher der Apache ab
- nicht gerade im suPHP-Modus laufen lassen. FastCGI bringt viel Entlastung

Details, konkrete Pläne etc. kommt alles später zusammen mit dem Team. Ich will nur nicht wegen jeder neuen Idee zu den Entwicklern rennen, dafür haben weder sie noch ich Zeit.
Mich würde es eher ankotzen, wenn mein Chef sich Sachen ausdenken würde, die ich dann blind umsetzen soll. Da würde er von mir regelmäßig ein "geht nicht" hören.


Sculletto schrieb:
In Verbindung mit dem IIS geht sogar nativer C/C++ Code auf Serverseite.
Nix anderes macht CGI bei nem Apache....
Aber wenn man schon C/C++ schreibt, dann kann man dem Programm auch gleich beibringen, wie es eine HTTP-Anfrage beantwortet etc., also einen kompletten Webserver draus machen.
Nix anderes macht man z.B. bei Node.JS.
 
Daaron schrieb:
Allein für die Frage "Was nehme ich für eine Webanwendung?" fallen mir spontan mehrere absolut gleichwertige Sprachen/Konzepte ein: PHP, ASP.NET, Perl, Python, Ruby

Du willst doch nicht wirklich für eine große Businessanwendung Perl,PHP oder Python empfehlen?
Für große (Business) Webanwendungen: JEE6, GWT, Vaadin, ZK, RAP etc.


Wenn du dir Scrum anschaust, würde dir sogar eine Schulung empfehlen, dann bist du der ProductOwner.
Da hast du eh "nix" zu sagen, welche Technologien zu verwenden ist, das macht das Team aus. Du stellst die Anforderungen bzw. User-Storys. Danach schätzt das Team wie lange Sie brauchen, damit hast du eigentlich auch nichts am Hut. Anhand denen Informationen setzt du dann die Prioritäten der einzelnen Storys...
 
Zuletzt bearbeitet:
Schaltnetze schrieb:
Du willst doch nicht wirklich für eine große Businessanwendung Perl,PHP oder Python empfehlen?
Für große (Business) Webanwendungen: JEE6, GWT, Vaadin, ZK, RAP etc.

Und warum nicht? Du kannst in jeder der Sprachen eine wirklich gute Software bauen, oder absoluten Bullshit, da bewahrt dich auch ein JEE nicht.
Es gibt mitlerweile viele große Business-Anwendungen die in PHP/Python geschrieben werden, da hilft auch der typische deutsche Java-Tunnelblick nicht.

Man denke nur mal an SugarCRM, einer der großen in dem Bereich, PHP. Und wenn wollte würde man noch dutzende weitere Beispiele finden, das ist bei solchem Getrolle aber echt sinnlos.
 
Schaltnetze schrieb:
Du willst doch nicht wirklich für eine große Businessanwendung Perl,PHP oder Python empfehlen?
Für große (Business) Webanwendungen: JEE6, GWT, Vaadin, ZK, RAP etc.
Schön getrollt, Löwe.
Java-basierte Lösungen sind alles andere als ein Allheilmittel. Das World of Warcraft - Forum basiert z.B. auf Java Servlets, genauer gesagt auf Apache Tomcat. Woher ich das weiß? Ganz einfach: Weil die Scheiße in den ersten Monaten nach Umstellung auf das aktuelle System regelmäßig abgestürzt ist und man als User die Fehlermeldungen sehen konnte. Hier wurde in deinem heiligen Java so eine totale Grütze zusammengecodet, dass es auf keine Kuhhaut geht:
- kein sauberes XML, Umlaute in Gildennamen veranlassten Browser, das Rendering abzubrechen
- lahm wie Sau
- eigenartige Zeichenbegrenzungen
- eigenartiges Verhalten bei manchen Sonderzeichen in Posts
Dieselbe Forensoftware von einem guten Programmiererteam auf PHP-Basis wäre 1000x besser gewesen.

Das Stichwort heißt: GUTE PROGRAMMIERER!
Idioten schreiben auch in Java nur Scheiße. Gute Programmierer schreiben dir zauberhaft schnellen PHP-Code.

Du kannst ja mal gucken, wie viele professionell eingesetzte CRM-Systeme, Shops, Foren,... auf PHP basieren. Hey, sogar CB basiert auf PHP. Die CB-Entwickler haben also keine Ahnung.
 
Zurück
Oben