The Egyptian Ministry of State for Administrative Development (MSAD) was given the difficult task of creating the software to support transparent Egyptian elections in 2012. MSAD had a tight schedule and limited budget to develop highly scalable
applications to support the 50 million eligible voters set to participate in the landmark election process that was watched by the whole world. MSAD chose Microsoft Visual Studio 2010 and Team Foundation Server 2010 to ensure the application was ready for
the elections and able to handle the millions of voters using it at one time. MSAD is testing Visual Studio 2012 and sees potential to improve developer productivity even more.
The Arab Spring swept across Northern Africa and the Middle East in 2011, bringing about dramatic changes in governments. In Egypt the government leaders stepped down and were replaced with a temporary military tribunal that restored order and then worked
to hold an open election.
||Visual Studio not only provides a way to build our solutions but also guides us through the whole development cycle.
| Tarek Saad
VP Policies and Programs Sector
Originally scheduled for late 2012, the elections were pulled forward to November 2011 for parliamentary elections and May 2012 for the presidential elections. The Ministry of State for Administrative Development (MSAD) was tasked with developing the software
systems, called the National System of Egyptian Elections of 2011/2012, required for the elections.
MSAD was under national and international pressure to facilitate a system that would support transparent and fair elections.
With only three developers, a limited budget, and about one month to develop the application to scale to 50 million eligible electors, MSAD knew the choice of a development platform would be critical to the success of the project. MSAD chose to use .NET
as the development framework because its developers had .NET experience and the IT team at MSAD believed it could develop the application rapidly with the Microsoft development framework. “We chose the Microsoft platform because it fulfilled all of our requirements
and was easy to use,” says Sherif Fahmi, Technical Consultant, MSAD. Microsoft .NET also provided a large ecosystem of .NET developers that MSAD could leverage if required.
To manage the .NET development, MSAD selected Microsoft Visual Studio 2010 for its integrated development environment (IDE) and Microsoft Team Foundation Server 2010 for application lifecycle management (ALM) including source control, configuration management,
build and release management, and lab management.
The first task MSAD undertook was to analyze the election rolls and ensure that there was an accurate representation of eligible voters. Without an accurate list of electors the elections could not be considered fair. “We clearly needed to make this election
a role model for free and transparent elections in the region,” says Tarek Saad, VP Policies and Programs Sector, MSAD. “So we spent a notable amount of effort on filtering the electors’ database to remove any discrepancies.”
MSAD enlisted the help of a Microsoft Gold Certified partner to support its use of Visual Studio database projects and SQL Server 2008 Integration Services (SSIS) to thoroughly analyze the electors’ database. MSAD used SSIS to pull voters’ information into
SQL Server from various government systems and then used a database project to work with that data from within Visual Studio.
In parallel with that project, MSAD developers planned the rest of the software system for the elections. The system included two parts: a web-based system to tell voters where polling stations were located, and a server-based system the election officials
could use to record and tally the results from each polling station. Both systems needed to handle high traffic loads and be easy to use.
To develop the systems, MSAD took advantage of the Scrum templates in Team Foundation Server to manage its Agile development processes. Using the backlog report that Team Foundation Server produces in Microsoft Office Excel, the development team managed
its workload efficiently. The team also used gated check-in, which runs a series of unit tests on code prior to check-in to ensure that the code will work within the application. “With our tight resources and schedule, we could not afford to lose any time
fixing build failures,” says Fahmi.
Using Visual Studio, MSAD could also support very comprehensive load testing. The web-based application had to support 95,000 concurrent users. Performing adequate load testing was essential to ensure the reliability and availability of the system. “The
load tests were our assurance that the system would operate reliably during the elections to ensure the people of Egypt had the opportunity to participate,” says Saad.
MSAD engaged another Microsoft Gold Certified Partner to assist with the load tests. Throughout the testing, the Visual Studio Load Test Analyzer was used to analyze the data. “The Load Test Analyzer helped us discover bottlenecks in the application so that
MSAD could fix them and ensure the application could handle the election load,” says Dr. Ahmed Bahaa, Principal Technical Consultant, CompuPharaohs.
“One of the reasons we chose to develop the project using the Microsoft .NET framework was the extensive partner ecosystem,” says Saad. “We were able to utilize local companies’ iSource Global and CompuPharoahs to gain valuable assistance on technical details
to ensure we stayed on schedule.”
CompuPharoahs is currently helping MSAD evaluate the new features in Visual Studio 2012 for a future upgrade.
The elections proved the success of the development efforts. An estimated 26 million Egyptians, nearly 50 percent of eligible voters, cast votes in the election.
Supporting Fast, Agile Development
||With our tight resources and schedule, we could not afford to lose any time fixing build failures.
| Sherif Fahmi
Because MSAD needed to develop the applications in a very short timeframe, it used the ALM capabilities in Team Foundation Server to set up the project for Agile development. By using the Scrum template and gated check-in, MSAD got a quick start and ensured
it would not lose time repairing builds that failed.
MSAD found .NET 4.0 supports a high level of productivity for its developers. They already had a high degree of knowledge, and they easily developed additional knowledge as required. Using ASP.NET the developers produced applications with a very straightforward
user experience suitable for the general population.
Developing Scalable, Reliable Applications
In addition to the tight deadlines, MSAD was under pressure to ensure the elections system would be reliable. By using Visual Studio and Microsoft Test Manager to develop a thorough load-testing procedure, MSAD built an application that withstood the demands
on election day.
MSAD proved that mission-critical systems can be delivered quickly if talented developers have the right tools for the job. Visual Studio provides those tools through a comprehensive IDE and complete set of ALM capabilities. “Visual Studio not only provides
a way for us to build our solutions but also guides us through the whole development cycle,” says Saad. “Using Visual Studio we can build reliable, efficient and user-friendly solutions on schedule and with limited budgets.”
This case study is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.