e-Government Gateway Software Development Process in Turkey

Published on: 07/10/2015



The aim of this paper is to outline the software development strategies and its underlying technical solutions used to develop e-government gateway services for its citizens and Turkey’s governmental agencies. Since 2012 there have been numerous documented academic papers about e-Government Gateway with the emphasis on its non-technical operations. This document covers the technical document aspect of our current status of e-Government Gateway Software Process additionally this article will explain the current status of software development process in academic manner.

Keywords: e-Government Gateway, agile software development methodology, continuous integration, service-oriented software architecture

1.      Introduction

1.1.    What is E-Government Gateway?


e-Government Gateway is a platform that enables a one-stop-shop and single authentication for the sole purpose of providing public services to citizens, businesses and government agencies via information and communication technologies. Officially launched on December 18th of 2008, e-Government Gateway currently has 21.460.136 active users providing 1083 services with the collaboration of 151 agencies as of April 15th of 2015.

The aim of the e-Government Gateway software systems is to meet the needs of its citizens through a joint effort of various government agencies while providing twenty four hour operations with convenience, decreased costs and time savings. The below table shows usage statistics on the services provided by e-Government gateway:


Usage Statistics
















Government agency









Table 1: Usage distribution of services provided via e-Government Gateway platform channels as of April 15th of 2015

2.      E-Government Gateway Service Development Process

2.1.   Software Development Methodology


Each government agency holds user data in their systems and using web services data is shared with e-Government Gateway system. This is the important factor that effects choosing the wright software development methodology in e-Government Gateway project. During development of Turkey’s e-Government Gateway software system several software models are applied. We have implemented the use of Kanban method because it is more adaptive and compliance with the e-Government Gateway development process.

First; the Waterfall model is one of the oldest models and widely used in government projects and in many major companies. This model emphasizes planning in early stages; it ensures early detection design flaws before the development stage (Sommerville, 2004). However in the Waterfall model, returning to an earlier phase involves costly rework. Each completed phase requires formal review and extensive documentation development. In each stage, documents must explain the objectives and describe the requirements for that phase. Because of this costly rework and continuous documentation reasons the Waterfall model is not preferred for e-Government Gateway project (Medeni & Ünsal & Ayas & Medeni, 2011).

Secondly; Agile programming is an approach, based on the development and delivery of small increments in functionality. On the Agile project, every member of the project team has the opportunity to know how the project is going at any given time. Daily scrum meetings, sprint reviews, and visible progress charts offer concrete ways to see progress (Osorio & Chaudron & Heijstek, 2011).

During e-Government Gateway software development phase Kanban and Scrum methods are used. In Scrum method time is divided into short work cadences, known as sprints, typically one week or two weeks long. The product is kept in a potentially shippable (properly integrated and tested) state at all times. At the end of each sprint, stakeholders and team members meet to see a demonstrated potentially shippable product increment and plan its next steps.

In Scrum method urgent issues can only be added to the product backlog and product owner can put this into next sprint. During development of e-government gateway software important issues should wait for this reason.

In e-Government Gateway software, web service client is developed by e-Government Gateway team. Government agencies are responsible for the development of the web services and the business logic of the software. During software integration phase, web service or business logic errors can appear. Sometimes correction of the errors and deployment of the new service cannot be completed in the sprint cycle.

For these reasons we had to change software development methodology. Kanban method focuses on continuous delivery and drives high efficiency by limiting how much work can be done at once. Kanban method includes more open options; the only constraints are visualizing your workflow and limiting the work in progress.

2.2.   Software Development Processes


This section will attempt to explain e-Government Gateway software preparation stages.

a) Business Development Process: Business Development team determines a new service using civil survey results, government agency requests and researches. Business Development team arranges meetings with government agencies about the content of the services. After feasibility study mature work is described to team members by product owner during the planning meeting. Team asks questions to produce high-level user story of the product backlog into the more detailed tasks. Requirements about new services are entered to Kanban Board so that all progress about these services can be tracked.

Figure 1: e-Government Gateway Service Development Stages

b) Software Development Process:

