<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software-Entwicklung-Archiv - INDAL Software-Spezialist</title>
	<atom:link href="https://indal.de/category/software-entwicklung/feed/" rel="self" type="application/rss+xml" />
	<link>https://indal.de/category/software-entwicklung/</link>
	<description></description>
	<lastBuildDate>Mon, 20 Jan 2025 13:32:45 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://indal.de/wp-content/uploads/2023/12/cropped-INDAL-Segel_512x512_transparent-32x32.png</url>
	<title>Software-Entwicklung-Archiv - INDAL Software-Spezialist</title>
	<link>https://indal.de/category/software-entwicklung/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ist KI der bessere Softwareentwickler?</title>
		<link>https://indal.de/software-entwicklung/ist-ki-der-bessere-softwareentwickler/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Wed, 29 May 2024 15:09:41 +0000</pubDate>
				<category><![CDATA[Software-Entwicklung]]></category>
		<guid isPermaLink="false">https://indal.de/?p=4975</guid>

					<description><![CDATA[<p>Es ist wenig überraschend, dass mit den überraschenden Ergebnissen der generativen Künstlichen Intelligenz in den letzten Monaten der Gedanken aufgetaucht ist, dass die Entwicklung von Software selbst bald schon von ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/ist-ki-der-bessere-softwareentwickler/">Ist KI der bessere Softwareentwickler?</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Es ist wenig überraschend, dass mit den überraschenden Ergebnissen der generativen Künstlichen Intelligenz in den letzten Monaten der Gedanken aufgetaucht ist, dass die Entwicklung von Software selbst bald schon von den Large Language Models (LLM) übernommen werden kann. Visionäre populäre Vorstellungen von Maschinen, die selbst Maschinen konstruieren, treffen hier mit plausiblen Überlegungen über die Voraussetzungen und Prinzipien erfolgreicher KI-Systeme zusammen: In den letzten Jahrzehnten hat sich eine riesige Menge von Softwarecode in frei verfügbaren oder jedenfalls gut erschließbaren Repositories angesammelt, zugleich gibt es gut gepflegte Plattformen, auf denen Softwareentwickler aus aller Welt Lösungen für Programmieranforderungen bereitstellen. All das kann man nutzen, um ein LLM zu trainieren, das dann entsprechende Anfragen mit der Bereitstellung von brauchbarem Code beantwortet.</p>



<p>Zweifellos wird das der Softwareentwicklung Produktivitätsgewinne bringen, wobei man sich schon ganz genau anschauen muss, wie ein Programmierer heute Ideen und Lösungsansätze für einzelne Herausforderungen eines komplexen Softwareprojektes recherchiert und in seine Entwicklungsarbeit einfließen lässt. Ob der Vorschlag einer KI da tatsächlich besser ist als die Hilfestellungen anderer Entwickler, die sich auf den verschiedenen Portalen finden lassen – und auf denen ein LLM letztlich aufbaut – sei dahingestellt.</p>



<p>Die Erwartung, dass LLMs in kurzer Zeit professionelle Softwareentwickler nahezu überflüssig machen, zeugt aber vor allem von falschen Vorstellungen über die Arbeit, die tatsächlich insbesondere in einem individuellen Softwareprojekt steckt.</p>



<h3 class="wp-block-heading">Anforderungs-Analyse braucht den verständnisvollen Dialog</h3>



<p>Da ist zunächst die Erarbeitung eines gemeinsamen Verständnisses von den Anforderungen und Zielen des Kunden. Hier muss viel implizites Wissen durch den erfahrenen Entwickler, der die Anforderungen spezifiziert, abgerufen und strukturiert werden. Anders gesagt: die Anforderung, die ein LLM als Prompt verstehen könnte, muss ja erst einmal so formuliert werden, dass sie tatsächlich vollständig und eindeutig ist. Sodann muss eine Softwarearchitektur erdacht werden, die eine wartungsfreundliche, erweiterbare und änderbare Lösung ermöglicht. Ein großer Teil der professionellen Softwareentwicklung besteht immer in der Berücksichtigung und Einarbeitung von Änderungswünschen. Das wird so schnell auch nicht anders werden, denn ob die Software für die Praxis wirklich geeignet ist, zeigt erst der Test in der Praxis. Nicht die Produktion von neuem Code ist die wichtigste Aufgabe professioneller Softwareentwicklung, sondern die Änderung und Erweiterung von bestehendem Code.</p>



<h3 class="wp-block-heading">Guten Code schreiben, der wartbar ist</h3>



<p>Von Anfang an eine Software so zu schreiben, dass sie auch geändert werden kann und dass noch nach Monaten verständlich ist, was sie genau tut, das ist nur mit der Erfahrung und der Ausbildung von Informatikern möglich. KI-Quellcode löst zwar oft ein konkretes Einzelproblem und ist somit auch nützlich als Vorlage, muss aber durch verantwortungsvolle Entwickler so geändert werden, dass er zu den Richtlinien der Wartbarkeit passt. Sonst entsteht sogenannter Spaghetti-Code oder ein Kartenhaus aus Codezeilen, das zusammenfällt, sobald man daran etwas ändern muss.</p>



<p>Schließlich gehören zum Softwareprojekt die verschiedenen Teststufen. Die Arbeit des Testers beginnt bei der Überlegung, welche Fehlersituationen auftreten können, und welche Testdaten gebraucht werden, welche Testfälle ausgeführt werden müssen. Auch hier ist natürlich denkbar, dass KI unterstützt, aber mit einem einfachen LLM ist es da eben nicht getan. Den Benutzer bei den Tests zu beobachten, seinen suchenden Blick beim ersten Versuch, mit der Software einen Geschäftsprozess abzubilden, die Reihenfolge seiner Interaktionen nachzuvollziehen – auch da dürfte der Mensch mit allen seinen Sinnen, der Entwickler, der selbst auch Anwender ist, auf lange Sicht unverzichtbar sein.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Künstliche Intelligenz wird die Softwareentwicklung unterstützen können. Wer stabile und benutzerfreundliche, wartbare und gut getestete Software für die Unterstützung von Geschäftsprozessen braucht, sollte in den nächsten Jahren aber nicht zu viel von Generativen KI-Systemen erwarten. Sonst läuft man Gefahr, Software zu bekommen, die zwar billig produziert ist, deren Betriebs- und Wartungskosten aber hoch sind und die kaum an neue Anforderungen angepasst werden kann. Und gerade das wird auch in Zukunft immer wichtiger sein.</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/ist-ki-der-bessere-softwareentwickler/">Ist KI der bessere Softwareentwickler?</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Web-Lösung für das Baustellenmanagement</title>
		<link>https://indal.de/software-entwicklung/web-loesung-fuer-das-baustellenmanagement/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Fri, 13 Apr 2018 12:57:37 +0000</pubDate>
				<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Individualsoftware]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[weblösung]]></category>
		<category><![CDATA[zend]]></category>
		<guid isPermaLink="false">https://indal.de/?p=3113</guid>

					<description><![CDATA[<p>Bauträger kennen das Problem: Auch bei relativ kleinen Bauvorhaben und Sanierungen müssen viele verschiedene Handwerker unter einen Hut gebracht werden. Da kann man schnell den Überblick verlieren, vor allem, wenn ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/web-loesung-fuer-das-baustellenmanagement/">Web-Lösung für das Baustellenmanagement</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Bauträger kennen das Problem: Auch bei relativ kleinen Bauvorhaben und Sanierungen müssen viele verschiedene Handwerker unter einen Hut gebracht werden. Da kann man schnell den Überblick verlieren, vor allem, wenn man viele Baustellen gleichzeitig zu betreuen hat.</p>
<h3>Baustellenmanagement online</h3>
<p>Viele Fragen müssen im Blick behalten werden</p>
<ul>
<li>sind alle Gewerke schon terminiert?</li>
<li>ist überall ein Handwerksbetrieb eingeplant?</li>
<li>Wer ist wann auf welcher Baustelle?</li>
<li>Wie ist der Baufortschritt?</li>
</ul>
<p>Für das Management dieser Herausforderungen hat INDAL jetzt eine <a href="https://indal.de/individualsoftware-vorteile-kritierien/">individuelle Web-Lösung</a> für einen Kunden im Münsterland entwickelt. Sowohl der Bauträger, als auch die Projektleiter und die Handwerksbetriebe können online sehen, was geplant ist und welchen Status die einzelnen Gewerke und die Baustelle insgesamt gerade haben.</p>
<p>Ein entsprechendes Berechtigungskonzept sorgt dafür, dass jeder genau die Daten sehen oder ändern darf, die für ihn von Bedeutung sind. Sowohl die Zuordnung vom Handwerkern zu Gewerken als auch die Fertigmeldungen der Handwerker erfolgen online und sind damit immer für jeden aktuell sichtbar, der diese Informationen braucht</p>
<h3>Moderne Benutzeroberflächen mit PHP, jQuery und ZEND</h3>
<p>Die modernen Entwicklungswerkzeuge, die INDAL für die Entwicklung individueller Lösungen verwendet, sorgen dafür, dass die Benutzer eine intuitive und übersichtliche Weblösung bekommen. In diesem Fall arbeiten wir mit <a href="https://indal.de/webseiten-orientierte-anwendungen-mit-php-und-jquery/">PHP, jQuery und ZEND 3</a> Einfache Übersichten und Dialoge erlauben die fehlerfreie Benutzung auch auf dem Tablet.</p>
<p>Im nächsten Schritt ist die Entwicklung einer App für Smartphones geplant, mit der die Handwerker schnell die Aufgaben sehen können, die ihnen zugeordnet sind, und zurückmelden können, auf welchen Baustellen sie gerade arbeiten und welche Aufgaben abgeschlossen sind.</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/web-loesung-fuer-das-baustellenmanagement/">Web-Lösung für das Baustellenmanagement</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ein Blick auf Dieselgate aus Sicht eines Softwareentwicklers</title>
		<link>https://indal.de/software-design/ein-blick-auf-dieselgate-aus-sicht-eines-softwareentwicklers/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Thu, 24 Sep 2015 15:46:30 +0000</pubDate>
				<category><![CDATA[Software-Design]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Systeme]]></category>
		<category><![CDATA[Technik]]></category>
		<category><![CDATA[Dieselgate]]></category>
		<guid isPermaLink="false">http://indal.de/?p=2656</guid>

					<description><![CDATA[<p>Laien mögen die Vorstellung haben, bei VW hätten vielleicht zwei oder drei Manager mal eben beschlossen, die Software der VW-Dieselmotoren zu manipulieren und sich dann vielleicht einen korrupten Programmierer gesucht, ...</p>
<p>Der Beitrag <a href="https://indal.de/software-design/ein-blick-auf-dieselgate-aus-sicht-eines-softwareentwicklers/">Ein Blick auf Dieselgate aus Sicht eines Softwareentwicklers</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Laien mögen die Vorstellung haben, bei VW hätten vielleicht zwei oder drei Manager mal eben beschlossen, die Software der VW-Dieselmotoren zu manipulieren und sich dann vielleicht einen korrupten Programmierer gesucht, der das dann umgesetzt hat.</p>
<p>Aber so ein Szenario ist sehr unwahrscheinlich. Das elektronische System eines modernen Autos ist hoch komplex, gerade kürzlich schrieb jemand, bei diesen Autos handle es sich eigentlich um Computer, die Daten sammeln und Prozesse steuern und zufällig auch fahren können. Die Entwicklungsprozesse sind nicht minder komplex: Da werden Pakete und Releases geplant, designt und realisiert und umfangreiche Tests konzipiert, durchgeführt und dokumentiert.</p>
<p>Die fragliche Manipulation ist ein Change Request, der eine Vielzahl von Nebenwirkungen haben kann und deshalb umfassend getestet werden muss. Schließlich will ja niemand, dass das Auto plötzlich auch auf der Straße so läuft, wie beim Abgastest, oder dass es plötzlich ganz zum Softwareversagen kommt.</p>
<p>Es ist deshalb ganz unwahrscheinlich, dass nur ein paar wenige Leute von den Manipulationen gewusst haben. Anderenfalls gäbe es bei VW keine systematische Qualitätssicherung, keine unabhängigen Tests von Software und Systemkomponenten. Das wäre nicht nur noch schlimmer, als das, was jetzt schon ans Licht gekommen ist, es wäre unter solchen Bedingungen kaum möglich, noch Autos zu produzieren, die fahren.</p>
<p>Also werden sehr viele Leute gewusst oder vermutet haben, was da läuft. Manager, Programmierer, Tester, Ingenieure, Arbeiter. Sie fanden das offenbar alle nicht erwähnenswert. Mancher von ihnen wird auch mal zu einem anderen Autobauer gewechselt haben. Dass da bisher gar nichts ans Licht gekommen ist, lässt mich vermuten, dass dieses Verhalten branchenüblich ist.</p>
<p>Der Beitrag <a href="https://indal.de/software-design/ein-blick-auf-dieselgate-aus-sicht-eines-softwareentwicklers/">Ein Blick auf Dieselgate aus Sicht eines Softwareentwicklers</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Geschäftsprozesse digitalisieren &#8211; Chancen und Risiken</title>
		<link>https://indal.de/anforderungsanalyse/geschaeftsprozesse-digitalisieren-chancen-und-risiken/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Wed, 18 Feb 2015 13:17:21 +0000</pubDate>
				<category><![CDATA[Anforderungsanalyse]]></category>
		<category><![CDATA[Software-Design]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Digitalisierung]]></category>
		<category><![CDATA[Individualsoftware]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=2511</guid>

					<description><![CDATA[<p>Auf unserer Webseite steht: Wir digitalisieren Ihre Geschäftsprozesse. Das bedeutet zunächst einmal, dass wir dafür sorgen, dass die Abläufe bei unseren Kunden, Unternehmen oder Behörden, durch individuelle Softwarelösungen unterstützt werden. ...</p>
<p>Der Beitrag <a href="https://indal.de/anforderungsanalyse/geschaeftsprozesse-digitalisieren-chancen-und-risiken/">Geschäftsprozesse digitalisieren &#8211; Chancen und Risiken</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Auf unserer Webseite steht: Wir digitalisieren Ihre Geschäftsprozesse. Das bedeutet zunächst einmal, dass wir dafür sorgen, dass die Abläufe bei unseren Kunden, Unternehmen oder Behörden, durch <a title="Individualsoftware: Vorteile und Kriterien" href="http://www.indal.de/individualsoftware-vorteile-kritierien/">individuelle Softwarelösungen</a> unterstützt werden. Wir analysieren dafür die Prozessabläufe, <a title="Zweistufige fachliche Anforderungsspezifikation" href="http://www.indal.de/2011/03/24/zweistufige-fachliche-anforderungsspezifikation/">spezifizieren</a> die Anforderungen und entwerfen eine Softwarelösung, die diesen Anforderungen optimal entspricht.</p>
<p>So weit &#8211; so gut. Aber als Geschäftsführer dieses Unternehmens, der gleichzeitig <a title="Jörg Friedrich, IT-Unternehmer und Philosoph" href="http://www.kritikdervernetztenvernunft.de">Philosoph ist</a>, kann ich bei dieser etwas oberflächlichen Betrachtung nicht stehenbleiben.</p>
<p>Digital, das bedeutete bekanntlich ursprünglich: Ja oder Nein, Wahr oder Falsch, 1 oder 0. Wir wissen, dass irgendwo tief in den Computern, mit denen wir die Digitalisierung vorantreiben, immer noch das elektronische Schaltprinzip und die einfache mathematische Logik des Ja-oder-Nein gilt. Aber darüber sind viele Schichten von Software gelegt, und an der Benutzeroberfläche, so scheint es, ist nichts mehr digital: Da gibt es Nachkommastellen, Texte, Bilder, viele mögliche Werte.<span id="more-2511"></span></p>
<p><figure id="attachment_2515" aria-describedby="caption-attachment-2515" style="width: 300px" class="wp-caption alignleft"><a href="http://www.indal.de/wp-content/uploads/2015/02/000016.jpg"><img fetchpriority="high" decoding="async" class="size-medium wp-image-2515" src="http://www.indal.de/wp-content/uploads/2015/02/000016-300x202.jpg" alt="Die digitale Welt" width="300" height="202" /></a><figcaption id="caption-attachment-2515" class="wp-caption-text">Die digitale Welt</figcaption></figure></p>
<p>&#8220;Digitalisierung&#8221; &#8211; das scheint nur noch ein Wort zu sein, ein Synonym für &#8220;Computernutzung&#8221; oder &#8220;Vernetzung im Internet&#8221;, und scheint nichts mehr mit der ursprünglichen Bedeutung zu tun zu haben. Aber dieser erste Eindruck trügt, das merkt man immer, wenn man bei der Anforderungsanalyse und der Softwarespezifikation etwas genauer hinschaut. Noch immer treffen wir da wichtige Ja-Nein-Entscheidungen, und noch immer müssen wir uns ständig zwischen Wahr und Falsch entscheiden.</p>
<p>Digitalisierung von Geschäftsprozessen, das müssen wir zunächst mal ganz klar eingestehen, bedeutet, die unendliche Vielgestaltigkeit der realen Vorgehensweisen und Abläufe auf ein paar Standard-Prozesse abzubilden, Ausnahmen zu verbieten, Normen zu setzen.</p>
<p>Das hat viele Vorteile. So kann man verlangen, dass wichtige Stammdaten von Kunden bereits am Anfang eines Bestellprozesses angelegt werden. Damit ist man sicher, dass die Daten auf jeden Fall im System sind, wenn sie gebraucht werden.</p>
<p>Auf der anderen Seite, das hat wohl schon fast jeder erlebt, ist man auf diese Weise den eingeschränkten Optionen der Software ohnmächtig ausgeliefert, ob man der Benutzer oder der Betroffene ist. Digitalisierung bedeutet, eben auch &#8220;Alles oder nichts&#8221;. Mal etwas kurz am Rand notieren, ein Wort dahin schreiben, wo eine Zahl hingehört, etwas schon mal aufnehmen oder halbfertig beiseite legen, all das ist nach der Digitalisierung oft nicht mehr möglich.</p>
<p>Wir müssen die Rede von der Digitalisierung ganz wörtlich nehmen, und die Konsequenzen im konkreten Fall ehrlich und offen beurteilen. Nur so ist es möglich, die Chancen zu nutzen und die Risiken zu beherrschen. In einer digitalen Welt, in der es nur noch Schwarz und Weiß, aber kein Grau und schon gar kein Regenbogenspektrum mehr gibt, will ja dann doch niemand leben. Wir müssen unsere Software so gestalten, dass sie mehr erlaubt als verbietet.</p>
<p>Der Beitrag <a href="https://indal.de/anforderungsanalyse/geschaeftsprozesse-digitalisieren-chancen-und-risiken/">Geschäftsprozesse digitalisieren &#8211; Chancen und Risiken</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Keine Computer-Intelligenz in Sicht</title>
		<link>https://indal.de/software-entwicklung/keine-computer-intelligenz-in-sicht/</link>
					<comments>https://indal.de/software-entwicklung/keine-computer-intelligenz-in-sicht/#comments</comments>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Wed, 28 Jan 2015 09:32:18 +0000</pubDate>
				<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Computerintelligenz]]></category>
		<category><![CDATA[Künstliche Intelligenz]]></category>
		<category><![CDATA[Programmieren]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=2459</guid>

					<description><![CDATA[<p>Wer schon einmal versucht hat, einen Fehler in einer Software zu finden, der weiß, dass Computer noch sehr weit davon entfernt sind, intelligent zu sein. Selbst die besten Softwareentwicklungstools können ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/keine-computer-intelligenz-in-sicht/">Keine Computer-Intelligenz in Sicht</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wer schon einmal versucht hat, einen Fehler in einer Software zu finden, der weiß, dass Computer noch sehr weit davon entfernt sind, intelligent zu sein. Selbst die besten Softwareentwicklungstools können dem Programmierer nur sehr selten dabei behilflich sein, auch nur die einfachsten Fehler zu finden. Wenn <a href="http://netzoekonom.de/2015/01/17/die-magie-der-maschinen/">wieder einmal</a>, wie <a title="Offener Brief" href="%20http://futureoflife.org/misc/open_letter">gerade geschehen</a>, davor gewarnt wird, dass die Maschinen und Computer bald intelligenter werden könnten als die Menschen, dann liegt dem ein sehr enger Begriff von Intelligenz zu Grunde.</p>
<p>Man stelle sich einmal vor, man würde einen Computer damit beauftragen, aus den Aussagen von Anwendern die <a title="Seminar: Anforderungen analysieren, spezifizieren und verwalten" href="http://www.indal.de/projektseminare/seminar-anforderungsanalyse/">Anforderungen</a> an eine Software abzuleiten und eine Software zu <a title="Software- und Prozessspezifikation" href="http://www.indal.de/2011/08/18/software-und-prozessspezifikation/">entwerfen</a>, mit der diese Anwender vernünftig arbeiten können. Das wäre intelligent. Aber Anforderungsanalysten, Softwarearchitekten und Entwickler haben wohl kaum Sorge, dass ihnen diese Arbeit demnächst von den Computern selbst abgenommen wird. Noch immer müssen wir ihnen alles haarklein vorschreiben. Sie verstehen nicht, was die Benutzer wollen oder brauchen, sie verstehen nicht, wie ein benutzerfreundlicher Dialog aussieht. Selbst den besten Big-Data-Algorithmen muss man alles vorschreiben, sie merken nicht von selbst, wenn sie einen Fehler machen, sie sehen nicht, dass ein falsch berechneter Wert niemals Stimmen kann, es sei denn, ein pfiffiger Programmierer hat das Problem vorweggesehen und eine geeignete Plausibilitätsprüfung im Code vorgesehen. Kein Softwaresystem zeigt auch nur die Spur von Intelligenz, es ist die Intelligenz seiner Designer und Entwickler, die im Code zu finden ist.<span id="more-2459"></span></p>
<p><figure id="attachment_2088" aria-describedby="caption-attachment-2088" style="width: 300px" class="wp-caption alignright"><a href="http://www.indal.de/wp-content/uploads/2013/10/Indal-0033-web-software-entwickler.jpg"><img decoding="async" class="size-medium wp-image-2088" src="http://www.indal.de/wp-content/uploads/2013/10/Indal-0033-web-software-entwickler-300x200.jpg" alt="Intelligent ist der Programmierer, nicht der Computer" width="300" height="200" /></a><figcaption id="caption-attachment-2088" class="wp-caption-text">Intelligent ist der Programmierer, nicht der Computer</figcaption></figure></p>
<p>Es ist eben gerade keine Intelligenz, dass die Computer schneller Daten auswerten und danach komplexe Reaktionen auslösen können – und sie treffen dabei auch keine Entscheidungen. Die Entscheidungen haben diejenigen getroffen, die die Algorithmen ausgedacht und in Software abgebildet haben – auch wenn denen nicht jede Entscheidung, die sie damit schon vorgegeben haben, bewusst ist.</p>
<p>Intelligenz, das heißt, Lösungen für neue, noch unbekannte Probleme zu finden, dazu gehört Kreativität, Intuition, Phantasie und Einfühlungsvermögen. Das alles ist Computern fremd.</p>
<p>Technik sollte schon immer schneller, exakter und zuverlässiger sein als der Mensch. Das galt schon für antike Bewässerungssysteme. Und schon immer wurde durch Technik menschliche Arbeit ersetzt. Aber der Mensch wurde dabei eben schon immer von den Arbeiten befreit, die eben keine Intelligenz erforderten. Und das gilt auch noch immer für die Großcomputer, die uns heute von der bloßen Abarbeitung der mühseligen Entscheidungsverfahren befreien, die andere sich ausgedacht haben.</p>
<p>Es ist auch nichts Neues, dass wir uns durch lebenslanges Lernen darauf einstellen müssen, dass uns Maschinen die Dinge abnehmen, die noch vor Jahrzehnten durch Menschen zu erledigen waren. Dass wir insgesamt dabei weniger für die Menschen zu tun haben werden ist ein Trugschluss, der nun auch schon viele Jahrzehnte alt ist. Jeder Einsatz von Technik schafft neue Möglichkeiten für die wirklich menschliche Intelligenz – und die kam bisher immer auf Ideen, die eher mehr als weniger Arbeit mit sich brachten. Die einzige Gefahr, die vielleicht wirklich droht, ist die, dass wir glauben, keine umfassende Bildung mehr zu benötigen, denn die ist die Voraussetzung dafür, dass wir uns immer wieder mit unseren jeweiligen Fähigkeiten auf die veränderten Bedingungen einstellen können. Umfassende und vielseitige Bildung ist das Fundament unserer Intuition und unserer Kreativität. Die brauchen wir beim Einsatz der Systeme, die wir geschaffen haben, beim Ausdenken und Entwickeln neuer Systeme und schließlich auch dafür, uns neue Ziele zu setzen. Solange die uns nicht ausgehen, brauchen wir vor der &#8220;Intelligenz&#8221; der Computer so wenig Angst zu haben wie vor der &#8220;Geschicklichkeit&#8221; eines Webstuhls.</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/keine-computer-intelligenz-in-sicht/">Keine Computer-Intelligenz in Sicht</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://indal.de/software-entwicklung/keine-computer-intelligenz-in-sicht/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Source Reflection #5: Laborverhalten. Programmieren als Experiment</title>
		<link>https://indal.de/software-entwicklung/source-reflection-5-laborverhalten-programmieren-als-experiment/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Wed, 20 Nov 2013 11:09:38 +0000</pubDate>
				<category><![CDATA[Forschung]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[heise developer]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=1902</guid>

					<description><![CDATA[<p>Das Programmieren sollte heute nicht mehr wie ein Bauen mit dem Stabilbaukasten gelernt werden, sondern wie das Experimentieren mit Bakterien und Chemikalien im Forschungslabor. Die Generation derer, die die ersten ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/source-reflection-5-laborverhalten-programmieren-als-experiment/">Source Reflection #5: Laborverhalten. Programmieren als Experiment</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Das Programmieren sollte heute nicht mehr wie ein Bauen mit dem Stabilbaukasten gelernt werden, sondern wie das Experimentieren mit Bakterien und Chemikalien im Forschungslabor.</p>
<p>Die Generation derer, die die ersten kommerziellen Softwaresysteme für Unternehmen programmiert haben, hat sich inzwischen aus den Code-Werkstätten weitgehend zurückgezogen. Hier und da sitzt noch ein alter COBOL-Kenner am Bildschirm, denn bekanntlich sind die Systeme, die vor Jahrzehnten in Banken und Versicherungen kreiert wurden, zwar in die Jahre gekommen, aber sie gleichen weniger klapprigen Invaliden als vielmehr rüstigen Senioren, die bei guter Pflege noch eine Menge Arbeit verrichten können.</p>
<p><a href="http://www.heise.de/developer/artikel/Source-Reflection-5-Programmieren-als-Experiment-2050342.html">Weiterlesen bei heise Developer</a></p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/source-reflection-5-laborverhalten-programmieren-als-experiment/">Source Reflection #5: Laborverhalten. Programmieren als Experiment</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ohne Ölwechsel</title>
		<link>https://indal.de/software-entwicklung/ohne-olwechsel/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Fri, 18 Oct 2013 09:49:35 +0000</pubDate>
				<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[heise developer]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=1872</guid>

					<description><![CDATA[<p>Wartungsvorschriften sind in der Softwarebranche noch die Ausnahme. Die Folge sind Systemabstürze und Ausfälle, mit ungeheuren Kosten und weitreichenden Problemen. Zeit, dass sich das ändert. Was für eine Art von ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/ohne-olwechsel/">Ohne Ölwechsel</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Wartungsvorschriften sind in der Softwarebranche noch die Ausnahme. Die Folge sind Systemabstürze und Ausfälle, mit ungeheuren Kosten und weitreichenden Problemen. Zeit, dass sich das ändert.</p>
<p>Was für eine Art von Tätigkeit ist das Programmieren eigentlich? Die Philosophin Hannah Arendt unterschied in ihrem Buch &#8220;Vita activa&#8221; drei Arten von Aktivitäten: das Arbeiten, das Herstellen und das Handeln. Während das Arbeiten nach ihrer Unterscheidung dazu dient, das tägliche Überleben zu sichern, schafft das Herstellen Dinge, die der Mensch zum Arbeiten braucht, und das Handeln gestaltet die soziale Welt. So scheint die Sache erst einmal eindeutig: Softwareentwicklung ist Herstellen, so wie man auf den ersten Blick klar sagen kann, dass eine Software ein Werkzeug ist, das andere Aktivitäten unterstützt, so wie es der Hammer oder auch schon der Speer des Urmenschen tat.</p>
<p><a href="http://www.heise.de/developer/artikel/Source-Reflection-4-Plaedoyer-fuer-mehr-Wartung-in-der-Softwareentwicklung-1981517.html">Weiterlesen auf heise developer</a></p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/ohne-olwechsel/">Ohne Ölwechsel</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sprachverwirrung</title>
		<link>https://indal.de/software-entwicklung/sprachverwirrung/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Thu, 22 Aug 2013 08:50:56 +0000</pubDate>
				<category><![CDATA[Forschung]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[heise developer]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=1800</guid>

					<description><![CDATA[<p>Moderne Softwareentwicklung gleicht dem Turmbau zu Babel kurz nach der Sprachverwirrung. Im Projekt werden die unterschiedlichsten Sprachen gesprochen. Da sind natürlich die Fachsprache der Anwender und die Sprache des Managements ...</p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/sprachverwirrung/">Sprachverwirrung</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Moderne Softwareentwicklung gleicht dem Turmbau zu Babel kurz nach der Sprachverwirrung. Im Projekt werden die unterschiedlichsten Sprachen gesprochen. Da sind natürlich die Fachsprache der Anwender und die Sprache des Managements zu nennen. Ein einzigartiges Sprachgewirr von Modellierungs-, Beschreibungs-, Analyse- und Programmiersprachen verursachen vor allem aber die eigentlichen Baumeister – Analysten, Designer, Programmierer und Tester. Es lohnt sich, einmal genauer auf diese Sprachvielfalt zu schauen und zu prüfen, wer da eigentlich mit wem spricht.</p>
<p><a href="http://www.heise.de/developer/artikel/Source-Reflection-2-Sprachverwirrung-1939192.html">Weiterlesen bei heise Developer</a></p>
<p>Der Beitrag <a href="https://indal.de/software-entwicklung/sprachverwirrung/">Sprachverwirrung</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Wie kalkuliert man ein Migrationsprojekt?</title>
		<link>https://indal.de/anforderungsanalyse/wie-kalkuliert-man-ein-migrationsprojekt/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Mon, 22 Apr 2013 15:16:47 +0000</pubDate>
				<category><![CDATA[Anforderungsanalyse]]></category>
		<category><![CDATA[Projektmanagement]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=1743</guid>

					<description><![CDATA[<p>Welchen Aufwand hat man, wenn man eine Software, etwa eine Client-Server-Lösung, auf eine neue Plattform migrieren muss? Die Antwort auf diese Frage hängt von vielen Parametern ab, aber wie kommt ...</p>
<p>Der Beitrag <a href="https://indal.de/anforderungsanalyse/wie-kalkuliert-man-ein-migrationsprojekt/">Wie kalkuliert man ein Migrationsprojekt?</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Welchen Aufwand hat man, wenn man eine Software, etwa eine Client-Server-Lösung, auf eine neue Plattform migrieren muss? Die Antwort auf diese Frage hängt von vielen Parametern ab, aber wie kommt man auf eine plausible erste Schätzung? Hier ein paar Hinweise.</p>
<p>Gut ist, wenn die Entwicklungsaufwände, welche in die Software seit ihres Bestehens geflossen sind, bekannt sind, etwa durch die Stundenerfassung in der Softwareentwicklung. Von der Entwicklung der ersten Version sollte der Aufwand für die Anforderungsanalyse separiert werden. Sodann werden die einzelnen Releases sowie die Wartungsaufwände daraufhin bewertet, zu welchem Anteil sie Neuentwicklung von Funktionalität waren und welcher Anteil Änderungen der bestehenden Software waren. So erhält man eine erste Vorstellung davon, was eine Neuentwicklung der gleichen Anforderungen kosten würde.</p>
<p>Dieser Gesamtaufwand ist in Entwicklungsaufwand und Testaufwand zu separieren. Während der Entwicklungsaufwand im Migrationsprojekt durch Wiederverwendung zum Teil erheblich reduziert werden kann, ist der Testaufwand kaum zu reduzieren. Allenfalls bei der Erstellung von Testfällen kann Aufwand gespart werden, wenn auf bestehende Dokumente zurückgegriffen werden kann.</p>
<p>Im nächsten Schritt widmet man sich dem Thema Wiederverwendbarkeit. Wenn die verwendeten Entwicklungswerkzeuge auf der Zielplattform ebenfalls verwendet werden können, kann man beurteilen, ob Teile des Codes (eventuell nach einem Refactoring) wiederverwendet werden können, das gilt nicht nur für Programmiersprachen, sondern auch für Frameworks, Reportingtools u.a.</p>
<p>Im Allgemeinen ist allerdings das Migrationsprojekt mit einem Versionswechsel bei den Werkzeugen verbunden. Wenn man zu dem Ergebnis kommt, dass z.B. 70% des Codes wiederverwendet werden kann, beträgt die tatsächliche Einsparung in der Entwicklung wahrscheinlich weniger als 50%, abhängig von der Weite des Versionssprungs, der Sauberkeit der Architektur und der Codequalität.</p>
<p>Die ursprünglichen Aufwände der Anforderungsanalyse können nicht vollständig abgezogen werden, da während der verschiedenen Releases oft die Anforderungen nur unvollständig dokumentiert und aktualisiert worden sind. Ein intensiver Review ist geboten, und das Motto &#8220;Der Code ist die Dokumentation&#8221; führt oft zu lückenhafter oder falscher Umsetzung in der neuen Software.</p>
<p>Alles in allem sind die Aufwände für eine Migration oft höher als erwartet. Es ist gut, eine Top-Down-Schätzung, wie hier kurz skizziert, an den Anfang zu stellen, und gegen eine Bottom-Up-Schätzung, die auf einer Stückliste (Object Points, Function Points o.ä.) basiert, zu verproben. Das zeigt frühzeitig nicht nur, welches Budget, sondern auch, welcher Zeitrahmen für die Migration einzuplanen ist.</p>
<p>Der Beitrag <a href="https://indal.de/anforderungsanalyse/wie-kalkuliert-man-ein-migrationsprojekt/">Wie kalkuliert man ein Migrationsprojekt?</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ins Web</title>
		<link>https://indal.de/software-design/ins-web-client-server-zu-web-migrieren/</link>
		
		<dc:creator><![CDATA[Jörg Friedrich]]></dc:creator>
		<pubDate>Wed, 06 Mar 2013 10:31:52 +0000</pubDate>
				<category><![CDATA[Software-Design]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<guid isPermaLink="false">http://www.indal.de/?p=1704</guid>

					<description><![CDATA[<p>Es gibt viele Gründe, gewachsene Unternehmensanwendungen ins Web zu bringen. Nicht nur die Verfügbarkeit der Anwendungsfunktionen außerhalb des lokalen Netzes spricht dafür. Deployment-Kosten für neue Versionen sinken, Patches und Change ...</p>
<p>Der Beitrag <a href="https://indal.de/software-design/ins-web-client-server-zu-web-migrieren/">Ins Web</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Es gibt viele Gründe, gewachsene Unternehmensanwendungen ins Web zu bringen. Nicht nur die Verfügbarkeit der Anwendungsfunktionen außerhalb des lokalen Netzes spricht dafür. Deployment-Kosten für neue Versionen sinken, Patches und Change Requests können einfacher verteilt werden. Außerdem entsprechen Web-Anwendungen immer mehr den Look&amp;Feel-Erwartungen der Anwender. Schließlich kann durch eine Web-Anwendung die Verfügbarkeit der Funktionalität auf verschiedenen Plattformen bis hin zu mobilen Geräten wie Smartphones und Tablets sicher gestellt werden.</p>
<p>All diese Aspekte können dafür sprechen, auch über Jahre gewachsene Client-Server-Anwendungen in eine Web-Architektur zu überführen. Dazu sind allerdings eine Reihe von Vorüberlegungen nötig. Von einer kompletten Neuprogrammierung ist, auch wenn Ausgangs- und Ziel-Technologien weit auseinander liegen, zumeist abzuraten. Neue Anforderung und neue Technologien  in einem Projekt zu vereinen vergrößert die Gefahr, dass das Projekt zu einem Millionengrab wird und nie zu einem erfolgreichen Ende gebracht wird.</p>
<p>Welcher Ansatz der richtige ist, hängt oft nicht primär von der Technologie der bisherigen Anwendung ab. Ob sie in Visual Basic oder C/C++ oder in Java geschrieben ist, oder ob es sich gar um eine Großrechner-Anwendung handelt, ist zumeist nicht so wichtig wie die Frage, ob die Anwendung eine klare Schichten-und Modul-Architektur hat und ob Entwicklungsstandards während der gesamten Lebenszeit der Anwendung weitgehend eingehalten wurden.</p>
<p>Eine <a title="Kontakt" href="http://www.indal.de/kontakt/">einfache Checkliste</a> kann zu einer ersten Beurteilung eines Software-Migrationsprojekts hilfreich sein. Auf ihrer Basis ist eine Analyse möglich die zeigt, welche Bestandteile ein Durchstich-Prototyp haben sollte, mit dessen Hilfe eine seriöse Kosten- und Zeitschätzung für eine erfolgreiche Migration möglich ist.</p>
<p>Der Beitrag <a href="https://indal.de/software-design/ins-web-client-server-zu-web-migrieren/">Ins Web</a> erschien zuerst auf <a href="https://indal.de">INDAL Software-Spezialist</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
