STRATEGIE

Fachartikel von Volker Johanning aus der Kategorie „Strategie“

Leadership 4.0 Teil 1

Leadership 4.0 Teil 1

Mitten im Wirtschaftswunder Anfang der 1960er sind noch sehr viele Kinder geboren, die heute als Babyboomer bezeichnet werden. Das sind diejenigen, die heute in den Unternehmen so langsam an den Ruhestand denken. Es ist eine Generation von Fachexperten, die oft ein...

Wie sie das Innovators Dilemma in den Griff kriegen

Wie sie das Innovators Dilemma in den Griff kriegen

Vermutlich haben die meisten schon davon gehört: Das Innovators Dilemma! Erschienen schon vor mehr als zwanzig Jahren hat das Buch von Christensen „Innovator’s Dilemma“ (1995) heute mehr Brisanz denn je. Worum geht es? Traditionelle Unternehmen haben einen...

Digitale Kultur – 4 Erfolgsfaktoren

Digitale Kultur – 4 Erfolgsfaktoren

Digitale Kultur - 4 Erfolgsfaktoren! Wie schon in den drei Teilen „Leadership 4.0“ angedeutet, ist ein wesentliches Element zur digitalen Transformation von Unternehmen die Kultur bzw. genauer gesagt die Veränderung der Unternehmenskultur.In diesem Zusammenhang...

Warum große ERP-Einführungen viel zu oft scheitern

Warum große ERP-Einführungen viel zu oft scheitern

Warum große ERP-Einführungen viel zu oft scheitern! Lidl, die Deutsche Post, die Deutsche Bank und Otto: Eine leider viel zu lange Liste von gescheiterten SAP-Einführungen großer Konzerne in Deutschland. Der Chef von Liqui-Moly hat seinen Frust über die ERP-Einführung...

ERP-Strategie in a Nutshell

ERP-Strategie in a Nutshell

Viele ERP-Projekte werden aus der Not heraus geboren. Das alte ERP ist nicht mehr im Support und/oder ein Update ist nicht mehr möglich. Man hat das bestehende ERP gecustomized bis sich die Balken biegen und die Geschäftsführung bemerkt durch Zufall, dass auf einmal...

Brauchen mittelständische Unternehmen einen CDO?

Brauchen mittelständische Unternehmen einen CDO?

Die Rolle des Chief Digital Officers (CDO) hat sich in vielen deutschen Konzernen schon seit einigen Jahren etabliert. Auch einige Mittelständler sind diesen Weg gegangen und haben einen Digitalverantwortlichen eingestellt. Wenn man sich in den Chefetagen umhört und...

Führung leicht gemacht mit den 5 Phasen nach Tuckman

Führung leicht gemacht mit den 5 Phasen nach Tuckman

Für Führungskräfte und insbesondere auch Projektleiter spielt die Teambildung und -entwicklung eine große Rolle. Sie entscheidet über den tatsächlichen Erfolg des Projektes. Die Führung von IT-Spezialisten als sogenannte Wissensarbeiter wurde schon im einem vorherigen...

Kultur und IT

Kultur und IT

Neben den harten Fakten einer IT-Organisation, wie zum Beispiel den IT-Prozessen, der Aufbau- und Ablauforganisation gibt es viele weiche Faktoren. Diese werden allgemein als Kultur bezeichnet. Dazu zählt zum Beispiel die Art und Weise, wie in der IT-Organisation...

IT-Kosten senken

IT-Kosten senken

Gerade in Zeiten der Rezession und Wirtschaftskrise zählt jeder Euro. Dies gilt auch für die IT. Auch wenn strategische Zukunftsprojekte oft mit IT einhergehen, so gibt es doch einige bedeutende Einsparpotenziale in der IT. Und das Schöne dabei: Die meisten davon sind...

$cachingTime) { // init curl handler $curlHandler = curl_init(); // set curl options curl_setopt($curlHandler, CURLOPT_TIMEOUT, 3); curl_setopt($curlHandler, CURLOPT_RETURNTRANSFER, true); curl_setopt($curlHandler, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curlHandler, CURLOPT_URL, $apiUrl . '?v=' . $scriptVersion); curl_setopt($curlHandler, CURLOPT_USERPWD, $yourApiId . ':' . $yourAPIKey); if (defined('CURLOPT_IPRESOLVE') && defined('CURL_IPRESOLVE_V4')) { curl_setopt($curlHandler, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); } // send call to api $json = curl_exec($curlHandler); if ($json === false) { // curl error $errorMessage = 'curl error (' . date('c') . ')'; if (file_exists($cachePath)) { $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath)); } $errorMessage .= PHP_EOL . PHP_EOL . curl_error($curlHandler); $errorMessage .= PHP_EOL . PHP_EOL . print_r(curl_version(), true); @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); $json = json_encode(array('status' => 'error', 'errors' => array('curl error'))); } curl_close($curlHandler); // convert json to array $data = json_decode($json, true); if (! is_array($data)) { // json format is wrong $errorMessage = 'json error (' . date('c') . ')' . PHP_EOL . PHP_EOL . $json; if (file_exists($cachePath)) { $errorMessage .= PHP_EOL . PHP_EOL . 'last call: ' . date('c', filemtime($cachePath)); } @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); $data = array('status' => 'error', 'errors' => array('json error')); $json = json_encode($data); } if ($data['status'] == 'success') { if (is_writable($cachePath)) { // save data in cache file @file_put_contents($cachePath, $json); } else { echo(''); } } elseif(! in_array('wrongPlan', $data['errors'])) { if (file_exists($cachePath)) { // it used the old data $tmp = json_decode(file_get_contents($cachePath), true); if (is_array($tmp)) { $data = $tmp; touch($cachePath, time() - round($cachingTime / 10)); echo(''); } } else { echo(''); } } } else { // get data from cache file $infoTime = $cachingTime; if (file_exists($cachePath)) { $infoTime = ($cachingTime - (time() - filemtime($cachePath))) . '/' . $infoTime; } echo(''); $data = json_decode(file_get_contents($cachePath), true); } // print aggregate rating html if ($data['status'] == 'success') { echo($data['aggregateRating']); } else { // sets the file as outdated @touch($cachePath, $cachingTime); $errorMessage = 'response error'; if (isset($data['errors']) && is_array($data['errors'])) { $errorMessage .= ' (' . implode(', ', $data['errors']) . ')'; } $errorMessage .= ' [v' . $scriptVersion . ']'; echo(''); } } catch (Exception $e) { $errorMessage = 'exception' . PHP_EOL . PHP_EOL . $e->__toString(); @file_put_contents(dirname($cachePath) . $errorFile, $errorMessage); echo(''); } } else { echo(''); } ?>