Software team consists of nine members. Software team starts off the day with twenty-minute daily meeting. The purpose of this meeting is to ensure coordination within the group. When the team members are ready to start on the new task, he/she takes the most critical task from Kanban board. This prevents people from feeling overloaded and forces teams to prioritize. Ultimately this equates to project managers and team members focusing on the right tasks at the right times while reducing wasted time or effort.

i.  Analysis Team: Starts to work on most critical action items. Analysis team works on the software requirements and prepares mock-up of a user interface. The mock user interfaces and requirements are then shared with government agencies, according to their requests and demands revisions are then made. Government agency starts the coding process of their web services according to software requirements. 

ii.  Software Development Team: If the need for new work requires new web component, than web designer starts on developing new components. After the design process, application layer coding starts. The application layer gets data from web services and constructs the business logic then returns the results to presentation layer. The presentation layer is responsible for the delivery and formatting of information to the application layer for further processing and display.

iii.  Test Team: After software coding has been completed, the code or application is then delivered to Test Team who then performs the testing in accordance with control criteria through the use of software requirement specifications and mock user interface. Test Control Criteria contains web page usability, screen layout standards, software performance tests. Integration tests with customers are performed the findings are delivered to software development and analysis teams. After installation, software is tested on live system and validated for use.

iv.  Integration Team: Integration team arranges secure network connection with the government agency environment to arrange the e-Government Gateway test environment. Tests web service performance and report the test results to government agency. Before migrating to a live system, arranges a secure network connection with the government agency environment to arrange the e-Government Gateway production environment. Monitors the live system health status of the web services.

v.  Configuration Team: The new software component is sent to the configuration manager for deployment within the live environment.

3.      Structures Used in Software Development

3.1.   Service Oriented Architecture


The services represent reusable business functionality; through standard interfaces, service consumers compose applications or systems using those services (Dennis, Smith, Kontogiannis, 2010). By using Service Oriented Architecture application business services can be freely designed. The business logic is centralized in one location, as opposed to being distributed across embedded multiple services.

Varying government agencies have implemented different hardware and software systems in their distributed structures. Service oriented software architecture enables the interaction among these heterogeneous structures and provides flexible, loosely coupled systems. This type of architecture simplifies integration of the e-Government Gateway software within the government agency services. By using Service Oriented Architecture changes on these services ultimately do not affect other parts. Only affected services are tested and changes can be deployed quickly.

For management of services we use enterprise service bus tool. An Enterprise Service Bus (ESB) is a software architecture for middleware that provides fundamental services for more complex architectures (Channabasavaiah & Holley & Tuggle, 2003). For example, an ESB incorporates the features required to implement a service-oriented architecture (SOA). In a general sense, an ESB can be thought of as a mechanism that manages access to applications and services to represent a single and consistent interface to end-users via web or forms-based client-side front ends. ESB enables services to communicate over different protocols and different message formats. Also it enables virtualization of services for loose coupling. Messages can be easily routed, and easily logged. Also ESB enforces and manages security centrally, including authentication, authorization (Siddiqui & Abdullah & Khan & Alghathbar, 2011).

3.2.   Usage of Continuous Integration


Continuous Integration is a software development practice where members of a team integrate their work frequently; usually each person integrates at least daily leading to multiple integrations per day (Fowler, 2006). Using this practice, problems which are related with integration is minimized. Thus, bugs can be found and solved easily in the early phases. Software source code analysis and conformity with the coding standards can be tracked easily. Developers can implement deployment frequently by the ease of continuous integration.  The following steps are applied in the continuous integration phase of e-Government Gateway software:

  • The source code is checked out from the source code repository.

  • Libraries which are related with the source code modules are updated using dependency management tool.

  • Software is coded according to the requirements and mock user interfaces.

  • If the unit tests are prepared for the software module, they are executed until test results are successful.

  • Developer commits the source code to the source code repository.

  • Continuous integration tool compiles the source code and deploys the software to the related server.

  • If an error occurs during compilation, continuous integration tool sends an email which contains compilation error to the software developer.

  • Static code analyzer tool scans source code, identifies root causes of software security vulnerabilities and correlates and prioritizes results. Static Code Analyzer tool also checks the source code for the coding standards compatibility.

  • Test team prepares test suites according to SRS and mock user interface.

  • During test session findings related with code, requirement or design are reported to software team using software project management tool.

  • After the corrections, test team validates the software. Finally source code is deployed to live system.

