This is a final project showing all my learning of the agile methodology in Software development. It's suppose to be simple to understand so I can convince development teams to switch over to Agile as it's much faster and more effiecent.
It includes:
A detailed document of the overview of Agile And A detailed powerpoint in comparison to waterfall.
Rubric
CS 250 Final Project Guidelines and Rubric Competency In this project, you will demonstrate your mastery of the following competencies:
Explain the different methodologies and stages involved in the software development life cycle Apply the stages of the software development life cycle within an agile development environment Evaluate various software development methodologies and tools Scenario Chada Tech Logo
You work for ChadaTech, a company that specializes in custom software design and development for both domestic and international clients. For many years, the company has been developing its software using a waterfall development model. ChadaTech is considering transitioning all of its development teams to an Agile methodology using the Scrum framework. This move is expected to improve its products and build a more cohesive corporate culture. However, ChadaTech has decided to pilot this process with your team before the entire organization makes the shift.
Your team has been tasked to develop an application for SNHU Travel, a travel agency seeking to use innovative tools to expand its client base. Your team will adopt a Scrum-Agile approach to developing the application. ChadaTech has also asked you to lead a final Sprint Review and Retrospective of the development with your team. This will help your team think through the work that they completed and how the new Scrum-Agile approach has helped in the development process. Finally, you have been asked to present the lessons learned to the broader company to help them decide about shifting all development teams to a Scrum-Agile approach.
Important Note: You will not be working with an actual team for this project. Instead, during each week of the course, you will take on a different role on the team and produce artifacts related to those roles as you progress through the phases of the software development life cycle (SDLC). You will reflect on the work you did throughout the course during your Sprint Review and Retrospective.
Directions Sprint Review and Retrospective At the end of a sprint or incremental release, the Scrum Master arranges a Sprint Review and Retrospective. For this deliverable, you will take on the role of the Scrum Master and create a Sprint Review and Retrospective to summarize, analyze, and draw conclusions on the work you completed during the development. In your paper, address each of the following:
Applying Roles: Demonstrate how the various roles on your Scrum-Agile Team specifically contributed to the success of a project. Use specific examples from your experiences. Completing User Stories: Describe how a Scrum-Agile approach to the software development life cycle (SDLC) helped user stories come to completion. Use specific examples from your experiences. Handling Interruptions: Describe how a Scrum-Agile approach supported project completion when the project was interrupted and changed direction. Use specific examples from your experiences. Communication: Demonstrate your ability to communicate effectively with your team by providing samples of your communication. Explain why your examples were effective in their context and how they encouraged collaboration among team members. Organizational Tools: Evaluate the organizational tools and Scrum-Agile principles that helped your team be successful. Reference the Scrum events in relation to the effectiveness of the tools. Evaluating Agile Process: Assess the effectiveness of the Scrum-Agile approach for a specific project. Address each of the following: Describe the pros and cons that the Scrum-Agile approach presented during the SNHU Travel project. Determine whether or not a Scrum-Agile approach was the best approach for the SNHU Travel development project. Agile Presentation Finally, you have been asked to put together a PowerPoint presentation for the leadership at your company. You will start by explaining the key facets of the Scrum-Agile approach. You will also contrast the waterfall and Agile development approaches to help your leadership make an informed decision. You must use properly cited sources to support your points. In your presentation, Address each of the following points:
Explaining Agile Roles: Explain the various roles on a Scrum-Agile Team by identifying each role and describing its importance. Explaining Agile Phases: Explain how the various phases of the SDLC work in an Agile approach. Identify each phase and describe its importance. Describing Waterfall Model: Describe how the process would have been different in a waterfall development approach rather than the Agile approach you used. For instance, you might discuss how a particular problem in development would have proceeded differently. Waterfall or Agile Approach: Explain the factors to consider when choosing a waterfall or Agile approach, using your course experience to back up your explanation.
Questions (You don't have to read this. This is only for a homework assignment with this repository)
- How do I interpret user needs and implement them into a program? How does creating “user stories” help with this?
User stories are extreamly helpful when creating a program. User stories allow people to state what they specifically want out of the program which allows for developers to add the features that have been asked for. For instance if multiple users ask for a "Sort by month" option on a calander. You know that should be a feature you priotize adding as it has the biggest reach to make the most users happy.
- How do I approach developing programs? What Agile processes do I hope to incorporate into my future development work?
I approach developing programs using the top down design. Using top down design I get a larger idea of what the idea is wanted and slowly break it down for others. By doing it this way it allows for developers to be flexabile in their design process which is perfect for the flexability of agile. Agile encourages strong communication and flexability. Personally, I was already using major parts of agile while creating games as me and my friends have a trello board we write and all take turns on. We also talk every single day about the project as well as what our roles are in the project.
- What does it mean to be a good team member in software development?
To me a good team member does exactly what's required of his role and a little extra. For instance if I was a scrum master it would be up to me to hold meetings and ensure everyone was on scurm as well as anwser any questions. While that is my job a way to be a good team member would be ensuring every person has a speaking part in the scrum so no one feels left out. I would also ensure coffee is stocked as they are usally held in the morning and people feel more talkative when eating food most of the time. This would break any barriers that could have been in place from awkwardness.