In this quality assurance training session, you will learn Agile in QA. Topics covered in this course are:
• Introduction to Agile
• Agile - Manifesto
• Agile over Traditional Method
• Principles of Agile
• Roles in Agile
• What is a User Story?
• Relationship of User Stories and Tasks
• How an Agile Team Plans its Work?
• When a Story is Done
To know more, visit this link: https://www.mindsmapped.com/courses/quality-assurance/software-testing-quality-assurance-qa-training-with-hands-on-exercises/
Agile development model in Software Testing, be it Manual Testing or automation; is likewise a sort of incremental model. In this model, the software is developed in incremental, quick cycles
In this quality assurance training session, you will learn Agile in QA. Topics covered in this course are:
• Introduction to Agile
• Agile - Manifesto
• Agile over Traditional Method
• Principles of Agile
• Roles in Agile
• What is a User Story?
• Relationship of User Stories and Tasks
• How an Agile Team Plans its Work?
• When a Story is Done
To know more, visit this link: https://www.mindsmapped.com/courses/quality-assurance/software-testing-quality-assurance-qa-training-with-hands-on-exercises/
Agile development model in Software Testing, be it Manual Testing or automation; is likewise a sort of incremental model. In this model, the software is developed in incremental, quick cycles
In this interactive session, Scott Ambler explores a vitally important, nitty-gritty, down-in-the-weeds aspect of agile—how to take an agile model-driven development (AMDD) approach to enhance and scale your software delivery capabilities. Correctly applied, AMDD enhances your modeling and documentation efforts, streamlines agile development, and reduces false starts and rework. Scott addresses critical modeling issues that pertain to all agile projects—how to successfully model the complexities of modern-day software without getting bogged-down in mountains of paperwork, how to document systems in an agile manner, how to scale agile development methods with an agile approach to modeling and documentation, how to take an evolutionary approach to user interface and database design, and how modeling extends and supports test-driven development to address the full exploration of requirements, architecture, and design. Join Scott to dig into this vital—yet often ignored—aspect of agile development.
One of the enhanced method for requirement determination is agile methodology in system analysis phase, and this slide presents the strategies available under agile methods for requirement determination with maximum user involvement for developing an information system.
What is Agile Methodology?
AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. Both development and testing activities are concurrent unlike the Waterfall model
In this document we will explain software development life cycle (SDLC), various steps/stages in SDLC and software development methodologies in detail. Original blog posted here on: http://www.satejinfotech.in/what-is-software-development-lifecycle/
In this Business Analysis Training, you will learn Agile Methodology. Topics covered in this session are:
• Agile Approach
• What is Agile?
• What does the Agile Manifesto Mean?
• Principles of Agile
• Central: Incremental and Iterative Development
• Agile Methods
• Scrum Lifecycle
• SCRUM team
• Agile Methods – Scrum
For more information, click on this link:
https://www.mindsmapped.com/courses/agile-and-scrum/introduction-to-agile/
The Meaning of Process
2.2 Software Process Models
2.3 Tools and Techniques for Process Modeling
2.4 Practical Process Modeling
2.5 Information System Example
2.6 What this Chapter Means for You
A keynote presentation comparing/contrasting old & new SDLC methodologies that was used to kick off an internal agile meetup focused on standardizing on the Atlassian suite of SDLC tools.
Learn about Agile Methodology of Software Engineering and study concepts like What is Agile, Why Agile is there, Agile Principles, Agile Manifesto with Pros & Cons of it.
Presentation also include Agile Testing Methodology like Scrum, Crystal Methodologies, DSDM, Feature Driven Development, Lean Software Development & Extreme Programming.
If you watch this one please rate it and do share this presentation to others so then can easily learn more about the Agile Methodology.
This slide share will help users to understand the agile software development methodology and how does it work. It also defines the whole process to implement scrum methodology.
In this session you will learn:
SDLC and Quality Standard
What is SDLC and Stages
Phases of SDLC
SDLC Models
For more information: https://www.mindsmapped.com/courses/quality-assurance/qa-software-testing-training-for-beginners/
In this interactive session, Scott Ambler explores a vitally important, nitty-gritty, down-in-the-weeds aspect of agile—how to take an agile model-driven development (AMDD) approach to enhance and scale your software delivery capabilities. Correctly applied, AMDD enhances your modeling and documentation efforts, streamlines agile development, and reduces false starts and rework. Scott addresses critical modeling issues that pertain to all agile projects—how to successfully model the complexities of modern-day software without getting bogged-down in mountains of paperwork, how to document systems in an agile manner, how to scale agile development methods with an agile approach to modeling and documentation, how to take an evolutionary approach to user interface and database design, and how modeling extends and supports test-driven development to address the full exploration of requirements, architecture, and design. Join Scott to dig into this vital—yet often ignored—aspect of agile development.
One of the enhanced method for requirement determination is agile methodology in system analysis phase, and this slide presents the strategies available under agile methods for requirement determination with maximum user involvement for developing an information system.
What is Agile Methodology?
AGILE methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. Both development and testing activities are concurrent unlike the Waterfall model
In this document we will explain software development life cycle (SDLC), various steps/stages in SDLC and software development methodologies in detail. Original blog posted here on: http://www.satejinfotech.in/what-is-software-development-lifecycle/
In this Business Analysis Training, you will learn Agile Methodology. Topics covered in this session are:
• Agile Approach
• What is Agile?
• What does the Agile Manifesto Mean?
• Principles of Agile
• Central: Incremental and Iterative Development
• Agile Methods
• Scrum Lifecycle
• SCRUM team
• Agile Methods – Scrum
For more information, click on this link:
https://www.mindsmapped.com/courses/agile-and-scrum/introduction-to-agile/
The Meaning of Process
2.2 Software Process Models
2.3 Tools and Techniques for Process Modeling
2.4 Practical Process Modeling
2.5 Information System Example
2.6 What this Chapter Means for You
A keynote presentation comparing/contrasting old & new SDLC methodologies that was used to kick off an internal agile meetup focused on standardizing on the Atlassian suite of SDLC tools.
Learn about Agile Methodology of Software Engineering and study concepts like What is Agile, Why Agile is there, Agile Principles, Agile Manifesto with Pros & Cons of it.
Presentation also include Agile Testing Methodology like Scrum, Crystal Methodologies, DSDM, Feature Driven Development, Lean Software Development & Extreme Programming.
If you watch this one please rate it and do share this presentation to others so then can easily learn more about the Agile Methodology.
This slide share will help users to understand the agile software development methodology and how does it work. It also defines the whole process to implement scrum methodology.
In this session you will learn:
SDLC and Quality Standard
What is SDLC and Stages
Phases of SDLC
SDLC Models
For more information: https://www.mindsmapped.com/courses/quality-assurance/qa-software-testing-training-for-beginners/
Building Quality In in SAFe – The Testing Organization’s Perspective Yuval Yeret
SAFe emphasizes Building Quality In. We will take a deep dive into how this looks from a testing organization’s perspective and what does a SAFe implementation mean for Testing/QA professionals. We will map SAFe’s approach to best practices in the “”Agile Testing”” world. We will look at examples from the real world of how traditional testing organizations shift left and evolve towards continuous testing.
Learning Objectives and Key Takeaways:
Understand how best practices from the “”Agile Testing”” world map to SAFe’s context
Learn ideas and patterns for evolving Testing/QA’s role during a SAFe implementation
Understand how Test-Driven looks like and how techniques like Acceptance-Test-Driven-Design/Behavior-Driven
Development can empower testers as well as improve the flow on SAFe agile teams.
See how SAFe’s principles can be used to guide the evolution towards a lean/agile testing organization
Agile is one of the most important topics . Software testing interview preparation requires
knowledge of agile methodologies and terms.
Important Topics :
Agile - Manifesto
Agile - Characteristics
Agile - Daily Standup Meeting
Agile - Release Planning
Agile - Iteration Planning
Agile - Product Backlog.
Agile Software Development is an iterative development process . Scrum and Kanban are the common methodologies in Agile.
Comprises of various approaches to software development under which requirements & solutions evolve through the collaborative effort of cross-functional teams and their stakeholders.
The certification for Foundation Level Extension – Agile Tester is designed for professionals who are working within Agile environments. It is also for professionals who are planning to start implementing Agile methods in the near future, or are working within companies that plan to do so.
Join BostonPHP and Michael Bourque as he presents the concept of Scrum and shows why so many people are now deploying scrum to their development projects. Michael will take us through the process and talk about how his company, Parametric Technology Inc. (PTC) , is successfully applying Scrum.
A 2 hour workshop for traditional Project Managers to see how they'd respond and how one would if they were doing scrum. It's a little old (over 2 years ago), but still valuable enough to share.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
How to Position Your Globus Data Portal for Success Ten Good PracticesGlobus
Science gateways allow science and engineering communities to access shared data, software, computing services, and instruments. Science gateways have gained a lot of traction in the last twenty years, as evidenced by projects such as the Science Gateways Community Institute (SGCI) and the Center of Excellence on Science Gateways (SGX3) in the US, The Australian Research Data Commons (ARDC) and its platforms in Australia, and the projects around Virtual Research Environments in Europe. A few mature frameworks have evolved with their different strengths and foci and have been taken up by a larger community such as the Globus Data Portal, Hubzero, Tapis, and Galaxy. However, even when gateways are built on successful frameworks, they continue to face the challenges of ongoing maintenance costs and how to meet the ever-expanding needs of the community they serve with enhanced features. It is not uncommon that gateways with compelling use cases are nonetheless unable to get past the prototype phase and become a full production service, or if they do, they don't survive more than a couple of years. While there is no guaranteed pathway to success, it seems likely that for any gateway there is a need for a strong community and/or solid funding streams to create and sustain its success. With over twenty years of examples to draw from, this presentation goes into detail for ten factors common to successful and enduring gateways that effectively serve as best practices for any new or developing gateway.
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
Keep tabs on your field staff effortlessly with Informap Technology Centre LLC. Real-time tracking, task assignment, and smart features for efficient management. Request a live demo today!
For more details, visit us : https://informapuae.com/field-staff-tracking/
2. John Liebenau
Enterprise Architecture / Software Engineering 2
Foundations
Unified Team
All members of a team must have the ability to work on any item in the team’s sprint backlog relative to their role. For example, all
developers in the team must be able to work on development tasks from any of the work items (i.e. stories) in the backlog.
Backlog Grooming
All items in the product backlog must be iteratively estimated and prioritized. This usually occurs in multiple iterations where the
initial iteration has a very rough estimate and priority which is then refined in successive iterations.
Velocity-based Work Capacity
A team may allocate story points for the next sprint that is less than or equal to the team’s current velocity (calculated as a
weighted average of past sprint velocities)—no exceptions!
Priority-based Work Allocation
Backlog items with the highest priorities are allocated—according to best fit—to the next sprint.
Priority-based Work Focus
Team members work on the highest priority tasks until they either 1) complete the task or 2) the task is blocked. In the case of 2,
the team member then begins working on the next highest priority task until the higher priority task become unblocked.
3. John Liebenau
Enterprise Architecture / Software Engineering 3
Iterative Development Method
Sprint Planning
1. Calculate the current planned velocity:
plannedVelocitycurrent = 0.3 actualVelocitycurrent-1 + 0.7 plannedVelocitycurrent-1
2. Perform object-oriented analysis on the highest priority work items in the backlog and refine their priorities and estimates if needed.
3. Break down work items into tasks.
4. Allocate as many of the highest priority work items to the current sprint where the sum of the work item points do not exceed the current expected
velocity.
5. Determine owners of the work items (ideally self-selecting)
6. Determine assignment of team members to tasks that minimizes blocking (ideally self-selecting)
Not Started
Completed
Blocked In Progress Paused
Task Selected
Task Completed
Task Blocked
Task Unblocked
Higher Priority
Task Unblocked
Higher Priority
Task Completed
Higher Priority
Task Blocked
Sprint Retrospective
1. Record actual velocity (sum of completed work item points)
2. Identify what worked, what did not work, and what can be improved
3. Define time-boxed action items for improvements and assign owners (ideally self-selecting)
Sprint Execution
1. Team members work on their highest priority task until they:
– complete the task or
– the task is blocked.
2. If a task is blocked, the team member begins working on
their next highest priority task until the higher priority task
become unblocked, at which point they go back to sprint
execution step 1.
4. John Liebenau
Enterprise Architecture / Software Engineering
Evolution (Not Revolution)
Evolving the method is fundamental to agile development
• Retrospectives enable method fine-tuning
• Periodic reassessments enable deeper reflection of ongoing challenges
• Adaptation is necessary to keep method effective
Balancing change and stability is necessary for sustainability
• Organized change is necessary to address persistent challenges
• But change introduces disruption and requires time to absorb
• Stability provides the opportunity to achieve mastery
• But too much stability leads to stagnation
• Goal is to establish a balance between change and stability that enables sustainable effectiveness
and long-term, incremental improvement
4
5. John Liebenau
Enterprise Architecture / Software Engineering
Primary Roles
5
Team
Tester
Architecture Owner
Analyst Developer
Product Owner
Team Member
Scrum Master
1
1..*
is-a
is-a is-a
6. John Liebenau
Enterprise Architecture / Software Engineering
Work Products
6
Use-Case Model
Analysis Model
Use-Case
Task List
Release Plan
Product Backlog
1 N
1
N
N
1
1
1
1
N
1
N
1 N 1 N
contains and prioritizes
contains
contains
maps stories to sprints
decomposed into tasks
made up of
realizes
generates
provides estimate for
Story
Business Requirement
N
N
describes behavioral requirements as interactions
Use-Case Realization
7. John Liebenau
Enterprise Architecture / Software Engineering
Use-Case States
7
Identified
Use-Case and participating Actors have
been named
Use-Case has been summarized
Described
Use-Case flows have been described
Constituent User-Stories have been
identified
Realized
Analysis level class diagram has been
created to describe system structure
needed to implement Use-Case
Analysis level sequence diagram has
been created to describe system
behavior needed to implement Use-Case
8. John Liebenau
Enterprise Architecture / Software Engineering
Described
Story has been described in detail
Acceptance criteria have been fully defined
Story has been broken down into tasks
Story has been estimated (detailed level)
Must be in this state to be part of a Sprint Backlog
Story States
8
Identified
Story has been briefly described
Story has been prioritized
Story has been estimated (high level)
Must be in this state to be part of a Release Backlog
Implemented
Story has been fully implemented
Story has been tested and all acceptance criteria have
been verified
Fulfilled
Implementation of Story has been demonstrated to
customer
Customer has approved the implementation
9. John Liebenau
Enterprise Architecture / Software Engineering
Activities
9
Collect Requirements
Analyst
Business Requirement
Define/Refine Use-Case
Business Requirement
Use-Case Model Use-Case
Realize Use-Case
Analysis Model Use-Case Realization
Analyst
Developer
Use-Case
Define/Refine Story
Use-Case Use-Case Realization
Story Task List
Analyst
Tester
Define/Refine Test-Case
Use-Case
Test-Case Test Scenario
Story
10. John Liebenau
Enterprise Architecture / Software Engineering
Activities
10
Product Owner
Architecture Owner Define/Refine Architecture
Architecture Document
Architecture Owner
Product Owner
Use-Case Model Analysis Model
Manage Backlog
Story
Product Backlog
Product Backlog
Define/Refine Release Plan
Architecture Document
Product Backlog
Release Plan
11. John Liebenau
Enterprise Architecture / Software Engineering
Work Breakdown
11
Inception Stabilization Construction Transition
Release N
Scope Is Understood
• Understanding of what is to
be built in the release
Key Requirements
Use-Cases
Story Backlog
• Understanding of the relative
priority of the requirements
and stories
• Agreement between customer
and development organization
on the scope of the release
and the overall timeline for
delivery
Architecture Is Stable
• Architecture has been
validated (by actual testing
and formal review) against the
key system requirements
• Risks have been sufficiently
mitigated in order to
predictably determine the cost
and schedule for completing
the development of the
system
Solution Is Constructed
• Functionality planned for
release has been
implemented
• Quality of the releases are
sufficient to deploy to QA for
regression , functionality,
performance testing, and user
acceptance testing
Solution Is Deployed
• System has passed all testing
• Supporting documentation
such as user guide and
operations support guide has
been created
• Release materials have been
packaged and deployed into
production environment
• Operational system has been
validated in production
Release Planning Meeting Alpha Release Beta Release
(Code Freeze)
Key
Release
Phase
Sprint
Milestone
Prod Release
12. John Liebenau
Enterprise Architecture / Software Engineering
Minimize Branching (with feature toggles)
12
Rel-1.0.0
Feature A On
Feature B Off
Feature C Off (partially implemented)
Rel-1.1.0
Feature A On
Feature B On
Feature C Off (partially implemented)
Rel-1.2.0
Feature A On
Feature B On
Feature C On
Dev
Rel-1.0.0 Rel-1.1.0
Rel-1.0.1 Rel-1.0.2 Rel-1.1.1
Rel-1.2.0
Feature Toggle
A technique where partially implemented features are hidden from users (effectively turned off) by means of a configuration mechanism.
Feature toggles eliminate (or minimize) the need for feature branching and enable software to be worked on as a unified codebase.
See: http://martinfowler.com/bliki/FeatureToggle.html for more information.
15. John Liebenau
Enterprise Architecture / Software Engineering
Work Products
15
Work Products Description Produced By Related Activity
Business Requirement List Textual descriptions of functional and non-functional requirements primarily
derived through discussions with Customers, Users, or Domain Experts.
Analyst Collect Requirements
Use-Case Model Contains the use-cases of the application that provides a model of the
application’s intended functions and environment.
Analyst Define/Refine Use-Cases
Use-Case Document Textual description of a use-case that specifies the interactions between
actors and the system and organizes them into primary and alternative flows.
Analyst Define/Refine Use-Cases
Test-Case Document Textual description of the test-cases that verify the behavior of the system
based on a use-case and its constituent stories.
Tester Define/Refine Test-Cases
Analyst
Analysis Model Contains use-case realizations (class and sequence diagrams) that illustrate
the inner working of use-cases at a high level of abstraction.
Developer Realize Use-Case
Analyst
Use-Case Realization Describes the structural aspects (analysis class diagrams) and behavioral
aspects (communication or sequence diagrams) of the realization of a use-
case.
Developer Realize Use-Case
Analyst
Story Describes one flow of a use-case narrative in language that is understood by
all stakeholders. Special requirements and acceptance criteria are also
documented.
Analyst Define/Refine Stories
Developer
Product Backlog Prioritized collection of stories. Product Owner Manage Product Backlog
Application Model Set A set of models (use-case model, analysis model, design model, …) used to
visualize, specify, construct, and document—in detail—the architecture of a
application system.
Architecture Owner Define/Refine Architecture
Application Architecture Document Presents architecturally significant elements, relationships, and collaborations
from the system’s model set and the rationale for their design.
Architecture Owner Define/Refine Architecture
Release Plan Documents: the total story points planned for release, the team’s current
velocity, a velocity-based release calendar, and an initial mapping of stories
to sprints.
Produce Owner Define/Refine Release Plan
Architecture Owner
Sprint Backlog Set of stories allocated to a specific sprint. Scrum Master Define Sprint Plan
Consumable Solution A version of the application system that can—potentially—be consumed by
end users.
Team Realize Story
Sprint Retrospective Report Documents the results of a sprint and captures what went well, what did not
go well, and what to do to make things better.
Team Review Sprint Results
16. John Liebenau
Enterprise Architecture / Software Engineering
Activities
16
Activity Description Performed By Related Work Products
Collect Requirements Analyst identifies and documents requirements derived from
communication with Stakeholders such as Customer, User, and Domain
Expert
Analyst Business Requirement List
Define/Refine Use-Cases Analyst maps requirements to a set of use-cases that are formally
defined through a use-case model and use-case document
Analyst Use-Case Model
Use-Case Document
Define/Refine Test-Cases Tester collaborates with Analyst to understand use-cases and define
corresponding test-cases.
Tester Test-Case Document
Analyst
Realize Use-Case Developer collaborates with Analyst to understand a use-case and derive
an analysis model of class and sequence diagrams that describe (at a
high level) how the use-case will be implemented
Developer Analysis Model
Analyst Use-Case Realization
Define/Refine Stories Analyst and Developer collaborate to define the set of stories that
describe the various features or “slices” through a use-case in terms that
is understood by both Developers and Customers
Analyst Story
Developer
Manage Product Backlog Product Owner organizes stories into a product backlog and determines
story priorities by consulting with Customer and Developer
Product Owner Product Backlog
Define/Refine Architecture Architecture Owner organizes various models (use-case model, analysis
model, design model, deployment model, etc.) into an application model
set and then extracts the most architecturally significant elements into an
application architecture document for review with Technical Stakeholders
Architecture Owner Application Model Set
Application Architecture Document
Define/Refine Release Plan Product Owner and Architecture Owner collaborate to map stories from
the product backlog to a sequence of sprints that will culminate in a
release
Product Owner Release Plan
Architecture Owner
Define Sprint Plan Scrum Master assembles the sprint backlog from the release plan and
current product backlog and facilitates Team Members signing up to work
on stories
Scrum Master Sprint Backlog
Realize Story Team Members work together to complete the tasks that implement and
test a story
Team Members Consumable Solution
Review Sprint Results Team Members review the results of the previous sprint and capture
what worked, what did not work, what could be done better.
Team Members Sprint Retrospective Report
17. John Liebenau
Enterprise Architecture / Software Engineering 17
Object-Oriented Analysis & Design Practices
Use-Case Realization
• Perform use-case realizations as a team
• Identify the encompassing use-case for each work item (story) under analysis
• Review the use-case (documentation and models)
• Identify the analysis classes (boundary, processor, entity) relevant to the use-case and stories:
─ Boundaries represent the system elements that interact with actors
─ Processors represent the system elements responsible for processing logic
─ Entities represent the system’s data
• Use analysis class diagram(s) to describe the structure of the use-case and stories
• Use sequence diagram(s) or state machine diagram(s) to describe the behavior of the use-case and stories
Domain Driven Design
• Create a common language between users, analysts, developers, and testers
• Organize system architecture into layers:
─ Interaction Layer – Responsible for interacting with the users of the system including: presenting information to the user and interpreting user commands.
─ Service Layer – Provides the contracts that represent the services offered by the system.
─ Integration Layer – Provides the mechanisms that enable integration between the system’s client and server components and with other systems.
─ Application Layer – Implements the contracts from the Service Layer by coordinating application activity of elements from the Service Layer and the Domain
Layer.
─ Domain Layer – Contains information about the domain. This is the heart of the business software. The state of business objects is held here. Persistence of the
business objects and possibly their state is delegated to the Platform layer.
─ Platform Layer – Provides a supporting library for all the other layers. It provides communication between layers, implements persistence for business objects,
contains supporting libraries for the Interaction Layer, etc.
• Consistently use appropriate design patterns
─ Model-View-Controller
─ Service
─ Transport Object
─ Entity
─ Value Object
─ Aggregate Root
─ Repository
─ Factory