文章目录
- 8.1. Traditional SDLC
- 8.2. Agile Methodologies
- 8.3. Scrum
- 8.3.1. Roles
- 8.3.2. User Story
- 8.3.3. Product Backlog
- 8.3.4. Release Backlog
- 8.3.5. Sprint Backlog
- 8.3.6. Estimation
- 8.3.7. Burning-down Chart
- 8.3.8. Planning Meetings
- 8.3.8.1. Daily Scrum Meeting
- 8.3.8.2. Sprint Retrospective
- 8.3.9. Agile Tools
- 8.4.Kanban
- 8.5. DevOps
- 8.6. Agile + DevOps
- 6.6.1. Lean Thinking
- 8.6.2. Product-oriented Teams
- 8.6.3. Microservices Architecture
- 8.6.4. Automate Governance
- 8.6.5. Value Stream Management
- 8.7. Jira
8.1. Traditional SDLC
Waterfall: Give me all requirements, otherwise it will cost
you!
”Thinking harder” and ”thinking longer” can
uncover some requirements, but every project has some emergency requirements.
8.2. Agile Methodologies
Progressively refine our understanding of the product.
Being Agile does mean working in a lightweight,
highly responsive way. Frequent delivery of working software
Agile Manifesto or Values:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Responding to change over following a plan.
- Customer collaboration over contract negotiation
8.3. Scrum
Scrum is an agile software development model based on multiple small teams working in an intensive and interdependent manner.
8.3.1. Roles
8.3.2. User Story
It is a short statement of function captured on an index card and/or in a tool.
The details are figured out in future conversations between the team and the product owner or customers.
8.3.3. Product Backlog
Collection of all these user stories are known as Product BackLog.
Given that we have emerging requirements what do we do? - Fill the Product Backlog as an ongoing process based on feedback.
8.3.4. Release Backlog
Release planning:
- Prioritize
- Estimate
The Product Owner drives the product backlog and creates the rank order based heavily on the MoSCoW ratings
8.3.5. Sprint Backlog
Sprint or Iteration: Short-duration milestone which get the release in the ship-ready state
- Ranges from 2 to 30 days.
- Sprint length a release cycle
8.3.6. Estimation
size (LOC/FP) vs. effort (man-months)
Velocity: The rate at which a team can produce working software
8.3.7. Burning-down Chart
8.3.8. Planning Meetings
8.3.8.1. Daily Scrum Meeting
8.3.8.2. Sprint Retrospective
8.3.9. Agile Tools
8.4.Kanban
- Visualize the workflow
- Limit Work In Progress (WIP)
- Measure the lead time (average time to complete one item, also called “cycle time”)
8.5. DevOps
is a set of practices, tools, and a cultural philosophy that automate and integrate the processes between software development and IT operations.
8.6. Agile + DevOps
6.6.1. Lean Thinking
Lean provides a solid and well-tested foundation for Agile + DevOps
- Lean principles – to reduce waste without frustrating customers
- Agile – to reduce cost to make changes that reduce time to market
8.6.2. Product-oriented Teams
8.6.3. Microservices Architecture
8.6.4. Automate Governance
When developers are pushing changes to production every few minutes, no manual governance model can keep up.
Automate governance brings the same speed and quality assurance of DevOps to information security, audit compliance, and change management.
8.6.5. Value Stream Management
It’s important to capture KPIs in every step of CI/CD pipeline. KPIs to track might include:
- lead time to production, production downtime
- defect resolution time, rework rate
- number of code branches
- mean time between failures
- unplanned work rate, etc.
8.7. Jira
JIRA is a project management tool used for issue tracking, bug tracking, and other project management purposes.