Week 2 Notes working through the AZ400 Ignite Cloud Challenge.
Waterfall: traditional software development, sequential order, moving to next step once current step complete. Drawbacks due to customer needing to create requirements before coding starts, which can be hard.
Agile: adaptive planning, early delivery & continual improvement. Encourages rapid and flexible responses via iterative cycles/releases.
Agile is mind and culture shift that challenges existing procedures, large orgs with governance leads to more rigid rules and strict roles for delegation. Most are now experimenting with agile approach as a way to cope with quick change, and minimise disruption from startups.
Horizontal vs Vertical teams: horizontal teams divided into software architecture ie UI, architecture, data. Vertical teams spans architecture and aligns by skillset, this alignment have been shown to provide better outcomes on Agile projects, scaling is also easier as just done by adding more teams.
Aim to find team members with the following characteristics for successful DevOps transformation:
Cultural changes: WFH and Open Offices can limit collaboration, staff work better when they have comfortable working environments. Defined meeting times can help, asynchronous communication should be encouraged, but no expectation of urgent response so people can focus on primary tasks. Meetings should have agendas and strict timeframes. Success through collaboration and communication.
Cross-functional teams: Efficent teams need good communication, better innovation can occur within cross-function teams. Different skills bring different view points, solutions, and challenge existing norms.
Tools Async Comms: Teams, Slack, Glip Planning: Jira, Asana, Trello Other: ProofHub, RedBooth, DaPulse
Azure DevOps is a SaaS platform providing various DevOps tools
Azure DevOps is not focused on Microsoft technologies or Windows, it is designed to be flexible, cross-platform and cloud agnostic.
GitHub is a second SaaS platform owned by Microsoft for provides Git repos and DevOps tools.
Authorisation
Azure DevOps allows you to use MS Accounts, GitHubs Accounts, Azure AD accounts, including MFA. For systems that do not support this kind of authorisation you can use Personal Access Tokens (PAT). Useful for command-line tools and tasks in build pipelines.
DevOps comes with default security groups, conditional access policies can also be configured, permissions can be applied on organisation, collection, project or object levels.
Both systems can be integrated with work management tools, eg Trello or Jira. Azure Devops also have Plans for tracking testing process, it also has a Test Feedback extension in the VS marketplace. All members and stakeholders can use the extension.
Apache JMeter is good for load testing, Pester for PowerShell, SoapUI for SOAP and REST testing.
When working out licensing strategy, what phase are you in? How many people? How long are people willing to wait? Who should have access to what? Any advanced package management strategy?
Pricing : Github, Azure DevOps
During application lifecycle need to plan and prioritise work.
GitHub projects boards are made of issues, pull requests and notes. Boards can be user-owned (personal repos), org-wide (any repo in organisation), repo boards (issues in single repo).
Azure Boards customisable tool for managing Agile, Scrum and Kanban processes. Can track work, issues and defects within projects. Items can be user stories, bugs, features and epics. Delivery plans can also be created to track dependencies and deliverables.
GitHub can be used for source control and Azure Boards for work planning. Can be integrated with App in marketplace. Authentication can be done using PAT or username and password.