4.      System Architecture


Servers in the e-Government Gateway architecture are as following;


Figure 2: System Architecture


a. Entry Server: The Entry Server checks user authentication. User can enter the system by the using these input methods: mobile signature, e-signature, ID card and e-Government Gateway Password.

b. User Interface Server: User interface codes are located on this server. The presentation layer is implemented using PHP / HTML / Javascript languages.

c. Application Server: This server is a bridge between user interfaces and enterprise service bus. This server takes the data from web services and sends the results to e-Government Gateway Mobile Application, e-Government Gateway Kiosk and e-Government Gateway web user interfaces.

d. Enterprise Service Bus Server:  This server allows communication via a common communication bus that consists of a variety of point-to-point connections between providers and users of services.

e. Database Server: User information and service usage logs are located in this server. Personal data is not hold in e-government gateway system, only identification number and password hash data of users are located on this server.

f. Session Server: User session data is hold in this server.

g. Cache Server: In e-government gateway system active data is often cached to shorten data access times and reduce latency. This data is shared among all applications and hold in this server.

h. Asynchronous Server: This server puts all incoming web service requests into a queue and routes these requests to related web services according to web services response times. This server tunes the routing speed; if a web service response time is high this server routes less requests, holds other requests in the queue till web service returns a result.

5.      Software Security Process


Every day, millions of people perform transaction using e-Government Gateway system. They search their private information bearing in mind that it is reliable and can be trusted upon and the operation they perform is secured. It is important to provide security in such a system. Security controls starts in software development process, using continuous integration process; errors, vulnerabilities and compliance with the security standards are automatically reported and monitored.

Periodically, e-Government Gateway project penetration test is done by an independent company. According to results of tests; system vulnerability and security leaks are reported. These findings are resolved by system and software development team. Using Secure Software Development Life Cycle takes certain amount of time but becomes profitable in the long term: "it is much cheaper to prevent than to repair" (McGraw, 2006).

Encryption techniques are used for information security during software development phase. For example user passwords are encrypted before storing in database. Software developers are not allowed to access the live data. Development and production environments are separated for security reasons. Test team cannot use live data. Test data is cleaned up from personal data and only dirty data can be used in development environment.

6.      Accessibility


An important aim of the e-Government Gateway project is to emphasize social responsibility awareness-raising. e-Government Gateway intends to bring services to widest possible audience without discriminating old/young, obstructed/unobstructed and user's device.

e-Government Gateway caters to the four basic disability group’s needs (Visual, auditory, physical and mental). E-Government Gateway software is designed by considering some design rules: take less time to accomplish a particular task, easier to learn, more satisfying to use. Usability tests are carried out in collaboration with universities. These tests are made in accordance to EN ISO 9241-151, TIS 194- ISO / IEC 40500 : 2012 ( WCAG ) standards. 

7.      Software Products Developed Based On e-Government Models


The target of e-Government encompasses four main groups: citizens, businesses, governments (other governments and public agencies) and employees. The electronic transactions and interactions between government and each group constitute the e-Government web of relationships and the respective four main blocks of e-Government. (Ndou, 2004). e-Government models are accordingly divided into four groups; applications for government to citizen (G2C), government to business (G2B), government to government (G2G), and government to employees (G2E) (Electronic Government for Developing Countries, 2008). However e-Government Gateway does not incorporate software development for G2B and G2E models. The G2C and G2G models for which software applications are developed can be grouped as below:

a. G2C-Government-to-Citizen:  The focus of these applications is the online provision of information from government to citizen (Şataf & Çiçek & Dikmen, 2014). Citizens can access these services via mobile applications, kiosk and the web site. The e-Government Gateway does not keep any data that comes from government agencies. Users access data or services by instant queries over government agencies. Mostly used G2C services in e-Government Gateway are shown in the below table:


Mostly Used G2C Services


Social Security Premiums


Open Court Cases


Tax Debt Query


License Plate Query


Weather Cast



Table 2: Mostly Used G2C Services


Other important topics under G2C model provided by e-Government Gateway are as following:

   i. Acknowledgment: The purpose of this service is to acknowledge E-Government Gateway users by SMS, email, gateway inbox and instant notices sent from mobile application. Thanks to this service infrastructure, users can get acknowledgment from all government or business institutions from single point.

  ii.  Payment: Users can make their payments to government agencies using e-Government Gateway by different ways such as internet banking, credit or debit card.

