Release Planning is a Pain Point in many Agile shops. This is an outline of a process that has worked very well for me over time. I hope you find it useful also.
Agile Metrics : A seminal approach for calculating Metrics in Agile ProjectsPrashant Ram
A seminal approach for calculating Metrics in Agile Projects. Overview, Analysis and Detailed Description of a proposed set of comprehensive metrics for Agile Projects.
The document discusses different reports that various roles in an agile project may find useful. It describes the Sprint Burndown report that team members typically view to track progress towards completing sprint work. It also outlines reports helpful for Scrum Masters, such as the Sprint Dashboard that shows task estimates and member workload. Product Owners are said to benefit from the Project Dashboard and Burndown, Total Estimate Trend, and Velocity Trend reports. Stakeholders can get a program-level summary from the Project/Program Summary report.
Azure DevOps provides tools to help organizations implement an Agile-Scrum development process. It includes Azure Boards for backlog management and tracking work items. Teams use Azure Pipelines for continuous integration and deployment. The process involves sprints, daily stand-ups, sprint planning and reviews, and retrospectives. Source code is stored in Azure Repos with branching strategies. Tests are managed in Azure Test Plans. Reusable components are packaged in Azure Artifacts. This helps automate builds, releases, and testing to streamline the development and release cycle.
The document discusses Agile, a lightweight software development framework. It summarizes that in 2001, 17 software developers met to discuss Agile principles which favor individuals and interactions, working software, customer collaboration, and responding to change over processes, documentation, contract negotiation, and following a plan. It then outlines some key Agile terms like sprints, product owners, stories, velocity and backlogs. The benefits are described as interactions between developers and product owners on a daily basis and insights gained every two weeks on velocity and accurate delivery dates. It advises manipulating scope, cost or schedule if deadlines cannot be met based on velocity.
The document discusses Scrum, an agile framework for managing product development. It describes Scrum roles like Product Owner and Scrum Master. Key Scrum events are also outlined such as sprint planning, daily standups, sprint demos and retrospectives. Benefits of Scrum mentioned are rapid development, transparency and embracing change.
Release Planning is a Pain Point in many Agile shops. This is an outline of a process that has worked very well for me over time. I hope you find it useful also.
Agile Metrics : A seminal approach for calculating Metrics in Agile ProjectsPrashant Ram
A seminal approach for calculating Metrics in Agile Projects. Overview, Analysis and Detailed Description of a proposed set of comprehensive metrics for Agile Projects.
The document discusses different reports that various roles in an agile project may find useful. It describes the Sprint Burndown report that team members typically view to track progress towards completing sprint work. It also outlines reports helpful for Scrum Masters, such as the Sprint Dashboard that shows task estimates and member workload. Product Owners are said to benefit from the Project Dashboard and Burndown, Total Estimate Trend, and Velocity Trend reports. Stakeholders can get a program-level summary from the Project/Program Summary report.
Azure DevOps provides tools to help organizations implement an Agile-Scrum development process. It includes Azure Boards for backlog management and tracking work items. Teams use Azure Pipelines for continuous integration and deployment. The process involves sprints, daily stand-ups, sprint planning and reviews, and retrospectives. Source code is stored in Azure Repos with branching strategies. Tests are managed in Azure Test Plans. Reusable components are packaged in Azure Artifacts. This helps automate builds, releases, and testing to streamline the development and release cycle.
The document discusses Agile, a lightweight software development framework. It summarizes that in 2001, 17 software developers met to discuss Agile principles which favor individuals and interactions, working software, customer collaboration, and responding to change over processes, documentation, contract negotiation, and following a plan. It then outlines some key Agile terms like sprints, product owners, stories, velocity and backlogs. The benefits are described as interactions between developers and product owners on a daily basis and insights gained every two weeks on velocity and accurate delivery dates. It advises manipulating scope, cost or schedule if deadlines cannot be met based on velocity.
The document discusses Scrum, an agile framework for managing product development. It describes Scrum roles like Product Owner and Scrum Master. Key Scrum events are also outlined such as sprint planning, daily standups, sprint demos and retrospectives. Benefits of Scrum mentioned are rapid development, transparency and embracing change.
Webinar "Differences between Testing in Waterfall and Agile"
presentation by Maria Teryokhina
http://www.exigenservices.ru/webinars/testing-in-waterfall-and-agile
This document provides an overview of the Agile (Scrum) methodology. It describes Scrum as a framework for project management that uses short development cycles called sprints. Key aspects of Scrum covered include roles like the product owner and scrum master, meetings like the daily scrum and sprint review, and terminology such as user stories, product backlog, and burn-down charts. The document outlines benefits of Agile like improved visibility and quality, as well as some potential disadvantages around documentation and management effort.
This document provides an overview of Scrum and its key concepts. It introduces Scrum as an Agile methodology used to manage product development. The document outlines the Scrum process including sprints, daily stand-ups, sprint planning and reviews. It describes Scrum roles like Product Owner and Scrum Master and artifacts like the product and sprint backlogs. Charts are presented to track work like burndowns and velocity. The document aims to explain how Scrum can help teams adapt to change and deliver working software frequently.
Introduction to the scrum framework: roles, activities and artifacts.
Scrum is an agile methodology for project management, to create a high quality product.
www.nieldeckx.be
When I needed to do presentations of Scrum to executives and students, I started to look for existing ones. Most presentations I found were very good for detailed presentations or training. But what I was looking for was a presentation I could give in less than 15 minutes (or more if I wanted). Most of them also contained out dated content. For example, the latest changes in the Scrum framework were not present and what has been removed was still there.
UPDATE VERSION : https://www.slideshare.net/pmengal/scrum-in-ten-slides-v20-2018
The document provides an overview of Scrum, an agile framework for managing product development. It defines Scrum as focusing on delivering value through working software in short cycles. Key Scrum elements include self-organizing cross-functional teams, prioritized backlogs, sprints of fixed duration for delivering features, daily stand-ups, sprint reviews and retrospectives.
The document provides an overview of the waterfall model and agile methodologies for software development projects. It discusses:
- The linear sequential phases of the waterfall model and when it is suitable.
- Issues with the waterfall model like inability to handle changes and lack of testing throughout.
- Benefits of agile like ability to adapt to changes, early delivery of working software, and improved success rates.
- Key aspects of the Scrum agile framework like sprints, daily stand-ups, and product backlogs.
- Differences in how development costs are treated as capital expenditures or operating expenses between waterfall, agile, and cloud-based models.
This document provides an overview of agile software development. It discusses the differences between the waterfall model and agile approaches. The key principles of agile include prioritizing individuals and interactions, working software, customer collaboration, and responding to change. An example agile process used by Elsevier is described, involving roles like product owners, business analysts, developers, and quality analysts. Extreme programming is mentioned as an agile method that focuses on user stories, small releases, pair programming, unit testing, and simplicity.
The document provides an overview of Agile development and Scrum methodology. It discusses key Agile concepts like the Agile Manifesto, Scrum roles and artifacts, timeboxing, and metrics like velocity and burndowns. It also addresses adopting Agile, working with requirements and QA, and challenges of offshore development in an Agile model.
The document discusses agile development methods like Scrum and Extreme Programming (XP). It covers topics like iterative planning, continuous integration, pair programming, and refactoring code. The goal of agile methods is to provide visibility, adaptability, and business value through a flexible iterative process compared to traditional waterfall development.
I normally teach Introduction to Agile and Scrum over a 2 day session to teams. Here is a highly condensed 2-hour version of it that covers agile thinking and introduces scrum as a framework without getting into details.
I use it as a course material for teaching to teams or groups looking to get a perspective on "why" as opposed to "how" aspect of agile.
The document discusses Agile Scrum, including:
- The Agile Manifesto principles of prioritizing individuals, interactions, working software, and responding to change over processes, tools, documentation, and following a plan.
- Scrum roles like Product Owner, Scrum Master, and cross-functional team members.
- Scrum ceremonies like sprint planning, daily stand-ups, sprint reviews, and retrospectives.
- User stories, epics, and conditions of satisfaction to define work in the product backlog.
- The goal of each sprint is to produce potentially shippable increments of functionality.
The document summarizes how a software company implemented Scrum and lean principles to improve coordination, manage requirements, and deliver releases on time. Some key problems previously were difficulty coordinating distributed teams of 1000 staff and delays in major releases. The company adapted Scrum, with roles like Product Owner and Scrum Master, along with XP practices like pair programming. This allowed parallel development across teams and on-time delivery of 2.6 and 3.0 releases through 10+1 sprints and daily stand-up meetings.
PMBOK and Scrum can live together happily if used appropriately for the situation. While PMBOK focuses on detailed upfront planning and heavy processes, Scrum emphasizes iterative development, minimal documentation, and rapid adaptation to change. Both aim to deliver value to customers, but Scrum may be better for situations requiring flexibility and rapid time to market. The best approach is to use the right tools for each project's specific needs.
This document provides an overview of different software development processes including the waterfall model, iterative model, Rational Unified Process (RUP), and Agile Development Process (ADP). It describes the key aspects of each process including phases, roles, artifacts, and ceremonies. Specifically, it provides detailed explanations of Scrum, an agile methodology, including Scrum roles like Product Owner and Scrum Master, ceremonies like the Daily Scrum, and artifacts like the Product Backlog and Sprint Backlog. The document concludes with references for further information.
This document discusses the business value of agile development processes. It begins by explaining that traditional "waterfall" development processes do not work well because requirements cannot be fully defined upfront and will change. Agile processes embrace changing requirements by using short iterative cycles where requirements can be modified each iteration. The document then provides Scrum as a popular example of an agile process, outlining its key steps from the perspective of a product owner. Finally, it discusses the business benefits of agile processes, including creating what the business needs, better understanding of the software being created, and reduced project risk.
This document discusses key performance indicators (KPIs) for measuring agile projects. It begins by defining metrics and KPIs, noting that KPIs should be tied to strategic objectives and have defined targets. It then discusses characteristics of good KPIs and provides examples of both traditional and agile KPIs related to time, effort, scope, and quality. The document cautions that too many KPIs can be useless and advocates keeping metrics simple. It also discusses challenges like cheating on metrics and provides tips for using tools and dashboards to effectively measure agile performance.
Agifall - Combining Waterfall and Agile Development Process for Digital and S...Mark Fromson
We all know waterfall has generally fallen out of favour and agile is the new process wunderkind. However, is pure agile really appropriate, or even possible, for the majority of our current digital projects? If the technical team is driving the agile development process from the start, just how and when do we integrate the user experience and creative contribution into the project lifecycle? Does agile really mean development first with no upfront design or specification, or, is there a better way to make agile development more effective when it begins? Certainly agile can be problematic for client projects when the statement of work contract is king for establishing project scope ahead of time. So how do we successfully integrate the benefits of agile into client-vendor engagements without putting either party at risk? This presentation topic is on how to effectively combine the best of waterfall and agile into a hybrid process model called “Agifall.” No process is perfect, but Agifall just might be the one that works best for your next project.
Release engineering involves managing the delivery of high quality software releases through processes like release planning, branch management, building, testing, and source code control. It aims to make releases predictable and of high quality by facilitating activities such as compiling code, verifying functionality, controlling branching/merging of codelines, and following best practices.
Webinar "Differences between Testing in Waterfall and Agile"
presentation by Maria Teryokhina
http://www.exigenservices.ru/webinars/testing-in-waterfall-and-agile
This document provides an overview of the Agile (Scrum) methodology. It describes Scrum as a framework for project management that uses short development cycles called sprints. Key aspects of Scrum covered include roles like the product owner and scrum master, meetings like the daily scrum and sprint review, and terminology such as user stories, product backlog, and burn-down charts. The document outlines benefits of Agile like improved visibility and quality, as well as some potential disadvantages around documentation and management effort.
This document provides an overview of Scrum and its key concepts. It introduces Scrum as an Agile methodology used to manage product development. The document outlines the Scrum process including sprints, daily stand-ups, sprint planning and reviews. It describes Scrum roles like Product Owner and Scrum Master and artifacts like the product and sprint backlogs. Charts are presented to track work like burndowns and velocity. The document aims to explain how Scrum can help teams adapt to change and deliver working software frequently.
Introduction to the scrum framework: roles, activities and artifacts.
Scrum is an agile methodology for project management, to create a high quality product.
www.nieldeckx.be
When I needed to do presentations of Scrum to executives and students, I started to look for existing ones. Most presentations I found were very good for detailed presentations or training. But what I was looking for was a presentation I could give in less than 15 minutes (or more if I wanted). Most of them also contained out dated content. For example, the latest changes in the Scrum framework were not present and what has been removed was still there.
UPDATE VERSION : https://www.slideshare.net/pmengal/scrum-in-ten-slides-v20-2018
The document provides an overview of Scrum, an agile framework for managing product development. It defines Scrum as focusing on delivering value through working software in short cycles. Key Scrum elements include self-organizing cross-functional teams, prioritized backlogs, sprints of fixed duration for delivering features, daily stand-ups, sprint reviews and retrospectives.
The document provides an overview of the waterfall model and agile methodologies for software development projects. It discusses:
- The linear sequential phases of the waterfall model and when it is suitable.
- Issues with the waterfall model like inability to handle changes and lack of testing throughout.
- Benefits of agile like ability to adapt to changes, early delivery of working software, and improved success rates.
- Key aspects of the Scrum agile framework like sprints, daily stand-ups, and product backlogs.
- Differences in how development costs are treated as capital expenditures or operating expenses between waterfall, agile, and cloud-based models.
This document provides an overview of agile software development. It discusses the differences between the waterfall model and agile approaches. The key principles of agile include prioritizing individuals and interactions, working software, customer collaboration, and responding to change. An example agile process used by Elsevier is described, involving roles like product owners, business analysts, developers, and quality analysts. Extreme programming is mentioned as an agile method that focuses on user stories, small releases, pair programming, unit testing, and simplicity.
The document provides an overview of Agile development and Scrum methodology. It discusses key Agile concepts like the Agile Manifesto, Scrum roles and artifacts, timeboxing, and metrics like velocity and burndowns. It also addresses adopting Agile, working with requirements and QA, and challenges of offshore development in an Agile model.
The document discusses agile development methods like Scrum and Extreme Programming (XP). It covers topics like iterative planning, continuous integration, pair programming, and refactoring code. The goal of agile methods is to provide visibility, adaptability, and business value through a flexible iterative process compared to traditional waterfall development.
I normally teach Introduction to Agile and Scrum over a 2 day session to teams. Here is a highly condensed 2-hour version of it that covers agile thinking and introduces scrum as a framework without getting into details.
I use it as a course material for teaching to teams or groups looking to get a perspective on "why" as opposed to "how" aspect of agile.
The document discusses Agile Scrum, including:
- The Agile Manifesto principles of prioritizing individuals, interactions, working software, and responding to change over processes, tools, documentation, and following a plan.
- Scrum roles like Product Owner, Scrum Master, and cross-functional team members.
- Scrum ceremonies like sprint planning, daily stand-ups, sprint reviews, and retrospectives.
- User stories, epics, and conditions of satisfaction to define work in the product backlog.
- The goal of each sprint is to produce potentially shippable increments of functionality.
The document summarizes how a software company implemented Scrum and lean principles to improve coordination, manage requirements, and deliver releases on time. Some key problems previously were difficulty coordinating distributed teams of 1000 staff and delays in major releases. The company adapted Scrum, with roles like Product Owner and Scrum Master, along with XP practices like pair programming. This allowed parallel development across teams and on-time delivery of 2.6 and 3.0 releases through 10+1 sprints and daily stand-up meetings.
PMBOK and Scrum can live together happily if used appropriately for the situation. While PMBOK focuses on detailed upfront planning and heavy processes, Scrum emphasizes iterative development, minimal documentation, and rapid adaptation to change. Both aim to deliver value to customers, but Scrum may be better for situations requiring flexibility and rapid time to market. The best approach is to use the right tools for each project's specific needs.
This document provides an overview of different software development processes including the waterfall model, iterative model, Rational Unified Process (RUP), and Agile Development Process (ADP). It describes the key aspects of each process including phases, roles, artifacts, and ceremonies. Specifically, it provides detailed explanations of Scrum, an agile methodology, including Scrum roles like Product Owner and Scrum Master, ceremonies like the Daily Scrum, and artifacts like the Product Backlog and Sprint Backlog. The document concludes with references for further information.
This document discusses the business value of agile development processes. It begins by explaining that traditional "waterfall" development processes do not work well because requirements cannot be fully defined upfront and will change. Agile processes embrace changing requirements by using short iterative cycles where requirements can be modified each iteration. The document then provides Scrum as a popular example of an agile process, outlining its key steps from the perspective of a product owner. Finally, it discusses the business benefits of agile processes, including creating what the business needs, better understanding of the software being created, and reduced project risk.
This document discusses key performance indicators (KPIs) for measuring agile projects. It begins by defining metrics and KPIs, noting that KPIs should be tied to strategic objectives and have defined targets. It then discusses characteristics of good KPIs and provides examples of both traditional and agile KPIs related to time, effort, scope, and quality. The document cautions that too many KPIs can be useless and advocates keeping metrics simple. It also discusses challenges like cheating on metrics and provides tips for using tools and dashboards to effectively measure agile performance.
Agifall - Combining Waterfall and Agile Development Process for Digital and S...Mark Fromson
We all know waterfall has generally fallen out of favour and agile is the new process wunderkind. However, is pure agile really appropriate, or even possible, for the majority of our current digital projects? If the technical team is driving the agile development process from the start, just how and when do we integrate the user experience and creative contribution into the project lifecycle? Does agile really mean development first with no upfront design or specification, or, is there a better way to make agile development more effective when it begins? Certainly agile can be problematic for client projects when the statement of work contract is king for establishing project scope ahead of time. So how do we successfully integrate the benefits of agile into client-vendor engagements without putting either party at risk? This presentation topic is on how to effectively combine the best of waterfall and agile into a hybrid process model called “Agifall.” No process is perfect, but Agifall just might be the one that works best for your next project.
Release engineering involves managing the delivery of high quality software releases through processes like release planning, branch management, building, testing, and source code control. It aims to make releases predictable and of high quality by facilitating activities such as compiling code, verifying functionality, controlling branching/merging of codelines, and following best practices.
Continuous Integration is a software development practice where developers regularly merge their work into a central repository. This triggers an automated build and test of the code. If the build fails, developers are immediately notified. There are typically five stages of adopting Continuous Integration - from just committing code occasionally to triggering automated builds and tests with every commit and deploying to production. Jenkins is an open source tool that supports Continuous Integration. It allows developers to easily set up CI/CD pipelines with features like automated testing, code quality reporting, deployment to staging environments and more.
Continuous Integration is a software development practice where developers regularly merge their work into a central repository. When code is committed, an automated build is triggered to check that new code does not break the existing code base. There are typically five stages of adopting Continuous Integration: 1) a few manual commits and builds, 2) nightly automated builds, 3) builds triggered with every commit, 4) code quality metrics added to builds, 5) automated deployment to staging environments. Continuous Integration helps catch bugs early in the development process and ensures code quality.
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For API Management we will Create API’s, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
The document provides an overview of using Maven, an open source project management and comprehension tool. It discusses Maven's project object model (POM) file, which defines project identifiers and dependencies. It also outlines Maven's build lifecycle phases like compile, test, and package. Dependency management features are explained, including transitive dependencies, exclusions, and optional dependencies.
Definition of Done and Product Backlog refinementChristian Vos
The document discusses product backlog refinement and the definition of done in agile software development. It emphasizes that product backlog refinement is an important meeting to clarify and estimate user stories and work items to have a ready backlog for iteration planning. It also stresses that having a clear definition of done helps improve team quality, transparency for stakeholders, better release planning, and minimizing risks. Regular product backlog refinement coupled with a well-defined definition of done are key practices for achieving agility.
The document discusses effective release management for Salesforce development teams using AutoRABIT. It introduces AutoRABIT as a tool for continuous integration, test automation, and release management. It then demonstrates AutoRABIT's capabilities such as continuous integration workflows, automated testing, sandbox management, and visualization dashboards to improve release velocity. The presentation concludes by emphasizing how AutoRABIT can help teams achieve more frequent, higher quality releases.
This document provides an introduction to DevOps. It discusses what DevOps is, including continuous integration and continuous delivery pipelines. It describes the duties of a DevOps engineer, such as developing solutions for continuous delivery, infrastructure strategy, security, and more. It also covers topics like what is included in a CI/CD pipeline, securing a CI/CD pipeline, and common DevOps tools and technologies.
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
In this presentation we explain the CD mindset of the MyHeritage QA and how we use Watir, Appium, Ruby, Cumcumber and other supporting technologies to allow end to end testing.
These are the link mentioned in the presentation:
Continuous Deployment Applied at MyHeritage - http://www.slideshare.net/RanLevy/continuous-deployment-applied-at-myheritage
Appium - http://appium.io/
Ruby - https://www.ruby-lang.org/en/
Watir - http://watirwebdriver.com/
page-object - https://github.com/cheezy/page-object
Selenium Grid - https://github.com/SeleniumHQ/selenium/wiki/Grid2
Selenium-Grid-Extras - https://github.com/groupon/Selenium-Grid-Extras
Jenkins - https://jenkins-ci.org/
This document discusses iyzico's continuous delivery practices. Iyzico is a fintech company focused on payments with 62 employees, including 25-30 in engineering. They use 1 week sprints with cross-functional teams and fullstack engineers. Their continuous delivery process includes nightly builds, testing, deployment to dev environments, monitoring, and feedback reporting. The phases include building artifacts, deployment, and monitoring after deployment. They aim to satisfy customers through early and continuous delivery of valuable software.
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
The document discusses Maven, an open source build automation tool used primarily for Java projects. It provides an overview of Maven's key features like dependency management, build lifecycles, and the project object model (POM). The presentation also demonstrates how to create a basic Maven project, configure dependencies and repositories, and manage multi-module builds.
Super chargeyourcontiniousintegrationdeploymentsNikola Gotsev
This document discusses continuous integration (CI) processes and practices. It defines CI as maintaining a single source code repository and automating the build and testing process. When code changes are committed, the CI server checks out the code, builds it, and runs unit and integration tests. If the build or tests fail, the CI server alerts the team. The document provides several rules for supercharging a CI process, including always having CI in place, managing dependencies, writing tests, keeping content up to date, and continuously deploying items and code changes. Continuous deployment involves serializing content changes, building packages, and deploying packages to environments.
Supercharge Your Continuous Integration DeploymentsNikola Gotsev
This document discusses continuous integration (CI) processes and practices. It defines CI as maintaining a single source code repository and automating the build and testing process. When changes are committed, a CI server monitors the repository, checks out the code, builds it, and runs unit and integration tests. If tests fail, the CI server alerts the team. The document provides several rules for supercharging a CI process, including always having CI in place, managing dependencies, focusing on tests, keeping content up to date, and continuously deploying items and code changes. Continuous deployment involves serializing content changes, building packages, and deploying packages to environments.
Why your company loves to welcome change but sucks at accommodating itFarooq Ali
The need for sound engineering practices in Agile. A look at a very common Agile anti-pattern (Flaccid Scrum) found in large organizations, and how to fix it.
Continuous integration (CI) with TeamCity automates the software building and testing process. It allows developers to check in code frequently and have builds run automatically to detect issues early. TeamCity monitors source code repositories for changes, builds the code, and runs tests on each change. This helps ensure all code components work together, coding standards are followed, and tests are passing. CI with TeamCity provides benefits like reduced risks from early defect detection, increased visibility into the project, and confidence in the software.
XP teams try to keep systems fully integrated at all times, and shorten the feedback cycle to minutes and hours instead of weeks or months. The sooner you know, the sooner you can adapt.
Watch our record for the webinar "Continuous Integration" to explore how Azure DevOps helps us in achieving continuous feedback using continuous integration.
Streamlining Testing with Visual Studio 2012Imaginet
This is an overview of the Visual Studio 2012 ALM testing tools, including using Microsoft Test & Lab Manager to manage your testing and using test automation to automate your UI testing. The use of Test Lab will be discussed as a means of automating the creation of virtual environments for testing purposes. Deploying to VM environments during build will be demonstrated and facilitate a robust developer/tester lifecycle. Come join us for this free Live Web Workshop!
Similar to CI / CD Roles, Processes and Supporting Tools (20)
The document proposes a cost reduction plan for an AWS environment with current annual spend of $490k. It identifies five key areas for cost savings: 1) Implementing autoscaling for environments to better match usage and reduce overprovisioning, estimated at $96k in savings. 2) Managing development/production instances to turn off non-peak periods, estimated $84k savings. 3) Using spot instances for machine learning training for $48k savings. 4) Switching model builds to serverless technologies for $6k savings. 5) Controlling S3 storage and implementing data lifecycles for $18k savings. The plan estimates a total of $252k in annual savings, over 50% reduction in AWS
Response on Proposal for Converting to a Gated CommunityMichael J Geiser
This is a response to the request from the HOA Board for proposal to Convert Bayside at Bethany Lakes into a Gated Community in reaction to a string burglaries in 2013
There have been a number of articles and other content appearing in SI that have not met the standards and guidelines the Skeptical communities expects
1967 lincoln continental convertible restoration v4Michael J Geiser
This document provides updates on a 1967 Lincoln Continental convertible restoration project. It details plans to use a totaled 2016 Mustang GT as a donor vehicle for the motor, transmission, radio, HVAC controls, steering wheel, and other interior components. The target is to complete the exterior restoration to original 1960s specifications while incorporating modern interior components from the 2016 Mustang for the seats, center console, and rear speakers.
Agile Progress Tracking and Code Complete Date EstimationMichael J Geiser
Here are two tools that I found to be very effective in predicting Code Complete dates and the effect of scope changes and also tracking progress against a Development Plan over time
This was some thoughts for maturing our Agile SDLC with some specific notes on how to improve JIRA workflows. This was a discussion slide deck; it's very wordy
I’ve been keeping a collection of Linux commands that are particularly useful; some are from websites I’ve visited, others from experience
I hope you find these are useful as I have. I’ll periodically add to the list, so check back occasionally.
Introduction to the WSO2 Identity Server &Contributing to an OS ProjectMichael J Geiser
This is an overview of the WSO2 Identity Server and a customization we built that will be contributed back into the product. There is also some additional content on Coding Standards and being an LDAP an Directory Server hater
This document outlines a network architecture with firewalls separating the internet, DMZ, and internal segments. An F5 load balancer distributes traffic for my-api.mydomain.com across two instances of MyService running on dc1-myservice.myinternaldomain.net and dc2-myservice.myinternaldomain.net.
Using JIRA to Manage Project Management Risks and Issues Michael J Geiser
The document discusses managing project risks and issues using JIRA's risk management workflow. It recommends using JIRA over other project management software for risk tracking because it has wider company adoption, visibility, and the ability to assign risks to any JIRA user to track progress. The JIRA risk management workflow standardizes the risk management process, ties risks to specific work, and creates an organizational knowledge base of risks across projects for transparency.
The document describes an approvals workflow that involves multiple steps:
1. Issues such as change requests, improvements, and feature requests are created.
2. The requests go through stages of being opened, documented, analyzed for impact and risk, and reviewed by committees.
3. The workflow provides advantages like a standardized process, centralized knowledge capture, and easy tracking of all approvals linked to each issue.
Ready to Unlock the Power of Blockchain!Toptal Tech
Imagine a world where data flows freely, yet remains secure. A world where trust is built into the fabric of every transaction. This is the promise of blockchain, a revolutionary technology poised to reshape our digital landscape.
Toptal Tech is at the forefront of this innovation, connecting you with the brightest minds in blockchain development. Together, we can unlock the potential of this transformative technology, building a future of transparency, security, and endless possibilities.
Discover the benefits of outsourcing SEO to Indiadavidjhones387
"Discover the benefits of outsourcing SEO to India! From cost-effective services and expert professionals to round-the-clock work advantages, learn how your business can achieve digital success with Indian SEO solutions.
HijackLoader Evolution: Interactive Process HollowingDonato Onofri
CrowdStrike researchers have identified a HijackLoader (aka IDAT Loader) sample that employs sophisticated evasion techniques to enhance the complexity of the threat. HijackLoader, an increasingly popular tool among adversaries for deploying additional payloads and tooling, continues to evolve as its developers experiment and enhance its capabilities.
In their analysis of a recent HijackLoader sample, CrowdStrike researchers discovered new techniques designed to increase the defense evasion capabilities of the loader. The malware developer used a standard process hollowing technique coupled with an additional trigger that was activated by the parent process writing to a pipe. This new approach, called "Interactive Process Hollowing", has the potential to make defense evasion stealthier.
2. Contents
• Roles
• Artifact Repositories
• General
• Instances
• Development
• QA
• Production
• CI / CD Overviews
• Development
• QA
• Production
3. Roles
Development Environment
• Committer-Development: Group members can branch and check in code
• Deployer-Development: Group members can deploy specified artifacts to specified targets in Acceptance
Generally, everyone with Development access has both roles in Development and only developers should have
the Committer-Development: role
QA Environment
• Committer-QA: Group members can check in configurations only
• Deployer-QA: Group members can deploy specified artifacts to specified targets in QA
Committer-Development members should never have either role in QA
Production Environment
• Deployer-Production: Group members can deploy specified artifacts to specified targets in Production
Committer-Development or Committer-QA members should never have the Deployer-Production role.
4. Artifact Repositories - General
Purpose
An artifact repository serves these essential purposes:
• Securely store binary and related metadata for deployable code
• Provide auditability on Release Management and Change Control
code used for deployments
5. Artifact Repositories - Instances
• Often there are three distinct logical, and very often physical,
instances of artifact repositories: “Development”, “QA”, and
“Production”
• Separated logical or physical repositories ensure segregation of
duties, auditability, traceability, and reduced opportunities for errors.
• The artifacts stored in the repositories are either different builds
(Development vs QA) or have different levels of QA certification (QA
vs Production)
• Security often requires separate instances due to network
segmentation and NACLs for non-Production and Production.
6. Artifact Repositories - Development
Development
• This artifact repository holds “Snapshot” builds that are kicked off
from Developers’ check-ins to Source Control
• All automated tests are run on these builds
• These builds happen frequently (often many times a day per active
developer) and only need to be kept for a short period (days/weeks)
• Snapshot builds are never deployed to QA nor Production
7. Artifact Repositories - QA
QA
• This artifact repository holds “Release Candidate” builds.
• These builds are usually kicked off manually upon request when a build is
promoted out of Development to be tested for Production readiness.
• All automated tests are run on these builds.
• Additional manual and other tests are run on these builds (e.g. end-to-end,
additional security, Performance Engineering, etc.).
• “Release Candidate” builds happen less frequently than development
builds and, after the initial build, often to resolve issues found during QA.
• Builds are kept for a “medium” length of time, generally until a Release
Candidate build gets a “QA Pass”; failed builds are removed frequently.
8. Artifact Repositories - Production
Production
• This artifact repository holds QA Passed “Release” builds.
• Only Release Candidate builds can be promoted to Release Builds. Never
should new builds be made for production that have not been QA tested
and passed.
• Environment specific configuration values must be parameterized and
externalized to the build artifact (as per “12 Factor App” guidelines).
• Production deployments and rollbacks are only allowed from artifacts in
the Production Repository.
• There should be a relatively small number of Release builds. These builds
are kept indefinitely or as per corporate policy.
9. CI / CD: Development
1. Developer checks
in code
2. CI process
started
automatically
3. Snapshot builds put
into repository
3. Code deployed
to target
1. Build version and
target selected in UI
2. Artifact retrieved from repository
CI Process
CD Process
Deployer-Development
Committer-Development
Development
instance
Development
instance
10. CI / CD: QA
1. QA or other checks
in configurations only
2. CI process
started
3. Release builds put
into repository
3. Code deployed
to target
1. Build version and
target selected
2. Artifact retrieved from repository
CI Process
CD Process
Deployer-QA
Committer-QA
QA/Prod
instance
QA/Prod
instance
11. CI / CD: Production
3. Code deployed
to target
1. Build version and
target selected
2. Artifact retrieved from repository
CD Process
Deployer-Production
QA/Prod
instance