Skip to content

xsova/SDLC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SDLC

A portfolio repo for my CS-250 SDLC class at SNHU.

In this README, I will answer some questions related to the content of the class:

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

Understanding User Needs:

  • Conduct user research via interviews, surveys, and usability tests to gather information about the users' needs, preferences, and pain points.
  • Create detailed user personas that represent the different types of users who will interact with the software. This helps us to empathize with and understand the needs of users.
  • Observe users in their natural environmnet to understand how they interact with similar products or services and identify areas for improvemnt, or where needs are unmet.
  • Establish continouos feedback loops with real users throughout the software development lifecycle to validate and refine our understanding of their needs, and adjust priorities accordingly.

Implementing User Needs

  • Empower users to help guide development in a direction that would most effectively solve their problems.
  • Employ design thinking methodologies to prototype potential solutions that meet the user needs. This should be collaborative and involve the users where possible to make the most informed decisions.
  • Utilize agile development methodologies to iteratively bould and test the program, so that issues are discovered sooner than later- and hopefully having a solid feedback mechanism will allow the users to positively influence prioritization.

User Stories

User stories are a tool in agile methodologies to capture a description of a software feature from the perspective of the end-user. They should:

  • Be written with an emphasis on the value the feature will bring to the user.
  • Provide a clear and concise description of what the user wants to achieve.
  • Encourage collaboration among stakeholders, including developers, product owners, and users to clarify requirements and solve the problems together.
  • Include acceptance criteria, which defines the conditions that must be met for a user story to be considered "done", which provides a clear definition of success for each feature.

A typical user story should follow this template:

As a [type of user], I want [an action] so that [a value/benefit].

Here is an example related to our project:

As a frequent traveler, I want to be able to check in online so that I can save time at the airport.

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

Steps I tend to take when developing:

  1. Decide what I want my program to do.
  2. Make a list of small tasks.
  3. Build the small chunks of functionality.
  4. Write tests for the portions that I've made.
  5. Repeat 3 and 4 until I'm finished (which I would do during step 1).

Agile processes I may incorporate into my future dev work

Since the main point of agile is to be flexible and to keep improving by learning from experience, I would like to incorporate:

  1. Being flexible and ready to change plans based on new information.
  2. Working in collaboration with others and the users. (Currently I tend to only really develop for myself, so maybe I'm already doing this?)
  3. Regularly making small changes and improvements to make my work better over time.

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

A good team member should understand that software development is a team sport. It should be about contributing your best while helping the team to succeed together. This should mean not only writing good code but also helping to create an environment where everyone can do their best work. Ideally a good team member would be:

Technically Competent:

  • You should be proficient in the necessary technical skills, and if you're not
  • You should be able to maintain a growth mindset and be open and willing to learn things that you don't understand yet.
  • Write clean, maintainable, and efficient code.
  • Have a strong analytical ability to solve problems creatively and effectively.

Communicative

  • Be a clear communicator who shares ideas and information clearly with the team.
  • Be a good listener to understand the perspectives and concerns of others.
  • Provide and recieve constructive feedback to improve what things you can (preferrably in a positive way).

Collaborative

  • Work will with others and contribute to a positive team environment.
  • Deliver on your commitments.
  • Be supportive and offer help to your teammates when they need/ask for it.

Adaptable

  • Be capable of adapting to changes in the projects or technology without getting too thrown off balance.
  • Continuously learn and embrace new skills and knowledge.

Positive

  • Maintain a positive outlook even when faced with challenges.
  • Treat everyone with respect.

Professional

  • Act with integrity and honesty.

About

A portfolio repo for my CS-250 SDLC class at SNHU.

Topics

Resources

License

Stars

Watchers

Forks