b. G2G-Government-to-Government: The aim of this model application is to provide better service to citizens and businesses, and enable better harmony among national, regional and local government units (Efendioğlu & Sezgin, 2007). Via e-Government Gateway, one government agency can share data and service with another government agency. In this way, rather than establishing one by one secure connections, government agencies can use e-Government Gateway infrastructure to provide service to all government agencies from one point. Moreover, the data exchange among government agency via e-Government Gateway (Public Applications Center-www.kamu.turkiye.gov.tr) enables service provision without citizens' physically going or applying to these agencies themselves. Mostly used G2G services in e-Government Gateway are shown in the below table:


Mostly Used G2G Services


Open Court Cases Service Share


Bank Payment Control Service Share


School Reports Service Share


Social Security Premiums Service Share


License Plate Query Service Share



Table 3: Mostly Used G2G Services


Other important topic under G2G model provided by e-Government Gateway is as following:

i.  Single sign on (SSO): Enables all users of the e-Government Gateway to directly access applications of other government agencies that require identity authentication with one password and without additional authentication. By this way citizens can securely access all public services with a single password management.

8.      Conclusion


In this article we tried to describe the methods applied during e-Government Gateway software development phases. Selecting an appropriate software development method, considering the technical aspect of the project, organizational, and team considerations, facilitates the project manageability and traceability.

As all systems have, e-Government Gateway software has development areas. One of the issue is test-driven software development methodology. The software developer writes an automated test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards (Beck, 2002).

e-Government Gateway plans to increase the usage capacity and number of users, by keeping up with evolving technology. In this respect, e-Government Gateway mobile application is currently being developed. Application development on new technologies, such as smart wearable products, is planned for future work.

9.      Acknowledgement


We thank all contributing people who worked at e-Government Gateway and Information Society Team for their complimentary efforts.

10.  References


Beck Kent, Test-Driven Development By Example, Addison-Wesley Professional, 2002

Channabasavaiah Kishore, Holley Kerrie, Tuggle Edward, “Migrating to a service-oriented architecture”, IBM Developer Works, 2003

Efendioğlu, A., & Sezgin, E., E-Devlet Uygulamalarında Bilgi Ve Paylaşım Güvenliği. Ç.Ü. Sosyal Bilimler Enstitüsü Dergisi, 2007

Electronic Government for Developing Countries, ICT Applications and Cybersecurity Division Policies and Strategies Department ITU Telecommunication Development Sector, 2008

Fowler Martin, Continuous Integration, 2006

Lewis Grace A., Smith Dennis B., Kontogiannis Kostas, A Research Agenda for Service-Oriented Architecture (SOA): Maintenance and Evolution of Service-Oriented Systems, 2010

Medeni Tunç, Ünsal Serbülent, Ayas Meryem, Medeni İhsan Tolga, Tacit Knownledge Extraction For Software Requirement Specification, 2011

McGraw Martin, “Software Security: Building Security In”, Addison-Wesley Professional, 2006

Ndou  Valentina, e-Government For Developing Countries: Opportunites and Challenges, 2004

Osorio  Jorge A., Chaudron  Michel R.V., Heijstek Werner, Moving From Waterfall to Iterative Development – An Empirical Evaluation of Advantages, Disadvantages and Risks of RUP, 2011

Siddiqui  Zeeshan, Abdullah  Abdul Hanan, Khan Muhammad Khurram, Alghathbar  Khaled, International Journal of the Physical Sciences Vol. 6(1), Analysis of enterprise service buses based on information security, interoperability and high-availability using Analytical Hierarchy Process method, 2011

Sommerville Ian, Software Engineering, Addison Wesley 7th edition, 2004

Şataf Ceyda, Çiçek Hüseyin Güçlü, Dikmen Süleyman, Kamu Hizmetlerinin Sunulmasında E-Devlet Uygulamalarının Toplumsal Algı Düzeyi Üzerine Ampirik Bir Çalışma, Bilgi Ekonomisi ve Yönetimi Dergisi, 2014

Nature of documentation: Technical report


Type of document