Intro to SE Methodologies Flashcards
(45 cards)
A process or series of processes used in software development
Software Development Methodology
Software Development Methodology Phases
- Design Phase
- Development Phase
Takes the form of defined phases. It is designed to describe the how of the life cycle of a piece of software
Software Development Methodology
codified communication. It is setting set of norms between a group of people that say this is how you’re going to work and this is how you are going to pass information between each of you in certain ways; whether that is documentation, whether that is discussion, whether that is drawings on paper
Software Development Methodology
Every software development methodology framework acts as a basis for
applying specific approaches to develop and maintain software. Several
software development approaches have been used since the origin of
information technology. These are:
- 🚿Waterfall
- 🤖Prototyping
- 📦Incremental
- 🌪️Spiral
- 🏃Rapid Application Development
- 🌋Extreme Programming
Each phase must be completed before the next phase can begin and there is no overlapping in the phases
Waterfall Model
Earliest Software Development Life Cycle approach
Waterfall Model
Sequential design divided into separate phases
Waterfall Model
Waterfall Model is also known as
Linear-Sequential Life Cycle Model
Sample of Waterfall Model
- Requirements 📃
- System Design 🌈
- Implementation 🎬
- Integration and Testing 🏗️
- Deployment of System 🚀
- Maintenance ⛑️
Roles of the User in waterfall
- Specific Suggestions Needed
- Feedbacks on Testing each Dev Phases
- Don’t Hesitate on Finished Phase
Advantages of Waterfall Model
- simple and easy
- easy to manage due to rigidity
- no overlapping
- works well with smol projects
- structured
Disadvantages of Waterfall Model
- 🤷working model not easily available
- 🥴communication gaps
- 😕not good to handle changes
- 🤔potential risks and uncertainties
- 😫not good for long and complex OOP projects
What is Agile?
- Quick and Easy
- Iterative Development
- Values and Principles
- Tangible & Working results
- Efficient Communication
Team Lead or Scrum Master is Responsible for?
- Facilitating the Team
- Resources
- Removing Impediments
Responsible for the creation and delivery of the project, planning, design, development, testing and project delivery
Team Member
Team Member comprised of
- Developers
- Quality Assurance
- Documentation
Represents the voice of the customer and is the customer and is responsible for the prioritized backlog and maximizing the return of investment
Product Owner
Responsibility includes documenting user stories
Product Owner
Represents a broad category of people who can be users, managers of users, operations, support, portfolio managers, other Agile development teams with dependencies, executive team, investors and more
Stakeholders
Lightweight process framework for software development and the most widely used one
Scrum
Benefits of Scrum
- Increase the quality of deliverables
- Cope better with change (and expect the changes)
- Provide better estimates while spending less time creating them
- Be more in control of the project schedule and state
A method for managing the creation of products with an emphasis on continual delivery while not overburdening the development team
Kanban
Principles of Kanban
- Visualization increase communication and
collaboration - Limit in progress for prioritization
- Optimize flow, Metrics to predict future problems
- Continuous improvement