Git Product home page Git Product logo

cs-250-portfolio-item's Introduction

CS-250-Portfolio-Item

How do I interpret user needs and implement them into a program? How does creating "user stories" help with this?

    A main facet of agile development is focusing on creating value for the customer. Most of this value is centered around the people who will ultimately be using the software being developed — the user. Features bring users to the application and provide value to the user's life in some way. One of the best ways of encapsulating these features at a high level is user stories. They are written from the users' perspective and focus on their experience. Encapsulating features centered around the user is both one of the easiest and most effective ways of creating a blueprint for a software application. They carry a low cognitive burden, speeding up requirements analysis in the development process. These user stories can then be ranked and organized by their importance and size. Large user stories can be broken down into multiple stories as needed. Conclusively, user stories are intuitive, quick, and easy to create, easily organized, and focused on the user experience and value created for the user, making them the most popular way to create requirements in modern software development.

How do I approach developing programs? What agile processes do I hope to incorporate into my future development work?

    Before taking this class, when faced with an idea for a software application, I would first mentally modularize the program into separate features at a high level. Then, I would think about where I would get the data I needed for the program from. The first task would be to gather this data or at least enough of it to start writing some features and having data to test with it. The features would be mentally chosen starting with the main or most important feature of the application and working through the features by their level of importance. Often, I would get most of a feature done and then jump the next one and mostly finish that one, and probably jump around and put some finishing touches on features I have previously worked on as needed.
    While that method worked for me for the relatively small projects I have worked on compared to typical production projects at a company, I have learned some new ways to make the development process more organized and efficient. First, in the requirements analysis process, using online tools or even a notebook to write down features as user stories will help greatly to organize my projects. I can then rank these user stories and break down large stories into multiple as needed. With all of this layed out, I will have clear direction in my development process. It would also help tremendously to stay organized if I'm working with other people, as we can discuss which user stories we are working on and how these features will interact with each other. Having a short daily meeting would also be a great way to stay up-to-date with each other.

What does it mean to be a good team member in software development?

    To be a good team member in software development is to work with the bigger picture in mind: the success of the project as a whole. Fully understanding the direction and purpose of the project can help in making everyday decisions about how to implement features. Knowing what your role is as a team member in the success of the project is also crucial. Being able to effectively communicate your ideas and concerns and being able to listen and understand others' is also important. Effective collaboration is a trait of a good team member because much more can be accomplished as a team than as an individual. Bringing a positive attitude every day and being willing to help others goes a long way in fostering a great environment where teamwork can thrive. Technical competence and a passion for continuous learning also makes someone a great asset to a team. The ability to be humble and accountable allows one to learn from their mistakes and adapt to the rapidly changing software development process.

cs-250-portfolio-item's People

Contributors

bobby-rust avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.