ITSM (Information Technology Service Management), yani Bilgi Teknolojileri Hizmet Yönetimi, kurumlarda BT hizmetlerinin planlı, kontrollü ve kullanıcı odaklı yönetilmesini sağlayan süreçler bütünüdür.
Temel amacı:
- Hizmet kalitesini artırmak
- Kesintileri azaltmak
- Kullanıcı memnuniyetini yükseltmek
- BT operasyonlarını standart hale getirmektir.
ITSM Süreçleri ve Amaçları:
Problem Management (Problem Yönetimi) Nedir?
IT Service Management kapsamında yer alan Problem Management (Problem Yönetimi), BT altyapılarında ve hizmetlerinde ortaya çıkan tekrar eden teknik sorunların temel nedenlerini analiz ederek kalıcı çözümler üretmeyi amaçlayan bir süreçtir.
Bu süreç, yalnızca mevcut sorunu gidermeye değil; aynı problemin yeniden oluşmasını önlemeye odaklanır. Böylece BT hizmetlerinin daha stabil, sürdürülebilir ve kesintisiz çalışması sağlanır.
Problem Management’ın Temel Amacı:
Problem Management sürecinin ana hedefleri şunlardır:
Problem Management Neden Önemlidir?
Kurumsal yapılarda bazı teknik problemler sürekli tekrar eder:
- Sunucu performans düşüşleri
- Ağ bağlantı problemleri
- VPN erişim sorunları
- Yazıcı iletişim hataları
- Uygulama yavaşlamaları
- Veritabanı timeout problemleri
Bu sorunlar yalnızca geçici olarak giderildiğinde tekrar ortaya çıkabilir. Problem Management ise sorunun kaynağını analiz ederek kalıcı çözüm oluşturur.
Problem Management Süreç Aşamaları:
1. Problem Tespiti
Tekrarlayan teknik sorunlar analiz edilir ve ortak noktalar belirlenir.
Örnek:
- Sürekli aynı uygulamanın çökmesi
- Aynı sunucuda tekrar eden performans problemi
2. Problem Kaydı Oluşturma
Tespit edilen problem için resmi kayıt açılır.
Kayıtta genellikle:
- Problem numarası
- Etkilenen sistem veya servis
- Öncelik seviyesi
- Teknik açıklamalar
- Etki analizi, yer alır.
3. Kök Neden Analizi (Root Cause Analysis)
Sorunun gerçek nedeni detaylı şekilde araştırılır.
Kullanılan yöntemler:
- 5 Why Analizi
- Fishbone Diagram
- Log incelemeleri
- Sistem performans analizleri
- Altyapı incelemeleri
4. Geçici Çözüm (Workaround)
Kalıcı çözüm uygulanana kadar sistemi çalışır durumda tutacak geçici yöntemler devreye alınır.
Örnek:
- Servis yeniden başlatılması
- Trafiğin alternatif sunucuya yönlendirilmesi
5. Kalıcı Çözüm Uygulama
Sorunun tekrar yaşanmaması için kalıcı düzeltme gerçekleştirilir.
Örnek:
- Hatalı konfigürasyonun düzeltilmesi
- Yazılım güncellemesi yapılması
- Donanım değişimi
- Kaynak kapasitesinin artırılması
6. Dokümantasyon ve Kapatma
Çözüm doğrulanır ve süreç tamamlanır.
Bu aşamada:
- Çözüm kayıt altına alınır
- Bilgi bankasına eklenir
- Benzer riskler değerlendirilir
Reactive ve Proactive Problem Management
Reactive Örnek:
- Sürekli dolan disk alanının nedeninin araştırılması.
Proactive Örnek:
- Sunucu kaynak kullanım trendlerinin analiz edilerek kapasite artırımı yapılması.
Problem Management KPI Örnekleri:
Problem Management’ın Kuruma Sağladığı Faydalar
- Sistem kararlılığını artırır
- Hizmet kesintilerini azaltır
- Operasyonel maliyetleri düşürür
- Kullanıcı memnuniyetini artırır
- Teknik ekiplerin verimliliğini yükseltir
- Sürekli iyileştirme kültürü oluşturur
Gerçek Hayat Örneği:
Bir kurumda çalışanlar sürekli VPN bağlantı problemi yaşamaktadır.
Yapılan analizler sonucunda:
- Sorunun firewall timeout ayarlarından kaynaklandığı belirlenir.
- Konfigürasyon güncellenir.
- Problem tamamen ortadan kaldırılır.
Bu yaklaşım sayesinde aynı teknik sorun tekrar yaşanmaz ve sistem daha stabil hale gelir.
Sonuç:
Problem Management, BT ortamlarında tekrar eden sorunların yalnızca çözülmesini değil, tamamen ortadan kaldırılmasını hedefleyen stratejik bir süreçtir.
Doğru uygulandığında:
- Daha stabil sistemler,
- Daha güçlü BT operasyonları,
- Daha düşük kesinti riski,
- Daha sürdürülebilir hizmet yönetimi sağlanır.
Özellikle kurumsal yapılarda BT hizmet kalitesini artıran en önemli süreçlerden biridir.
AI ile “Problem Management" Formu:
Yapay zeka uygulamaları üzerinde talimatlarla oluşturulan form aşağıdaki gibidir. Not defteri açarak aşağıdaki (Mavi) html kodu içine kaydedin. Not defteri uzantısını .txt yerine .html olarak değiştirip Enter tuşuna basınız.
Sol tarafta görünen logo için, html dosyanız nerede ise, masaüstü veya oluşturulan bir klasör. Logonuzda aynı yerde olursa forma yansır. Logo ismi "logo.jpg" olmalı. Çift tıklayarak açtığınızda, browser üzerinde form açılışı gerçekleşir.
Başlık, başlığın altındaki, başlığın sağındaki ve alttaki yazıları, not defteri içinde "Ctrl + F" tuşları ile kelime yazarak bulabilir, ilgili metinleri kendinize göre uyarlayarak kaydederek kullanabilirsiniz.
Form Önizleme:
İçeri Aktar:
Dışarı aktarılan "Csv" uzantılı dosya seçildiğinde, formda ilgili alanlara verinin gelmesi sağlanır. Böylelikle form üzerinde değişikliği pratik bir şekilde gerçekleştirebilirsiniz.
PDF Kaydet / Yazdır:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Problem Management Form</title>
<style>
:root{
--blue1:#0b2158;
--blue2:#173b8f;
--line:#dbe3ee;
--bg:#f1f5f9;
}
*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}
body{
background:var(--bg);
padding:14px;
color:#000;
}
.container{
max-width:1450px;
margin:auto;
}
/* TÜM YAZILAR */
input,
select,
textarea,
td,
label,
.tableHeader div,
.footer{
color:#000 !important;
}
/* HEADER */
.header{
background:linear-gradient(90deg,var(--blue1),var(--blue2));
border-radius:22px;
padding:14px 18px;
margin-bottom:16px;
box-shadow:0 5px 16px rgba(0,0,0,.12);
display:grid;
grid-template-columns:70px 1fr 320px;
align-items:center;
column-gap:18px;
}
.logoBox{
width:70px;
height:70px;
background:#fff;
border-radius:14px;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}
.logoBox img{
width:82%;
height:82%;
object-fit:contain;
}
.headerCenter{
display:flex;
flex-direction:column;
justify-content:center;
}
.headerTitle{
font-size:26px;
font-weight:900;
line-height:1;
letter-spacing:.3px;
color:#fff;
}
.headerSub{
margin-top:6px;
font-size:12px;
color:#fff;
}
.headerRight{
text-align:right;
font-size:13px;
font-weight:800;
line-height:1.3;
display:flex;
align-items:center;
justify-content:flex-end;
width:100%;
height:100%;
color:#fff;
}
/* CARD */
.card{
background:#fff;
border-radius:18px;
padding:18px;
box-shadow:0 5px 16px rgba(0,0,0,.08);
}
/* FORM */
.grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:14px;
}
.full{
grid-column:1/-1;
}
.group{
display:flex;
flex-direction:column;
}
label{
margin-bottom:5px;
font-size:13px;
font-weight:700;
}
input,
select,
textarea{
width:100%;
border:1px solid #cfd8e3;
border-radius:10px;
padding:10px;
background:#f8fafc;
font-size:13px;
outline:none;
transition:.2s;
}
textarea{
resize:none;
min-height:95px;
overflow:hidden;
}
input:focus,
select:focus,
textarea:focus{
background:#fff;
border-color:#2563eb;
}
/* BUTTONS */
.buttons{
margin-top:18px;
display:flex;
flex-wrap:wrap;
gap:10px;
}
.btn{
border:none;
border-radius:10px;
padding:11px 16px;
color:#fff;
font-size:13px;
font-weight:700;
cursor:pointer;
transition:.2s;
}
.btn:hover{
transform:translateY(-1px);
}
.previewBtn{
background:#173b8f;
}
.printBtn{
background:#334155;
}
.csvBtn{
background:#15803d;
}
.importBtn{
background:#d1d5db;
color:#1e293b;
}
/* PREVIEW */
.preview{
display:none;
margin-top:18px;
}
.preview.active{
display:block;
}
/* TABLE */
.tableHeader{
display:grid;
grid-template-columns:220px 1fr;
background:#173b8f;
color:#fff;
border-radius:12px 12px 0 0;
overflow:hidden;
}
.tableHeader div{
padding:10px 12px;
font-size:12px;
font-weight:700;
color:#fff !important;
}
table{
width:100%;
border-collapse:collapse;
table-layout:fixed;
}
td{
border:1px solid var(--line);
padding:8px 12px;
font-size:12px;
line-height:1.4;
vertical-align:top;
word-break:break-word;
white-space:pre-wrap;
color:#000;
}
td:first-child{
width:220px;
font-weight:700;
background:#f8fafc;
}
tr:nth-child(even) td:last-child{
background:#fcfdff;
}
.footer{
background:#173b8f;
color:#fff !important;
text-align:center;
padding:8px;
border-radius:0 0 12px 12px;
font-size:12px;
font-weight:700;
}
/* MOBILE */
@media(max-width:900px){
.header{
grid-template-columns:1fr;
row-gap:14px;
}
.headerRight{
justify-content:flex-start;
text-align:left;
}
.grid{
grid-template-columns:1fr;
}
.tableHeader{
grid-template-columns:140px 1fr;
}
td:first-child{
width:140px;
}
}
/* PRINT */
@page{
size:A4 landscape;
margin:6mm;
}
@media print{
body{
background:#fff;
padding:0;
}
.formArea,
.buttons{
display:none !important;
}
.preview{
display:block !important;
margin:0;
}
.header,
.card{
box-shadow:none;
}
.header{
display:grid !important;
grid-template-columns:70px 1fr 320px !important;
align-items:center !important;
}
.headerRight{
justify-content:flex-end !important;
text-align:right !important;
width:100% !important;
}
*{
-webkit-print-color-adjust:exact !important;
print-color-adjust:exact !important;
}
}
</style>
</head>
<body>
<div class="container">
<div class="formArea">
<div class="header">
<div class="logoBox">
<img src="logo.jpg" alt="">
</div>
<div class="headerCenter">
<div class="headerTitle">
PROBLEM MANAGEMENT FORM
</div>
<div class="headerSub">
Tekrarlayan Problemlerde kök neden analizi ile kalıcı çözümler üretmek
</div>
</div>
<div class="headerRight">
HELPDESK
</div>
</div>
<div class="card">
<div class="grid">
<div class="group">
<label>Problem No</label>
<input type="text" id="problemNo">
</div>
<div class="group">
<label>Problem Başlığı</label>
<input type="text" id="problemBasligi">
</div>
<div class="group">
<label>Durum</label>
<select id="durum">
<option>Açık</option>
<option>Analiz Ediliyor</option>
<option>Çözüm Bekliyor</option>
<option>Kapatıldı</option>
</select>
</div>
<div class="group">
<label>Öncelik</label>
<select id="oncelik">
<option>Düşük</option>
<option selected>Orta</option>
<option>Yüksek</option>
<option>Kritik</option>
</select>
</div>
<div class="group">
<label>İlgili Incident No</label>
<input type="text" id="ilgiliIncident">
</div>
<div class="group">
<label>Etkilenen Servis</label>
<input type="text" id="etkilenenServis">
</div>
<div class="group full">
<label>Kök Neden</label>
<textarea id="kokNeden"></textarea>
</div>
<div class="group full">
<label>Kök Neden Detayı</label>
<textarea id="kokNedenDetayi"></textarea>
</div>
<div class="group full">
<label>Geçici Çözüm</label>
<textarea id="geciciCozum"></textarea>
</div>
<div class="group full">
<label>Kalıcı Çözüm</label>
<textarea id="kaliciCozum"></textarea>
</div>
<div class="group">
<label>Change No</label>
<input type="text" id="changeNo">
</div>
<div class="group">
<label>Problem Sahibi</label>
<input type="text" id="problemSahibi">
</div>
<div class="group">
<label>Kapanış Tarihi</label>
<input
type="date"
id="kapanisTarihi"
lang="tr"
>
</div>
</div>
<div class="buttons">
<button class="btn previewBtn" onclick="onizle()">
Önizle
</button>
<button class="btn printBtn" onclick="pdf()">
Kaydet / PDF
</button>
<button class="btn csvBtn" onclick="csvIndir()">
CSV İndir
</button>
<button class="btn importBtn" onclick="document.getElementById('importFile').click()">
İçeri Aktar
</button>
<input
type="file"
id="importFile"
accept=".csv"
style="display:none"
onchange="csvIceriAktar(event)"
>
</div>
</div>
</div>
<!-- PREVIEW -->
<div class="preview" id="preview">
<div class="header">
<div class="logoBox">
<img src="logo.jpg" alt="">
</div>
<div class="headerCenter">
<div class="headerTitle">
PROBLEM MANAGEMENT FORM
</div>
<div class="headerSub">
Tekrarlayan Problemlerde kök neden analizi ile kalıcı çözümler üretmek
</div>
</div>
<div class="headerRight">
HELPDESK
</div>
</div>
<div class="card">
<div class="tableHeader">
<div>Alan</div>
<div>Bilgi</div>
</div>
<table id="table"></table>
<div class="footer">
MYO
</div>
</div>
</div>
</div>
<script>
const $ = id => document.getElementById(id);
const fields = {
problemNo:"Problem No",
problemBasligi:"Problem Başlığı",
durum:"Durum",
oncelik:"Öncelik",
ilgiliIncident:"İlgili Incident",
etkilenenServis:"Etkilenen Servis",
kokNeden:"Kök Neden",
kokNedenDetayi:"Kök Neden Detayı",
geciciCozum:"Geçici Çözüm",
kaliciCozum:"Kalıcı Çözüm",
changeNo:"Change No",
problemSahibi:"Problem Sahibi",
kapanisTarihi:"Kapanış Tarihi"
};
/* TEXTAREA AUTO HEIGHT */
document.querySelectorAll("textarea").forEach(t=>{
t.addEventListener("input",()=>{
t.style.height = "auto";
t.style.height = t.scrollHeight + "px";
});
});
/* RENDER */
function render(){
let html = "";
for(let id in fields){
let value = $(id).value || "-";
if(id === "kapanisTarihi" && value !== "-"){
const parts = value.split("-");
if(parts.length === 3){
value =
`${parts[2]}.${parts[1]}.${parts[0]}`;
}
}
html += `
<tr>
<td>${fields[id]}</td>
<td>${value}</td>
</tr>
`;
}
$("table").innerHTML = html;
}
/* PREVIEW */
function onizle(){
render();
$("preview").classList.add("active");
$("preview").scrollIntoView({
behavior:"smooth"
});
}
/* PDF */
function pdf(){
render();
$("preview").classList.add("active");
setTimeout(()=>window.print(),150);
}
/* CSV EXPORT */
function csvIndir(){
const rows = [["Alan","Bilgi"]];
for(let id in fields){
let value = $(id).value || "";
if(id === "kapanisTarihi" && value){
const parts = value.split("-");
if(parts.length === 3){
value =
`${parts[2]}.${parts[1]}.${parts[0]}`;
}
}
value = value
.replace(/\r\n/g,"\n")
.replace(/\r/g,"\n");
rows.push([
fields[id],
value
]);
}
const csv =
"\uFEFF" +
rows.map(r =>
r.map(v =>
`"${String(v).replace(/"/g,'""')}"`
).join(";")
).join("\r\n");
const blob = new Blob(
[csv],
{
type:"text/csv;charset=utf-8;"
}
);
const a = document.createElement("a");
a.href = URL.createObjectURL(blob);
a.download = "problem_management_form.csv";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
/* CSV IMPORT */
function csvIceriAktar(event){
const file = event.target.files[0];
if(!file) return;
const reader = new FileReader();
reader.onload = function(e){
const text = e.target.result;
const rows = [];
let current = "";
let row = [];
let insideQuotes = false;
for(let i = 0; i < text.length; i++){
const char = text[i];
const next = text[i + 1];
if(char === '"'){
if(insideQuotes && next === '"'){
current += '"';
i++;
}else{
insideQuotes = !insideQuotes;
}
}
else if(char === ";" && !insideQuotes){
row.push(current);
current = "";
}
else if(
(char === "\n" || char === "\r")
&& !insideQuotes
){
if(current !== "" || row.length){
row.push(current);
rows.push(row);
row = [];
current = "";
}
}
else{
current += char;
}
}
if(current !== "" || row.length){
row.push(current);
rows.push(row);
}
rows.slice(1).forEach(cols=>{
if(cols.length < 2) return;
const alan =
cols[0]
.replace(/\r/g,"")
.replace(/"/g,"")
.trim();
const bilgi =
cols[1]
.replace(/\r/g,"")
.replace(/"/g,"")
.trim();
for(let id in fields){
if(fields[id] === alan){
/* TARİH */
if(id === "kapanisTarihi"){
let tarih = bilgi;
if(tarih.includes(".")){
const parts = tarih.split(".");
if(parts.length === 3){
const gun =
parts[0].padStart(2,"0");
const ay =
parts[1].padStart(2,"0");
const yil =
parts[2];
tarih =
`${yil}-${ay}-${gun}`;
}
}
else if(tarih.includes("/")){
const parts = tarih.split("/");
if(parts.length === 3){
const gun =
parts[0].padStart(2,"0");
const ay =
parts[1].padStart(2,"0");
const yil =
parts[2];
tarih =
`${yil}-${ay}-${gun}`;
}
}
$(id).value = tarih;
}
/* DİĞER ALANLAR */
else{
$(id).value = bilgi;
}
/* TEXTAREA HEIGHT */
if($(id).tagName === "TEXTAREA"){
$(id).style.height = "auto";
$(id).style.height =
$(id).scrollHeight + "px";
}
}
}
});
alert("CSV içeriği başarıyla aktarıldı.");
};
reader.readAsText(file,"utf-8");
}
</script>
</body>
</html>








