State Audit Bureau
The Constitution of the State of Kuwait, which was issued on November 11, 1962, clearly provided for the establishment
of a commission for financial control in which its independence shall be safe-guarded by the law. Believing that public
funds, that form the State s nerve and its corner-stone for prosperity, should be safe-guarded to insure full
collection of revenues, avoid any loss, or negligence and expend these revenues for the welfare of the society without
extravagance or unreasonable economizing.
On July 7th, 1964 Law No. 30 for the year 1964 was issued, establishing the Audit Bureau in the State of Kuwait.
Its first Article provides: There shall be established an independent commission for financial control which shall
be called the Audit Bureau and shall be attached to the National Assembly.
In charge of safeguarding the State of Kuwait and providing Financial Control, Kuwait’s State Audit Bureau strives to
maintain effective control of, preventing misuse of and verifying proper utilization of public funds. Despite the fact
that SAB is subordinated to the National Assembly, it is considered an independent authority, as its relationship to
the National Assembly is a supervisory and advisory role.
Business Needs & Challenges
SAB has an internal team of developers who develop for the Microsoft .net Platform. Every one of the developers at SAB
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
Characteristics of a viable solution
Obviously, SAB 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.
SAB selected Sharper Software's DevOps
Services, in addition to the SharperSkills TFS Training in order
to establish a culture of DevOps at SAB. Starting as early as the Requirement
Gathering stage, up-to and continuously improving Release Management, State Audit Bureau selected the CMMI DevOps Process as the
Process Template of Choice.
Development Team Skills Assessment
Sharper Software met with the members of the Development Team and performed one-to-one interviews to arrive at
the current skills of the team. Sharper Software delivered a report to SAB'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 DevOps Platform
Sharper Software installed and configured Team Foundation Server on a server platform, as well as Visual Studio
on every development team member's computer. Development Team member computers were configured to connect to and
use Team Foundation Server. 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® TFS
Hands-On Training to learn how to use TFS as the DevOps platform. Using a Virtual Machine,
the team acquired a practical knowledge of the features and capabilities of TFS, without the bore, hassle and
theoretical approach of traditional training. Now, the SAB team is ready to use TFS for everyday