{"id":815,"date":"2011-10-08T22:13:48","date_gmt":"2011-10-08T20:13:48","guid":{"rendered":"http:\/\/robert.kolatzek.org\/wblog\/815\/die-richtige-wahl-der-software-speziallosungen-oder-doch-die-eierlegende-wollmilchsau"},"modified":"2011-10-08T22:13:48","modified_gmt":"2011-10-08T20:13:48","slug":"die-richtige-wahl-der-software-speziallosungen-oder-doch-die-eierlegende-wollmilchsau","status":"publish","type":"post","link":"https:\/\/blog.kolatzek.org\/wblog\/815\/die-richtige-wahl-der-software-speziallosungen-oder-doch-die-eierlegende-wollmilchsau","title":{"rendered":"Die richtige Wahl der Software: Speziall\u00f6sungen oder doch die Eierlegende Wollmilchsau"},"content":{"rendered":"<p>Oft steht man als Entscheider vor der Wahl: welche Software soll man einsetzen? Eine spezielle L\u00f6sung ohne viele Eingriffsm\u00f6glichkeiten oder eher etwas sehr allgemeines, was man selner steuern kann? Die Antwort ist &#8211; wie immer &#8211; kompliziert, aber nicht unrreichbar&#8230;<\/p>\n<p><!--more--><\/p>\n<p>Spezialsoftware ist meist als eine Blackbox-L\u00f6sung. Es gibt nur einen Zweck, auf den hin alles ausgerichtet ist. Gut abgestimmt, meist einfach aufgebaut, steuerbar \u00fcber einige Parameter. Ein Arbeitspferd ohne viel Tamtam.<\/p>\n<p>Damit w\u00e4re eigentlich alles schon gsagt&#8230; Aber die Realit\u00e4t ist meist nicht so einfach gestrickt. Chefs, die Sonderw\u00fcnsche (manchmal ohne einen tiferen Sinn) unbedingt umgesetzt sehen wollen. Kunden, die Sonderkonditionen durchsetzen wollen. Die Vorstellung der Vorg\u00e4nger: &#8222;Das ist doch fast dasselbe, man m\u00fcsste nur hier und da was \u00e4ndern&#8220; &#8211; nur eben vor langer langer Zeit, als man noch HIMEM.SYS per Hand eingtragen hat&#8230; Man kann durchaus Software, die f\u00fcr den Einsatzbereich X geschrieben worden ist so anpassen, dass es f\u00fcr den \u00e4hnlichen Bereich Y n\u00fctzlich w\u00e4re. Aber niemand wird bereit sein, zu garantieren, dass es mit einer neuen Version genauso gehen wird. In diesem Fall verschiebt man mehr oder weniger das Problem auf der Zeitachse, statt eine passende L\u00f6sung gleich zu suchen. (Und wenn es mit der Folgeversion funktioniert&#8230; Viel Spa\u00df mit Updates! Jede kleine \u00c4nderung muss noch einmal gemacht werden. Bei einem Update-Intervall von \u00fcber einem Jahr kann das bei gr\u00f6\u00dferer Fluktuation zum Problem werden.)<\/p>\n<p>Wie w\u00e4re es denn mit der beliebten L\u00f6sung &#8222;Excel f\u00fcr alles&#8220;? Es gibt kaum ein Unternehmen, welches nicht dieses Programm (oder eher derartige Software &#8211; der Name wird als Kategoriebezeichnung mi\u00dfbraucht) in mehreren unteschiedlichen Bereichen einsetzen w\u00fcrde: Buhhaltung (was nur zu verst\u00e4ndliche w\u00e4re), in Lagerverwaltung, Stapelverarbeitung von Daten (Import oder Export, alphabetische Sortierung gro\u00dfer Datenmengen) oder als Urlaubsplaner. Alles das geht mit Tabellenberechnungssoftware. Doch sind auch hier irgendwann die Grenzen des Machbaren oder des Hinnehmbaren erreicht: eine Aneinanderreihung von Workarrounds ist keine L\u00f6sung. Jedenfalls keine, die effizient und zukunftsf\u00e4hig w\u00e4re.<\/p>\n<p>Wenn also weder die Spezialsoftware, noch die eierlegenden Wollmichs\u00e4ue Flexiblit\u00e4t und Zweckm\u00e4\u00dfigkeit gleicherma\u00dfen bedienen, was w\u00e4re dann die richtige Wahl?<\/p>\n<p>Die Kompromisl\u00f6sung hei\u00dft &#8222;Frameworks&#8220;. Es ist keine fertige Software. Vielmehr eine solide Basis f\u00fcr einen Bau nach eigenem Wunsch. Frameworks haben bestimmte St\u00e4rken (Aufgaben, die sie besonders gut erledigen) und schw\u00e4chen (L\u00f6sungen, die man nur \u00fcber kleinere oder gr\u00f6\u00dfere Umwege erreichen kann). Sie zielen oft auf bestimmte Einsatzgebiete ab. So gibt es z.B. Frameworks f\u00fcr die Aufbereitung der Daten zu Diagramen. Diese k\u00f6nnen nicht besonders gut mit diesen Zahlen rechnen. Sie k\u00f6nnen auch nur in den wenigsten F\u00e4llen Bilder zuschneiden oder drehen. Doch was sie tun, erledigen sie recht gut&#8230; Und sie k\u00f6nnen mit den meisten anderen Programmen kooperieren. F\u00fcr die Anbindung der einen an die nderen muss man selber sorgen. Es ist keine Blackbox aber es erm\u00f6glicht eine flexible L\u00f6sung. Bei Updates ist auch hier Vorsicht geboten: einige Funktionen \u00e4ndern sich, abere kommen hinzu. Je gr\u00f6\u00dfer der Versionssprung, desto wahrscheinlicher ist eine Inkompatibilit\u00e4t der eigenen Entwicklung zum Framework. Andererseits \u00e4ndert sich an der Ausrichtung und Funktionsumfang dieser Software selten etwas. Im Bild eines Hausbaus gesprichen bleibt es ein Fundament, welches die Frage nach der Bodenbeschaffenheit obsolet macht. Es garantiert eine relativ hohe Unabh\u00e4ngigkeit von anderer Software wie Datenbanken, Pr\u00e4sentationsformate etc.<\/p>\n<p>Nat\u00fcrlich kann es Frameworks geben, die nicht genau das macht, was man sich w\u00fcnscht. Es gibt auch Frameworks, die sehr hohe Abh\u00e4ngigkeiten von bestmmter Software aufweisen. Aber wenn auch dies zutreffen w\u00fcrde, sollte man im Blick behalten, dass der Einsatz von Frameworks (in fast allen F\u00e4llen) zeitspareder, sicherer und flexibler ist, als wenn man alles selber entwickeln w\u00fcrde.<\/p>\n<p>Es gibt auch andere Probleme mit Frameworks. Viele davon betreffen aber die (nicht unwesentlichen) Hintergr\u00fcnde der Entwicklung. So setzen viele Frameworks auf sog. objektrelationale Mapper, die zwischen der relationalen Struktur der Datenbank und dem objektorientierten Datenmodel des Programms vermitteln. An sich richtig und sinnvoll&#8230; w\u00e4ren da nicht die sehr komplexen Beziehungen, die man mit JOINs abbilden kann, die Datenbank aber unn\u00f6tig stresst. Ein handgeschriebenes SQL Statement ist oft schneller und hilfreicher. Dies sind aber Hintergr\u00fcnde, die man bei der Entwicklung ber\u00fccksichtigen muss. Hat man die Wahl zwischen Standardsoftware (&#8222;von der Stange&#8220;), die noch teuer angepasst werden muss, und einer Eigenentwicklung, so muss dieses Detail ebenfalls ber\u00fccksichtigt werden.<\/p>\n<p>Deshalb mi\u00dftraue ich Softwareherstellern, die behaupten, ihre Software w\u00fcrde alle Facetten eines Einsatzgebietes abdecken. Das geht oft nur mittelm\u00e4\u00dfig und auf Kosten einer kaum zu \u00fcberblickenden Konfiguration. Einen Programmierer tauscht man dann gegen einen viel teureren Berater&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn die Standardsoftware nicht ausreicht, stellt man sich immer die Frage: Entwickeln wir selbst oder kaufen wir ein teures Produkt, das alles m\u00f6gliche kann (unter anderen, das was wir brauchen)? Beides hat Vor- und Nachteile. Welche das sind, zeigt dieser Artikel.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[3,8],"tags":[150,87,88,101],"class_list":["post-815","post","type-post","status-publish","format-standard","hentry","category-informationswissenschaft","category-software","tag-informationswissenschaft","tag-projekt","tag-projektmanagement","tag-software-co","entry"],"_links":{"self":[{"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/posts\/815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/comments?post=815"}],"version-history":[{"count":0,"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/posts\/815\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/media?parent=815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/categories?post=815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.kolatzek.org\/wblog\/wp-json\/wp\/v2\/tags?post=815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}