Embracing Agile methodology during DevOps Developer Internship Program

Reading time: 5 minute
...

📝 Original Info

  • Title: Embracing Agile methodology during DevOps Developer Internship Program
  • ArXiv ID: 1607.01893
  • Date: 2016-07-08
  • Authors: Amol Patwardhan, Jon Kidd, Tiffany Urena, Aishwarya Rajgopalan

📝 Abstract

The DevOps team adopted agile methodologies during the summer internship program as an initiative to move away from waterfall. The DevOps team implemented the Scrum software development strategy to create an internal data dictionary web application. This article reports on the transition process and lessons learned from the pilot program.

💡 Deep Analysis

Figure 1

📄 Full Content

The DevOps team serves as facilitator between the software development team and the information technology (IT) operations team. The DevOps team at our company had an opening to hire a developer intern for the summer. The team saw an opportunity to use the internship as a steppingstone for adopting agile in development process. The DevOps team worked on projects with smaller scopes, internal IT projects, utility tools, automation, infrastructure projects and non-production as well as production issues support. All of these projects could server as potential candidate for embracing agile methodology. The following benefits were identified in moving to agile methodology during the internship program. 1) The process would provide a real world example for assessing the advantages of going agile within the organization. 2) The process would provide a fulfilling internship experience. It would also inculcate agile mentality early in the career for the intern. 3) The process would help identify the hurdles in transitioning from waterfall to agile.

The core product at our company is a web application built on micro services architecture. There are several relational databases used behind the scene with very little documentation about the database, tables, columns and stored procedures. There was a need to create a centralized, internal web site containing information about all the databases. On completion the website was hosted in one of the non-production environments. New developers, Business Analysts and QAs had been finding it difficult to understand the intent, naming convention and business use case behind a certain database, table and columns and their cryptic names did not provide much information. Some common questions asked were: What did a specific database, table, column name mean? What was the rationale behind the name? What is it used for? What are the standards for data types of columns? DevOps chose the data dictionary project as the candidate for the agile initiative. Since there was no formal documentation available to describe these database objects internally in IT departments, the data dictionary project was started to serve as a self-contained project with sufficiently simple/small scope for a DevOps developer intern. Scrum strategy was chosen to practice the agile methodology as part of the pilot initiative.

The various roles for the Scrum methodology were defined as follows: a) Scrum team: The scrum team consisted of DevOps manager, business analyst, and senior software engineer and developer intern. b) Scrum master: The DevOps manager served as the Scrum master. His responsibilities were to remove any impediments to the progress of the project. For instance, the intern’s development machine started crashing in the second week at the job. The scrum master immediately raised a support ticket with the desktop support team. He followed up with the technician to get the issue resolved and ensured that the coding effort was not affected. A replacement laptop was arranged in the interim to ensure that there was no downtime. He also acted as the facilitator of team events to ensure regular progress. For example, the scrum master organized a meeting and initiated an email-communication between subject matter experts and the developer intern so that information about the databases could be shared and added to the database dictionary. c) Product Owner: The business analyst on the DevOps team acted as the Product Owner. Since the project was an internal IT initiative, the product owner was also the mock customer. The Product owner provided important feedback about the language, text, color scheme, layout and expected functionality from the Data Dictionary project. The product owner played an important role in arranging milestone meetings, limiting the scope of the project and helped manage communication between various stakeholders across departments keen on using the data dictionary website and the DevOps development team. d) Development team: The development team for the data dictionary project consisted of senior computer analyst, senior software engineer and the development intern. Both the resources belonged to the DevOps team with senior analyst mostly assisting with the architecture and design of the data dictionary web application. The technology chosen for implementation was ASP.NET MVC using C# and MS SQL as the backend system. The senior software engineer served as a technical mentor for the developer intern.

The scrum team met and outlined the sprint duration (4 weeks = 20 business days) for implementing the data dictionary project. The team defined the definition of done/complete project as the day the project would receive sign off for all the stories from quality assurance team.

A daily stand up at 9 am was organized. The scrum master and the development team met and shared status updates. The three things that were discussed during the daily stand ups were as follows: 1) task comple

📸 Image Gallery

cover.png

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut