How do I interpret user needs and implement them into a program? How does creating “user stories” help with this?
Taking a user-centric approach to product development ensures that the software solves users' problems. Organizing modules and tasks into user stories helps to give perspective and context of the problem, desired functionality, and goal or outcome. Developers often design software to solve problems with which they have little experience, and user stories can help a development team understand these processes such that they may design a proper solution.
How do I approach developing programs? What agile processes do I hope to incorporate into my future development work?
The agile process that I embrace the most is building and integrating small and incremental improvements. Making smaller changes and testing those changes throughout the process reduces the chance of introducing bugs or completely breaking the source.
Comparing this process to long hours of writing code before testing and integration, incremental improvement is clearly far superior, and I will continue to incorporate this process in my development.
What does it mean to be a good team member in software development?
First, clear and effective communication is an essential skill in a team member. A developer may be the best programmer in the world, able to solve complex equations without a calculator or write algorithms while asleep, but without effective communication and mutual understanding, requirements will be missed, the product won't function properly, and clients will not be happy. To the delight of team memebers, the most valuable team members spend considerable effort and time on designing their communications for best effect.
Second, selflessness and humility go a long way toward maintaining team cohesion and effectiveness. To lead is not to exert authority on others; greatness is accomplished by encouragement, compromise, and incentive. And realizing and accepting that sometimes I will need to contribute more than others to get the team across the finish line is an opportunity to lead the way, not a burden to fear.
Third, a lifelong dedication to learning is critical as a good team member. Technology is always rapidly changing, and adapting to new innovation can be difficult. Keeping an open mind and remaining flexible creates an environment of receptiveness and versatility. Not only are we constantly learning about new technology, we are always learning about our teams and coworkers, our companies, society, and the world around us, and being amenable to all of the possibilities makes fitting into teams considerably easier.