Kuwait Anti-Corruption Authority (Nazaha)
Kuwait Anti-Corruption Authority (Nazaha) is a neutral, independent authority established following the enactment
of law number 2 of the year 2016 promulgated on 24/1/2016. NAZAHA was set up in response to the requirements of the United
Nations Convention against Corruption (UNCAC) which, in its sixth article, stipulates that "each State Party shall, in
accordance with the fundamental principles of its legal system, ensure the existence of a body or bodies, as appropriate,
that prevent corruption."
Combatting corruption significantly serves Kuwait's national interests. This is the main motive behind establishing NAZAHA.
It is essential to include such important agency in the Kuwaiti legislative system.
Business Needs & Challenges
Nazaha has an internal team of developers who develop for various platforms, including but not limited to the Microsoft
.net Platform, Android, PHP, Apple, etc.. Every one of the developers at Nazaha develops applications independently from
others. Although this approach has proved successful in the past, no single developer is capable of delivering a complete
solution in time. Furthermore, due to the absence of development processes that manage the lifecycle of application
development, such activities have been sporadic in nature. This causes the solutions to miss out on functionality, be
prone to faulty operations, or the solutions fail to meet the business needs.
Characteristics of a viable solution
Obviously, Nazaha needs to address the following needs:
Streamline the process of DevOps:
Define clear roles and responsibilities among the development team members. Roles need to be defined for Project
Manager, Analyst, Architect, Developer, Tester and Operator/Administrator.
Project Managers need to be able to layout the Project Plan and assign tasks to the team members. Project Managers
also need to have insight into the tasks completed, in progress and requiring intervention.
Architects need to be able to articulate the solution architectures to the rest of the team effectively, verify their
designs with the help of developers and facilitate the implementation of the final solution into the Production
Developers need to be able to work on a solution in teams, in parallel where possible. Developers need to spend more
time developing the solution(s) and less time reporting their progress to the Project Manager.
Testers need to be able to perform tests on a properly labeled version of the solution. They should be able to report
any bugs, issues or lack of functionality back to the developer(s) in charge and track the progress of bug fixing.
- Perform Release Management on solutions ready to be released or already released.
- Manage source code, while keeping proper versions for backup purposes.
Nazaha selected Sharper Software's DevOps Implementation
Services, in addition to the SharperSkills DevOps Training in order
to establish a culture of DevOps at Nazaha. Starting as early as the Requirement Gathering stage, up-to and continuously improving
Release Management, Nazaha selected the Agile Process as the Process Template of Choice.
Development Team Skills Assessment
Sharper Software met with the members of Nazaha's Development Team and performed one-to-one interviews to arrive at
the current skills of the team. Sharper Software delivered a report to Nazaha's Management, showing
the gaps in the required skill-set and the suggested assignment of roles and responsibilities. This approach helped
beat the one-resource-per-project challenge.
The Microsoft Azure DevOps Platform
Sharper Software configured Azure DevOps, as well as Visual Studio on every development team member's computer. Development Team
member computers were configured to connect to and use Azure DevOps. This provided the Development Team members with the latest
and coolest tools necessary to perform their jobs with high productivity.
The Development Team attended the SharperSkills® DevOps
Hands-On Training to learn how to use DevOps as the DevOps platform. Using an Auto-Generated Sample Project,
the team acquired a practical knowledge of the features and capabilities of Azure DevOps, without the bore, hassle and
theoretical approach of traditional training. Now, the Nazaha team is ready to use DevOps for everyday DevOps.