For its new Mobile Application Development Lab, Kennesaw State University (KSU) needed a mobile platform that allows students to develop a real-world mobile app in one semester and learn about other aspects of the development process, including source code control, testing, build management, and team coordination. KSU chose Windows Phone and the Microsoft Visual Studio 2010 development system—including Visual Studio Team Foundation Server 2010 for application lifecycle management. A powerful mobile platform and integrated tool set for all aspects of application lifecycle management will help students build a mobile app in a single semester and teach them other essential aspects of software development. With assistance from Wadeware and its participation in Microsoft programs for higher learning, KSU was able to get its new lab up and running quickly and at a minimal cost.Situation
Founded in 1963, Kennesaw State University (KSU) is the third-largest university in Georgia, with approximately 23,500 undergraduate and graduate students from 142 countries. Located a short distance from Atlanta near historic Kennesaw Mountain, KSU allows students to experience the best of the state’s capital city together with the serenity of a 384-acre, beautifully landscaped, pedestrian-friendly campus. KSU is accredited by the Southern Association of Colleges and Schools and offers 70 bachelor's, master's, and doctorate degree programs.
||None of the students had much experience with mobile app development, but I knew that their existing Visual Basic skills would be transferable to the development of Windows Phone apps.
Ph.D., Associate Professor of Information Systems, Kennesaw State University
Within KSU, the Department of Information Systems has approximately 550 undergraduate and graduate students and 21 faculty members. One such faculty member is Solomon Negash, Ph.D., Associate Professor of Information Systems, who believes that engaging students in real-world experiences promotes learning in ways far more powerful than a classroom lecture. To that end, Negash recently formed the university’s first Mobile Application Development Lab as a means of teaching students real-world mobile development skills.
By late 2010, Negash had acquired space for the lab in the university’s International Center for Innovation in Technologies. Before the lab could open its doors, however, Negash had to choose a mobile platform that would allow students to develop a real-world mobile app in one semester. Just as important, he needed a complete framework for application lifecycle management (ALM), as a tool for teaching students that real-world mobile app development requires much more than just knowing how to write code—including requirements and documentation, source code control, quality assurance, maintenance releases, project management, status reporting, and more.
“We need to introduce students to all aspects of mobile app development within a four-month semester, in a manner that lets them come into the lab on day one and hit the ground running—much like they’ll need to do after college,” says Negash. “At the same time, we need an ALM environment that lets us maintain and enhance what we hope will become a large portfolio of apps from semester to semester—again, much as is done in industry. Put another way, we need to emulate a real-world development shop as closely as possible.” Solution
KSU chose Windows Phone as a mobile platform and the Microsoft Visual Studio 2010 development system as a tool set—including Visual Studio Team Foundation Server 2010 for all aspects of application lifecycle management. “As an Information Systems department, we’re primarily a Microsoft shop, with an existing curriculum based on technologies such as Microsoft Visual Basic and Microsoft ASP.NET,” says Negash. “In addition, many of our students will go on to work in smaller or midsize companies that also are predominantly Microsoft shops. For these reasons, we made a conscious decision to focus on Microsoft tools and technology.”
Negash began recruiting lab interns from his class on Visual Basic development in March 2011, choosing 5 of the 15 students who expressed an interest. “None of the students had much experience with mobile app development, but I knew that their existing Visual Basic skills would be transferable to the development of Windows Phone apps,” he says.First Mobile App
The lab’s first project was a mobile banking application—a project Negash selected because his own research is focused on how mobile banking can be used to help meet the needs of communities in the United States that don’t have local banking facilities. Michael Treasure, an acquaintance of Negash’s and Chairman and Chief Executive Officer at TreasureCom Financial Holdings, agreed to provide the back-end services for the app by connecting it to his company’s CaribPay Mobile Universal Pay Network.
Students began using Visual Studio 2010 and the Windows Phone Developer Tools to build the mobile banking app in mid-April 2011. Three weeks later, Negash and his students showed a finished prototype to representatives from Microsoft, who had heard of the lab and arranged a meeting to discuss how Microsoft could help. The meeting led to an introduction with Microsoft Partner Network member Wadeware, which the lab enlisted to provide guidance in making the app market-ready and help set up its ALM environment.
During the remainder of the semester, designers at Wadeware helped students interpret design guidelines for Windows Phone apps and provided suggestions for taking advantage of unique Windows Phone user interface (UI) features, such as panoramas (Figure 1), which enable users to switch between multiple panes of a single, larger screen by flicking left or right. In parallel, developers at Wadeware examined the architecture of the app and provided feedback on how to improve it. Wadeware also introduced students to Microsoft Expression Blend 4 design software and taught them how to refine the UI of the app, while others in the lab continued to use Visual Studio 2010 to work on the Microsoft Visual C# code behind the UI.
|Figure 1. Design guidance from Wadeware helped Kennesaw State University|
students learn how to best take advantage of Windows Phone design features,
such as panoramas.
“In the beginning, students were only using Visual Studio to build the app and hadn’t paid much attention to UI design,” says Negash. “The addition of Expression Blend to our tool set added a strong focus on the user experience and gave students the tools to quickly refine the app’s UI.”
Supported by weekly conference calls with Wadeware developers, the student developers finished the app during the remainder of the semester—and demonstrated how to use it to perform financial transactions against a test instance of the TreasureCom application programming interface.Comprehensive ALM Environment
Beginning in April 2011, Wadeware spent about six weeks designing and implementing the lab environment, which consists of nine virtual servers hosted on two physical servers—achieved through the use of Hyper-V virtualization technology in the Windows Server 2008 R2 Standard operating system. Other infrastructure components include Visual Studio Team Foundation Server 2010, Microsoft SQL Server 2008 R2 data management software, Microsoft SharePoint Server 2010, and Active Directory Domain Services. The lab supports separate environments for development, testing, and production.
The lab’s 12 development workstations run the Windows 7 Professional operating system, Visual Studio 2010 Professional, and Expression Blend 4. Students can also access the lab on their own PCs, from anywhere on the campus’s network. KSU acquired all software licenses for the lab free of charge through its memberships in the MSDN Academic Alliance and the Microsoft DreamSpark program.
Functionality provided by the lab’s new ALM environment includes:
Source Code Version Control. Changes to all project files are kept in a central repository, where they are checked out by students for modification and checked in after changes are made. Code changes are automatically merged into the repository, which tracks all changes to provide visibility into which changes were made when and by whom. Students can label snapshots of the repository to capture and recreate the state of project files upon reaching certain milestones. They can also “branch” project files so that part of the team can fix bugs in the last major release while another part of the team starts coding new features for the next release. Fixes from one code branch can be merged into the other branch if necessary.
Work Item Tracking. Work item tracking in Team Foundation Server provides a means of capturing, managing, and tracking items to be completed over the course of a project—including requirements, features, tasks, bugs, or anything else that the team needs to track. Each type of work item can have its own data type, be given its own workflow, and be assigned to team members for tracking progress until completion.
Build System. The build server processes requests to build project files into a completed application. Builds can be invoked explicitly or by events that occur within the ALM environment, such as when a team member checks in code. The lab is taking advantage of gated check-ins, in which an attempt to check in code results in both a build and the execution of optional automated unit tests. The check-in is rejected if any part of the build or test process fails. This helps ensure that attempts to check in “broken” code will not impede the productivity of other team members.
Roles, Permissions, and Policy Enforcement. The environment provides support for roles and permissions to control who has access to various parts of the system. In addition, through the use of gated check-ins and similar features, Team Foundation Server can enforce various policies on projects. For example, the lab can specify that code cannot be checked in without at least one associated work item, or that check-ins are not permitted if there has been any change to the code since the last successful build.Refining a Curriculum
Negash is now busy working on securing additional funding for the lab and finalizing a working curriculum. Wadeware has proposed developing a full curriculum that takes advantage of its extensive experience in developing both software applications and training materials.
||We use the same Visual Studio 2010 integrated development environment to teach Visual Basic programming, so there were no new tools for students to learn—only the semantics of the Visual C# language.
Ph.D., Associate Professor of Information Systems, Kennesaw State University
The curriculum would employ a team-based structure similar to that of a small real-world development team. “We envision one or more application development teams consisting of five students each, with each student required to contribute 10 hours of effort per week and with team members divided into the roles of developer, tester, marketer, and project manager/development lead,” explains Jeremy Hutton, Project Manager at Wadeware. “We would also create a 12-week curriculum, realizing that students could participate in the lab for more than one semester but that the team for each semester may also include or be composed entirely of new students. Each team would meet on a weekly basis, could include students from the university’s Information Systems, Computer Science, and Marketing departments, and would ideally include at least one graduate student.”
The proposal also includes delivery of a flexible app development framework and document templates for instructors and students to use during the semester. “The program would include goals for each project phase, as well as deliverables that would be required of students to develop and release an application,” says Hutton. “It would be based on the same model used by Wadeware, in which projects are divided into phases for planning, implementation, release, and support and maintenance. The outcome of what we’ve proposed would be a complete curriculum for the Mobile Application Development Lab at KSU.”
Next semester, Negash plans to have students continue working toward releasing the CaribPay application on the Windows Phone. He has also identified two new apps for students to develop that will support mobile learning. In addition, because many mobile applications require back-end web services, Dr. Negash also plans to explore using the Windows Azure platform for hosting these web services—as a cost-effective alternative to purchasing, deploying, and managing on-premises servers.Benefits
KSU’s use of Windows Phone and Visual Studio 2010 in its Mobile Application Development Lab provides a powerful tool set for teaching students how mobile apps are developed in the real world. A short learning curve and a highly productive development environment will let students experience a full development cycle in a single semester, and a comprehensive ALM environment will expose them to other essential aspects of the development process. Assistance from Wadeware is helping Negash get his new lab up and running quickly, and the university’s memberships in Microsoft programs for higher education provides cost-effective access to the same development tools and distribution channels used throughout business and industry.
Minimal Learning Curve
Students with a background in Visual Basic have been able to easily make the transition to the Visual C# language that Negash has chosen to use in the lab. The same holds true for Negash, to whom Visual C# was also new. “We use the same Visual Studio 2010 integrated development environment to teach Visual Basic programming, so there were no new tools for students to learn—only the semantics of the Visual C# language,” says Negash. “During a hands-on workshop on Windows Phone development from the Microsoft education group, I provided students with a reference table for converting Visual Basic code to Visual C# and they were able to follow along.”
Rapid Mobile App Development
With a powerful mobile platform, short learning curve, and highly productive tool set, students will be able to rapidly design and build rich mobile apps in a single semester. “Students are taking on a significant project within a single four-month semester, especially considering that they take several classes and can only devote so much time to each one,” says Treasure. “When students demonstrated the app they built for me, I was very impressed by how much they were able to accomplish in such a short amount of time.”
Comprehensive Application Lifecycle Management
||When students demonstrated the app they built for me, I was very impressed by how much they were able to accomplish in such a short amount of time.
Chairman and Chief Executive Officer, TreasureCom Financial Holdings
Through its use of Visual Studio Team Foundation Server 2010, the lab will provide an environment that both further accelerates the development process and teaches students about all essential aspects of the software development process—not just how to write code. “In addition to developing a mobile app from end to end, students will also learn the many other skills needed to succeed in a real-world development shop, such as how to document requirements, test an application, and so on,” says Negash. “Perhaps most important, with a full ALM environment, we’ll be able to help students understand what it takes to work as part of a cohesive, efficient development team.”
Real-World Experience from a Qualified Partner
Assistance from Wadeware provided more than just rapid deployment of a full-featured lab environment. Interaction with Wadeware also gave students valuable insights into mobile app development and other aspects of application lifecycle management from experienced professionals. This approach mimics that taken by many companies that are new to Windows Phone development, which are quick to realize that the aid of a skilled Microsoft partner will help jumpstart their efforts and minimize project risk.
Low Implementation Costs
Participation in Microsoft programs for higher education gave KSU access to many of the resources needed for the lab. Perhaps the most significant is delivered through the MSDN Academic Alliance License Amendment, which permits the university to install software included in the program on any number of lab machines and permits faculty and students to install the software on their personal computers. The MSDN Academic Alliance also provides Negash with access to a community of instructors who can share curriculum and other learning resources to support the use of these technologies in education.
Similar access to software licenses is provided through the university’s membership in the Microsoft DreamSpark program, which is designed to provide students with access to Microsoft tools and technologies at no charge—including waiving the nominal annual fee that is typically charged for making mobile apps available for download on the Windows Phone Marketplace.
“The Windows Phone Marketplace provides an easy way to distribute the apps we develop,” says Negash. “It also provides a means of charging a nominal fee for the apps, which will help us make the lab self-sustaining and possibly even provide financial assistance for student interns.”
The use of Hyper-V virtualization technology also helped keep costs to a minimum by enabling Wadeware to do all development remotely. “Through the use of Hyper-V, we were able to greatly reduce travel costs while leveraging our broader team,” says Bill Wade, Partner at Wadeware. “After development was finished, we traveled to KSU with the virtual machines and had them up and running in two days.”
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010 is an integrated development system that helps simplify the entire development process from design to deployment. Unleash your creativity with powerful prototyping, modeling, and design tools that help you bring your vision to life. Work within a personalized environment that helps accelerate the coding process and supports the use of your existing skills, and target a growing number of platforms, including Microsoft SharePoint Server 2010 and cloud services. Also, work more efficiently thanks to integrated testing and debugging tools that you can use to find and fix bugs quickly and easily to help ensure high-quality solutions.
For more information about Visual Studio 2010, go to:For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers in the United States and Canada who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
For more information about TreasureCom, visit the website at:
For more information about Wadeware, email email@example.com or visit the website at:
For more information about Kennesaw State University, visit the website at: