CS-250 Software Development Lifecycle - Module 8
How do I interpret user needs and implement them into a program? How does creating “user stories” help with this?
The best way to interpret user needs is to list the step-by-step actions taken by them to achieve a desired functionality. User stories are a great way to imitate and map the actions that would be normally taken by the end user. Something like a user playlist can only be accessed by the user once they've been verified. But if it's not explicitly listed in the story, production can accidentally leave information outside the authentication wall, which can become extremely problematic for the user and for yourself. With user stories you can organize features by priority level and anyone involved in the project will know what's the final goal for it to be considered done, even if they do not have a way to communicate with the person that originally created that user story.
How do I approach developing programs? What agile processes do I hope to incorporate into my future development work?
I learned that UML diagrams are a great way to plan for my features in a way that is organized and functional. The project management introduction that the course provided me is invaluable for my future career. I was already accustomed to user stories, but I did not have written test cases in place before. Even though I could not see the usability of the "test" and "fail" cases in course's scope (there was not much deliverable code, so there wasn't much to test at all), I will definitely consider using in a real-life setting.
A good team member is participative and tries to help fix problems instead of only point out mistakes. It is also someone that is constantly interested in personal growth and self-education. Gives thorough feedback on pull requests that not only explain the issue, but help the person tackle code blocks that may be crucial for the smooth sailing of the sprint. In daily scrum meetings, brings block and explains issue in a way that the whole team can exchange information and maybe find a fast solution together. In case of blocks that need to be pushed to the next sprint, the ideal scenario is to catch them as soon as they happen and see if they can affect the production of other team members as well.