To manage our intern program, MetroStar used the monday.com platform. The platform makes it easy to implement the Agile process and takes the guesswork out of who needs to accomplish what task. They have easy-to-use templates, and the software is quick to learn, which removes the complexity of also learning Agile. Removing the complexity of learning new software allows the team to hyper-focus on the work that needs to be done.
Agile approaches are critical to delivering successful digital work on time and on budget. Immersing the interns in the Agile framework and ceremonies provides them with critical exposure and understanding that will become the foundation of their future technology careers.
MetroStar's 2021 summer internship program focused on exploring low code and teaching future developers the Microsoft Power Platform. The intern class, six university students from across the nation, with backgrounds in design, data, and development, worked collaboratively to create a product using Agile best practices.
Using a Project Management Software
JIRA is commonly used for large projects for its release and requirement tracking and reporting abilities. While also providing tracking and reporting, monday.com is beginner-friendly—perfect for interns learning the Agile process.
MetroStar chose monday.com for the internship because it is more approachable for teams that are not as fluent in Agile processes and tools. The platform makes it easy to customize a board for your specific project needs. The layout and templates within monday.com helped keep our interns from becoming overwhelmed, especially if they had no prior experience using a project management software or working within the Agile process.
The platform's boards are also secure, which is vital to project management. Only those invited to the board can see the content, and admins can update user permission to view or edit. The platform actively keeps a history log of any archived item or group, that can be viewed and restored if needed. Sometimes accidents happen, and this feature helps ensures our work is not lost due to one wrong click – sometimes that’s all it takes!
Using monday.com helps teams initiate the Agile process to easily decompose large project goals into actionable and specific tasks.
We tackle these tickets by defining our iterations or 'sprints,' which look different from project to project. A sprint is typically a one, two, three, or even four-week period in which we set goals to accomplish. Since the internship program lasts for ten weeks, we implemented one-week sprint cycles.
Time-boxing is at the heart of Agile and Scrum methodologies, so getting sprints right will help your Agile team manage and deliver better software with fewer headaches.
"Software development is a team sport, and sometimes assigning a ticket to only one person isn't enough. Most project tracking systems allow only one person to be assigned to a task. Yet, monday.com lets you assign multiple people, which has been really helpful for our project," said Niels, Sr. Software Developer and a leader overseeing the internship program. "Many of our tickets (user stories) are assigned to multiple team members for things like pair programming or collaboration between designers and developers."
A Scrum Master works with the team to break down the project's goals into tickets, also called user stories. User stories are informal explanations of a software feature and are written from the perspective of a user.
User stories can be anything from how the team intends for the user to sign in to the application, implementing form fields and validations, to integrating with other systems. Once the team has high-level user stories, they are broken down further by defining the acceptance criteria and definition of done for each user story.
Acceptance criteria are the conditions that the software or application must satisfy to be accepted by a system user. These are checklist items that must be completed for the user story to be considered done—the more detail, the better when it comes to requirement gathering and documenting acceptance criteria.
An example of our monday.com board and layout.
You might be asking yourself, "Why would you need to break down requirements to such a granular level?" Well, here is an excellent example to answer that question.
Think about a simple task like making a peanut butter and jelly sandwich. You're probably thinking:
User Story: As a chef, I want to make a PB&J sandwich so that I can serve it to my customer.
Put peanut butter on bread
Put jelly on bread
If you gave these acceptance criteria to someone, they could probably figure out how to make the sandwich. However, with software development, you need to be as specific as possible; otherwise, it may be built incorrectly.
It would help if you asked questions like:
What are all the materials you need (knife, plate, etc.)?
What kind of bread do you use?
Should you use crunchy or creamy peanut butter?
What flavor jelly?
Do you cut the sandwich? If so, do you cut it diagonally or horizontally?
The questions are endless. If you only answer the questions above, which aren't necessarily all the questions you would need to ask, then the acceptance criteria would double – as seen below.
User Story: As a chef, I want to make a PB&J sandwich so that I can serve it to my customer.
Acceptance Criteria: (assuming all materials are gathered and ready)
Place two slices of white bread on a plate
Use a knife to scoop two tablespoons of crunchy peanut butter and spread on bread slice '1'
Use a knife to scoop two tablespoons of strawberry jelly and spread on bread slice '2'
Place bread slice '1' on top of bread slice '2' with the crunchy peanut butter side facing downwards so that the peanut butter and jelly are touching
Use a knife to cut the sandwich diagonally, creating two triangle-shaped servings
Serve on the plate
Believe it or not, you could break these criteria down further to include even smaller steps like opening and closing the bread bag and jars. So, this seemingly simple, three to six-step process can turn into 10-15 steps when you truly break it down into an end-to-end process.
Requirement gathering and refinement are very important parts of an Agile project. They ensure the system works as expected for both the client and end-users (people using the project or service) while also keeping a realistic scope in mind.
Since Agile is iterative and incremental. We host an array of recurring meetings, known as ceremonies, to help us reach our goals, such as Daily Stand Ups, Sprint Planning Meetings, Sprint Demos, and Retrospectives.
A Daily Stand Up, or Scrum, occurs every day, usually toward the beginning of the day. It is an accountability meeting to check with each team member to discuss what they worked on yesterday, what they're working on today, and if they have any blockers preventing them from moving forward with their tasks.
This meeting helps identify issues as soon as possible so that the Scrum Master can remove them, and the team can continue with their tasks.
Sprint Planning takes place before every sprint and is usually held a day or two before a new sprint starts. It is a meeting to discuss and plan what the team will need to work on during the upcoming sprint cycle.
A Sprint Demo is a meeting hosted by team members to demo the functionality developed in the previous sprint. This is held at the end of every sprint cycle. Sprint Demos are a prime example of how Agile utilizes iterative and incremental development by frequently presenting progress to the client, ensuring the team is always on the right track with the client's vision.
Finally, a Sprint Retrospective meeting is held after a sprint ends. This is the time for the team to actively reflect on what happened during the sprint cycle, any mishaps that occurred, rejoice in wins, and identify if any team or workflow changes need to happen in upcoming sprints. This is a great opportunity for the team to regroup, reflect, and make necessary changes to improve continuously.
A screenshot of our interns meeting virtually.
"Using monday.com is beneficial when it comes to the ease of labeling user stories and to be able to communicate on a task's description," said Bree, a 2021 UX Intern. "I think having so many meetings before, during, and after a sprint can feel daunting, but there are definitely benefits to seeing how your team is doing and the progress you've made at the end of each sprint."
Sharing the monday.com board during these meetings is a great way to showcase the work that has been done, plan for upcoming work as a team, and double-check that the team isn't missing anything important.
Why MetroStar Teaches Interns About Agile
An internship at MetroStar is meant to set up future developers, designers, engineers, and more, with the tools they need to succeed in the industry. Introducing our interns to the Agile process prepares them for their work on future teams. Not only do they learn the correct terminology and meeting cadence, but they also can actively practice the concepts they learn about.
Agile can be applied, in theory, to everyday life. The goal of Agile is to foster self-management, organization, and efficiency. These are skills that can improve your day-to-day activities in and outside of work, like managing your social calendar, planning for an upcoming move, or preparing for a wedding. It is not a one-size-fits-all, strict schedule that you follow – it's a method of management. And that is the beauty of Agile.
We have a lot more to say about Agile.
Interested in learning more about how and why we used Agile for our internship program?
Emily is an experienced Scrum Master and a leader overseeing the 2021 MetroStar Summer Internship Program. She has driven the adoption and improvement of Agile methods and processes efficiencies through her work as lead Scrum Master while supporting internal programs and large Agile teams for our clients.
Never miss a thing by signing up for our newsletter. We periodically send out important news, blogs, and other announcements. Don’t worry, we promise not to spam you.