Pan Innovation House Pan Innovation House
GAZIANTEP · MAINTENANCE AND SUPPORT

A Gaziantep software maintenance and support service where who steps in, and when, is written down from the start

Software does not end on the day it is delivered; that is where it really begins. With an annual maintenance contract, monthly development capacity and emergency response, we take on keeping the system standing. We maintain software we wrote ourselves and programs taken over from others. Being in the same city means this: when a job cannot be solved over screen sharing, we come to Başpınar or Şehitkamil and sit down at the server.

The picture in Gaziantep
  • In our own field research across the Gaziantep organised industrial zone (OSB) we surveyed 1,108 companies; we flagged 90 of them as large and 83 as very large. The remaining majority operate at a scale that does not carry a full-time IT team. So when a software fault appears, the person who can respond is, in most companies, outside the business — and usually a single individual.
  • The distance between the zones of Başpınar OSB and Şehitkamil is a concrete variable at the moment of failure. Remote access covers most work; but if the server will not boot, the weighbridge is not responding or the handheld terminal in the warehouse cannot join the network, there is nothing left to connect to remotely. For jobs like these, being in the same city removes another team's travel time from the equation from the start.
  • Regulation and counterparties never stand still. The e-document scope keeps widening, bank statement formats change, marketplaces update their interfaces, the export customer adds a new field to its portal. The most overlooked function of a maintenance contract is exactly this: not keeping the system where it is, but changing it together as the outside world changes. Where this work is skipped, the system stops working one morning even though nobody touched anything.
  • The city is full of programs written years ago by a single developer and still carrying production; and because weaving and carpet plants run night shifts, a stoppage hits the current shift, not tomorrow morning's. We have met this picture repeatedly in our own work: we reverse-engineered the daily calculation formula of a compiled enterprise application, produced a twenty-nine-part analysis of a cutting-order system, and reconstructed the call contracts of more than sixty database objects with evidence. In other words, we know what maintaining a program without source code is like — from doing it, not from guessing.

The real story that unfolds after delivery

  • The person who built the software cannot be reached. The phone goes unanswered, messages get replies days later, or the answer is 'outside working hours'. Nobody notices while the system runs; the day it stops, you have a number but no one on the other end.
  • The program lives in one person's head. When that person goes on leave or quits, no one is left to make even the smallest change; never mind fixing a fault — even diagnosing it becomes impossible.
  • The server sits in a room nobody has looked at for years. The disk fills up, backups are assumed to be running, but whether a backup actually restores has never been tested. A backup is only an assumption until it has been restored.
  • A small change waits for months. A new report column, a changed rate or a new customer format — half a day's work — can be pushed back a whole quarter with 'it's in the queue'.
  • When regulation or a counterparty changes, the system can stop silently. The marketplace updates its interface, the bank format changes, a new field becomes mandatory on the e-document side; nobody warns you, so the problem is only discovered when an invoice cannot be issued.
  • The support bill is unpredictable. Some months no invoice comes; some months a small job produces an unexpected figure. A cost that cannot be budgeted is the kind that creates the most friction in a business.
  • The fault hits in the middle of the night shift and nobody knows who should call. The production manager, accounting or the owner; which number to ring, and what to do if there is no answer — none of it is written down.
  • The system slows down but nobody measures it. The month-end report takes ever longer to open, everyone gets used to it and the slowness is accepted as normal. Because it is not measured, nobody knows when it started or why it keeps growing.
  • Changes are made, but where and why is never written down. Months later someone touches the same spot, the old behaviour comes back, and nobody remembers the reasoning behind the earlier change.

Three separate needs, three separate contract forms

Maintenance is not one single thing. Keeping the system standing, continuing to develop it, and stepping in when production stops are three different jobs, and rolling them into one line usually leaves both sides unhappy. We separate the three and work out with you at discovery how much of each you need. How often we come, which jobs are included and which are not — the answers sit written inside the contract.

Annual maintenance contract

The regular work that keeps the system running: bug fixes, monitoring server and database health, regularly testing that backups are taken and can actually be restored, security updates, and mandatory adaptations driven by regulation or counterparties. What is inside and outside the scope is written out clause by clause — so that no argument comes later.

Monthly development capacity

We reserve a set number of working days per month for new features and improvements. You do not wait through a separate quote and approval cycle for every request; the work list is prioritised together at the start of the month, and the order can change during it. Whether unused capacity carries over is also written explicitly into the contract. This model suits businesses with a constant stream of small development needs.

Emergency response and incident management

A separate route for failures that stop production or invoicing. Who calls, which number they call, and within what time the first response and the on-site intervention are expected are defined up front. These times are not a standard promise recited to everyone; they are set to your shift pattern — a weaving plant running night shifts and an office working business hours do not have the same needs.

Monitoring, restore drills and early warning

To see the failure before the user does, we monitor the system: disk and memory levels, whether the integration flows are running, error logs, creeping transaction times. Because taking a backup is not enough, we run restore drills at regular intervals. An integration that stopped silently and went unnoticed for days is a picture we often see where there is no maintenance.

Maintaining software someone else wrote

Even if we did not build the software, we can maintain it; the condition is understanding it first. If the source code is not in your hands, we extract the business rules from the running system on an evidence basis, reconstruct lost database objects from the places they are called, and work to stand up an environment that compiles and runs. We have done this before; the report marks separately what could and could not be recovered — we never hand over guesses as knowledge.

Change log and handover file

Every change we make is recorded together with its reason; the version history, configuration and known risks stay with you in writing. The aim is that someone else could carry this system on after us. A maintenance service that made you dependent on us would be reproducing the very problem it is meant to solve.

How a maintenance relationship begins

  1. 01

    Inventory and health check

    We answer the question of what you actually have: which programs are running, whether the source code exists, where the server sits, how backups are taken, whose name the licences are in, which integrations are live. For this work we come to the factory and go into the server room too. At the end you get an honest picture; for some systems we will also say the right answer is not maintenance but takeover or replacement.

  2. 02

    Containing the risk

    Before any contract talk, we close the most urgent risks: if backups are not running, they start; a taken backup is tested by restoring it; anything with a high chance of stopping production is moved to the front. When you take over a system, the first job is not improving it — it is keeping it from falling over.

  3. 03

    Writing the scope and the call path

    What is included, what is billed separately, who calls whom through which channel, and what counts as an emergency all go into writing. One copy of this document sits with the production manager and one with accounting — because at the moment of failure, the person reaching for the contract is rarely the person who signed it.

  4. 04

    Setting up monitoring and a monthly rhythm

    Monitoring and alerting are put in place, then a monthly rhythm begins: prioritising the work list at the start of the month, development during it, and a written account at the end of what was done. A maintenance service that does not explain what it does stays invisible for as long as it is paid — and gets cut at the first budget squeeze.

  5. 05

    Quarterly review

    Every three months we sit down and discuss the past period with measured data: how many incidents occurred, from which root causes, which jobs keep coming back. A recurring fault is not a maintenance matter but a design matter; the work that emerges here goes into the next period's development list.

Frequently asked questions

You didn't build the software. Will you still maintain it?

Yes, but we look first. Promising maintenance without understanding a system would not be honest. The first stage is inventory and a health check: the source code, database, server and integrations are examined. At the end you get an honest answer; sometimes that answer is 'we can maintain this', and sometimes it is 'this system needs a takeover project before anyone takes on its maintenance'. Those are different jobs and are priced separately.

We don't have the source code. Can this still work?

In most cases, yes. If the compiled application and the database are in your hands, most of what the program does can be recovered. We have done it before: we worked out the daily calculation formula of an enterprise application with evidence, but the monthly calculation layer remained missing and we marked it clearly as missing in the report. Some knowledge lives only in source code and cannot be brought back; what you get from us is not a promise but a map showing what is known and what is not.

How many hours does it take you to respond?

We have no sign on the wall quoting the same time to everyone, because the needs are not the same. The times are written into the contract around your operating pattern: the first-response time for a production-stopping failure, the situations requiring on-site intervention and the out-of-hours coverage are each defined separately. This is where being in the same city shows its concrete value: coming to Başpınar or Şehitkamil for a job that has to be looked at on site is not the same thing as waiting for a team from another city.

What exactly does monthly development capacity mean?

It means we reserve a set number of working days each month for your development list. You do not go through a separate quote, approval and invoice loop for every small request; the list is prioritised together at the start of the month and priorities can shift during it. Whether unused capacity carries over, and which jobs count as outside the scope, is written explicitly into the contract. For businesses with a constant stream of small development needs, this model makes the budget predictable.

Can you work alongside our existing developer?

We can, and in some situations that is the right thing to do. The knowledge of someone who has known the system for years is valuable; sharing their load rather than taking their place carries less risk, especially through transition periods. In such an arrangement we make clear from the start who is responsible for which area and how changes will be recorded. Two teams touching the same place unannounced causes bigger problems than one team working slowly.

Do you take on one-off jobs without a maintenance contract?

Yes. A specific fault, a single report, fixing an integration or diagnosing system slowness can each be done as a one-off package with scope and duration written up front. We do not impose a maintenance contract as a precondition. We only say this: a one-off intervention does not amount to taking on responsibility for keeping the system standing, and without a contract that responsibility stays with you.

Our server sits at the factory. Do we have to move to the cloud?

No. There can be sound reasons for the server staying at the factory: proximity to the machines, production continuing through internet outages, data ownership. We provide maintenance in both setups. On an on-premise server the critical thing is not the location but whether the backup genuinely restores and whether the room's power and temperature have been thought through. We check these on site during the assessment; we have seen OSB facilities where the server sat in a cabinet inside the production area.

What happens if we want to end the contract?

You leave, and everything stays in your hands: the source code, database, configuration, change logs and handover file. We do not build the maintenance relationship as a lock; we prepare the handover file from the first day of the relationship, on the assumption that someone else could carry on. We want your reason for staying with us to be that we do the work properly — not that you have no choice.

Let's look at the state of the system first

Let's map out together which programs your business runs on, where the source code lives and whether the backup has ever actually been restored. That assessment is useful on its own; you decide afterwards whether the maintenance needs taking on. We are in the same city, and getting there is a phone call away.

Call Free strategy call