For the duration of this course, I have been tasked with taking on different roles within an Agile focused Scrum Team. Throughout this course, I have taken the role of the Product Owner, the Scrum Master, and the Development Team (Focusing primarily on the tester and devloper roles) and have spent time evaluating each role, what they are/do, and how they apply in an Agile environment. For the purpose of this course and as I took on each role, I was assigned a project by a client named SNHU Travel. The focus of the project was to act in each role to understand how the software development lifecycle is applied in a real world scenerio and how to work with and communicate with users/clients/stakeholders, how to implement the user requirements through the use of user stories and a product backlog, and how, as a developer, to take that information and implement features that best fit the user needs.
How do I interpret user needs and implement them into a program? How does creating “user stories” help with this?
Communication is key when it comes to interpreting and implementing a user's need(s) into a program. First, you must carefully read the requirements of that user need and interpret what the problem(s) are that you are trying to solve. Then, you need to identify whether or not the information is too broad and if you need some clarification to ensure that the implementation is exactly what the user needs. Finally, once you understand the user's need(s), then you can implement the solution that best fits that need. User stories are very important in helping keep the team organized and if utilized correctly, can help minimize the need for extra clarification by outlining a brief, yet descriptive version of the users needs.
How do I approach developing programs? What Agile processes do I hope to incorporate into my future development work?
Through this class, I have learned heavily the importance of iterative development and how it can be very beneficial in developing and designing programs that focus more on quality for the client and users that use it. Persoanlly, I like the approach of flexability and how it allows for change to happen as needed. I will also incorporate tools such as backlogging for future projects as that can help organize my thoughts and keep me on track with what needs to be done in that moment in time.
Being a good team member within software development means many things. The main aspects that I find to be the most important are as follows:
- A good team member is communicative and interactive with applying their feedback and inputs into the team
- A good team member has a collabortive mindset and is willing to work well along side other fellow peers
- Finally, a good team member is always teachable and is willing to learn. There is always some new to learn in this ever-changing field
With these reasons and more, a member of a software development team can excel well within that team, ultimately contributing to the success of the project that is assigned.