Download presentation
Presentation is loading. Please wait.
Published byRichard Sims Modified over 7 years ago
1
Capstone Data Analysis Services: Microservices Early Implementation (Agile and Cloud)
Marjani Peterson Teammates: Andre Guerrero and Ramesh Baral Mentors: Eric Nienhouse, Dr. Rich Loft, and Seth McGinnis Good morning My name is Marjani Peterson I attend Hampton University and my presentation is entitled …… Yesterday my teammates focused on the overview of the project and how we used the microservices in our project But today I will focus on Agile and the cloud
2
Project Overview Both scientists and non-scientists often find climate data difficult to use. Our task this summer was to develop a cloud-based application to help automate the analysis of this data. In this talk I will focus on two aspects of our team based project, the Agile Scrum development process and the cloud technologies we used. For those who did not attend yesterday I will give a quickly overview of the project Climate weather information is very vital to research and decision-making but is difficult for scientist and non-scientists to analyze and draw conclusions from that data Our task this summer was to develop a cloud-based application that facilitates an end-to-end public access to analyze atmospheric data
3
What is Agile? The Agile Manifesto Emphasizes:
Agile refers to a repetitive development process Some agile methodologies include Scrum Dynamic systems development method (DSDM) Extreme Programming Lean software development The Agile Manifesto Emphasizes: Individuals and interactions Process and tools over Comprehensive documentation Working software over Contract Negotiation Customer Collaboration over Agile refers to a repetitive development process It promotes adaptive planning, early product delivery, and encourages a quick and flexible response to change The main purpose of Agile is to connect engineers with stakeholder to build better software ….. Another advantage of Agile is it values _____ over ______ Following a plan Responding to change over
4
Agile Waterfall Best for projects where the end goal is not clearly defined Reduces risk with short feedback cycles Team work oriented-environment Interaction among development team and customer is key Requires a complete project plan in advance Rigid and inflexible Feedback and testing is held off until later in the project Better for projects like building a house and not building a software Often people debate about how Agile is better that Waterfall or vice versa And thats not the case it is more about which process best fits the project you are working on For our case it was agile Agile being that our project we did not have a clear end goal, and we need to be team work oriented. And communication with customer was needed to get an idea to were to go next since our end goal was not clear. Waterfall is more for project where there is a clear plan of have this product will be developed and for project where there will be little to no change. 4
5
Scrum Scrum is an agile development process that allows us to focus on delivering the highest business value in the shortest time. Every one week to a month a real working software is presented It allows the team to adapt to new and changing needs to help avoid surprises Scrum is an agile development process that allows us to focus on delivering the highest value product in the shortest time. The unique thing about scrum is every one week – a month a real working software can be presented and the customer can decide if they want to release it or continue to improve it One of the main benefits of scrum is customers can suggest modifications as we develop which can help avoid surprises
6
Scrum Components The roles: Sprints Scrum events:
Scrum Master – Andre Guerrero Scrum Product Owner – Eric Nienhouse Stakeholders – Dr. Rich Loft and Seth McGinnis Scrum Team – Marjani Peterson and Ramesh Baral Sprints Scrum events: Sprint planning meeting Daily Scrum meeting Demo Retrospective meeting The components of scrum include…. Scrum master manages the process for how information is exchanged and just over sees the development team to make sure they are on schedule Scrum product owner is responsible for the project’s success. They share their vision to the team, outlining work in the Product Backlog, and prioritizing it. Stakeholders are the reason the team is developing the software. The provide their feedback at demos The Scrum team develops the product and all have different skill sets that are necessary to develop the product. Sprint is the repetitive process that can be every week to every month depending on how long the sprints are. And all the scrum event below are involved in the sprint
7
Backlog grooming meeting
Our Scrum Process Product Backlog Sprint planning Daily Scrum meeting Backlog grooming meeting Demo Retrospectives My teams scrum process include first creating the product backlog We had a meeting where we wrote ideas we have for the development of this product the we categorized them All of these idea were then placed in our product backlog Next we started our 1 week sprints. Sprint planning took place on Monday which was where we pick items in the product backlog need to done in that week’s sprint. At the daily scrum meeting which was done every morning each team member states what they did yesterday? What they plan to do today? And If they are stuck on anything? On Wednesday we have backlog grooming meeting where we just prioritize the stuff in the product backlog so the team has an idea of what needs to be done next Our weekly demos took place on Friday and that included presenting what we did this sprint and we received feedback from stakeholders Retrospective is when just the Scrum team and scrum master meet to express what we liked? Didn’t like? Ideas we have? Or Kudos to any teammate. And at the end we each vote on which one we think we should focus more on next sprint Unique from the original scrum process, occasionally just the team will have a meeting amongst ourselves just to get a demo of what others have done this can also include some pair programming.
8
Scrum Board and work distribution
The Scrum Board gives team members a chance to pick the task they want to work on We use the Scrum Board to see what items haven't been started yet, stalled, in progress, or done Story Scrum board allows each team a chance to pick which story they would like to work on. You have a chance to chose which one you are most interested in working on It is usually set up in the room where the daily scrum meetings take place A story refers to the overall picture of what need to be done and the task are what the scrum team needs to do to complete that stories Explain the picture of the story and task The stories are arranged by priority so the most important work is addressed first. As you can see in the picture the top story tasks are being moved to the right first because they are top priority Task within the story
9
JIRA JIRA is an online task tracking software
We used JIRA to plan our sprints and keep track of the product backlog. It’s a great way for every one to see the tasks that need to be completed by the end of the week. Also, JIRA offers a way to view charts that provide an estimate of how many story points the team can complete in a sprint The team used JIRA to track and prioritize our work JIRA is an online task tracking software JIRA allows team members to be able to look at the product backlog anytime they want. In JIRA like the scrum board we move the task based on their status. Also, it offers a way to view charts that provide an estimate of how many story points the team can complete in a sprint
10
Amazon Web Services (AWS)
Amazon web services is an evolving cloud platform that provides easy experimenting, elasticity, scalability, and virtualization. AWS allowed us to rapidly deploy instances of microservices for rapid prototyping and exploration. Now I will talk about how we used Amazon Web Services. Amazon web services is an evolving cloud platform It provides easy experimenting, elasticity, scalability, and virtualization The use of AWS helped us to avoid installing all the technologies we used and downloading all the data we needed on our own devices
11
Elastic Cloud Compute (EC2)
EC2 allows an unlimited number of virtual machine instances to be created. The virtual machine instances can be configured with the system attributes you would like, such as RAM, hard disk, etc. AWS allows users to create an instance simply by clicking “create instance” and complete the steps or as we did import using the ec2-import-instance command EC2 is very easy to use and navigate Elastic cloud computing also known as EC2 is a service that allows an unlimited number of virtual machine instances that can be configured as you would like It is very easy to use and navigate You can either create the instance on the site or import the virtual machine which was what we did
12
Simple Storage Service (S3)
S3 is one of the cloud storage services for AWS. We used S3 because we were working with 300GB of data. We can easily make S3 cloud storage accessible to EC2 instance via FUSE. It was used to share our dataset across all our VMs and services. To store all of our data we Amazon S3 which is the cloud storage service for AWS The data we were working with was about 300GB so to have them in an environment that can keep as many files we would like without having to reconfigure was such an advantage We were able to easily get S3 to work with our EC2 instance S3 stores the data in buckets and you can create folders to organize that data So using FUSE just made the buckets act as a directory on the instance
13
Things that didn’t work?
AWS does not allow instances to be exported unless they were originally imported. S3 storage was useful for prototyping, however, it has inconsistent I/O performance. A disadvantage that we ran into is AWS does not allow instances to be exported unless they were originally imported To avoid this problem we had to import all of our virtual machines to AWS Also, S3 causes our application to run because of the size of data it is handling Provide an example
14
Conclusion Agile proved to be great for projects with a short time frame because we had a working product at the end of each week. After each demo we had a better idea of the project’s end goal from the feedback given each time. AWS proved to be ideal and cost efficient for prototyping. For EC2 and S3 services the total was about $75/month. We controlled the deployment timeline of our product. I would definitely use both again and high recommend to others In conclusion, I would definetly use AWS and Agile again and highly recommend it to other.
15
ACKNOWLEDGEMENTS CISL/ SIParCS NCAR/UCAR Eric Nienhouse Seth McGinnis
Rich Loft Robert Crimi Raghu Raj Kumar Andre Guerrero Ramesh Baral NCAR/UCAR
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.