Key Concepts in Enterprise Software Development

Enterprise Software Fundamentals

Identifying Enterprise Software

Select all the following that would likely be considered enterprise software:

  • B2B Portal
  • Human Resource Management (HRM)
  • Legal Document Management
  • B2C Portal
  • Accounts Receivables
  • Order Processing

Agile Methodologies: Scrum

Key Characteristics of Scrum

Select all the statements that best describe Scrum:

  • Small, prioritized deliverables
  • Cross-functional, self-organized teams

Values Encouraged by Scrum

Select all the values Scrum encourages:

  • Open communication
  • Frequent releases
  • Clear goals
  • Focus on continuous improvement

Enterprise Application Architecture Patterns

Key Points from PoEAA Book

Select all the key points about enterprise applications discussed in the Patterns of Enterprise Application Architecture book:

  • Usually requires integration with other Enterprise Applications
  • Usually involves persistent data
  • Usually requires Transaction Managers to handle concurrent access to data

Networking Protocols: HTTP

True Statements About HTTP

Select all the (TRUE) statements about HTTP:

StatementTruth Value
HTTP is a symmetric request-response protocolFalse
HTTP/2 added request multiplexing over a single TCP connectionTrue
HTTP is a stateful protocol with cookiesFalse
HTTP/2 added data compression of messagesTrue

Agile Roles: Product Owner

Product Owner Responsibilities

Select all the appropriate responsibilities of a Product Owner:

  • Manages a prioritized backlog
  • Creates the shared vision of the project

System Scaling Concepts

True Statements About Scaling Up (Vertical Scaling)

Select all the (TRUE) statements about scaling up:

  • As an example, add more CPU and Memory
  • Same as vertical scaling

True Statements About Scaling Out (Horizontal Scaling)

Select all the (TRUE) statements about scaling out:

  • Add more servers
  • Same as horizontal scaling

Agile Methodologies: Kanban

Key Characteristics of Kanban

Select all the statements that best describe Kanban:

  • Visualized Workflow
  • Limit Work in Progress (WIP)

Agile Roles: Scrum Master

Scrum Master Responsibilities

Select all the appropriate responsibilities of a Scrum Master:

  • Coaches the team on Scrum
  • Ensures the team has daily Scrum meetings

Enterprise Software Trends

Recent Enterprise Software Trends

Select all the recent Enterprise Software trends:

  • Mobile-Focused (Mobile First Workforce)
  • Emphasis on Agile
  • Support for Collaboration (Built-in collaboration capabilities)
  • User-centered Design
  • Move to Cloud (Cloud-focused for flexibility and lower Total Cost of Ownership)
  • Support for API (The API Economy – Business Services via APIs for Consumption)
  • Built-in Analytics Capabilities
  • Integrated Security Features
  • Bare-bones software / Minimum Viable Product (MVP) to increase time to market
  • Faster updates and release cycles / Lean & Agile
  • Cloud, Containers, Kubernetes, and Microservices

Enterprise Software Components

Key Enterprise Software Components

Select the enterprise software components discussed in class:

  • Load balancers
  • DNS
  • Database
  • Message-Oriented Middleware
  • API Gateway
  • CDN
  • Proxies (front/back)
  • Cache

(Not considered: XML databases, DNC, dynamic proxies, Microsoft Office, Adobe Sync, or Facebook app)

Agile Methodologies: Kanban

Core Principles of Kanban

Select the Core Principles of Kanban:

  • Start with what you know
  • Agree to pursue incremental and evolutionary change

Core Practices of Kanban

Select the core practices of Kanban:

  • Make processes explicit
  • Limit Work in Progress (WIP)
  • Use a Kanban Board to visualize
  • Manage flow

API Security

Secure REST API Authentication

Select the most secure way to authenticate a REST API:

  • OAuth2

Load Balancing

Load Balancer Algorithms

Select the different Load Balancer Algorithms:

  • Correct: Round Robin, Random, Least Busy, Based on Client Headers
  • Not on the quiz: Sticky Session/Cookies, By Request Parameter

Cloud Computing Models

Typical Users for Cloud Services

Select the typical users for each cloud service model:

User RoleCloud Service Model
Enterprise Software UserSaaS
Enterprise Software DeveloperPaaS
Enterprise Software ITIaaS
Enterprise Software DevOpsIaaS
Mobile Software DeveloperPaaS

Data Analytics Processing

Phases in Data Analytics Processing

Select which phase in data analytics processing you would find the following:

ActivityPhase
Staging DataLoad
Data ValidationTransform
Remove Extraneous DataTransform
Reference DataExtract, Transform, and Load (ETL)
Creating SummationsTransform

Agile Methodologies: Feedback Loops

Matching Feedback Loops to Methodologies

Match the appropriate methodology to the feedback loops:

  • Sprint: Scrum
  • Daily Standups: Scrum
  • Continuous Integration: XP
  • Unit Testing: XP
  • Pair Programming: XP
  • Integration Demo: Scrum

Lean Software Development

Matching Lean Values

Match the Lean Values:

  • Find the work that you’re doing that doesn’t directly help to create valuable software and remove it from the project. → Eliminate Waste
  • Establish a focused and effective work environment and build a whole team of energized people. → Empower the Team
  • Use feedback from your project to improve how you build software. → Amplify Learning
  • Make every important decision for your project when you have the most information about it—at the last responsible moment. → Decide as Late as Possible

Database Technologies

Matching Use Cases with Database Technology

Match the Use Cases with the best option for Database Technology (options: column-oriented, map-reduce, RDBMS, document-oriented, Apache Spark, graph database, key-value):

  • HTTP Session Management: Key-Value
  • Data Analytics Dashboard: Column-Oriented
  • Transaction Logs: Column-Oriented
  • E-commerce Shopping Cart: Key-Value
  • Order Processing: RDBMS

Agile vs. Waterfall Principles

Matching Agile Principles to Waterfall Equivalents

Match the Agile Principles with the Traditional Waterfall Equivalent Values:

  • Individuals and interactions: Processes and Tools
  • Working Software: Comprehensive Documentation
  • Customer Collaboration: Contract Negotiation
  • Responding to Change: Following a Plan

Agile Methodologies: Extreme Programming (XP)

Matching XP Values

Match the XP Values:

  • Developers focus on writing the most simple and direct solutions possible. → Simplicity
  • Constant tests and feedback loops keep the quality of the product in check. → Feedback
  • Each team member is aware of the work everyone else is doing. → Communication
  • Each team member is focused on making the best choices for the project, even if it means having to discard failing solutions or approach things differently. → Courage
  • Every team member is important and valuable to the project. → Respect

Software Design Patterns

Matching Domain Logic Patterns

Match the Domain Logic Pattern:

  • Process for each user action → Transaction Script
  • Object-Oriented design for business logic → Domain Model
  • Organize business logic using record sets → Table Module

Agile Project Roles and Practices

Matching Practices to Project Roles

Match the practices to the right Project Role:

  • Task Board: Team Lead
  • Story Points: Developer
  • Product Backlog: Product Owner
  • Refactoring: Developer
  • User Stories: Product Owner
  • Pair Programming: Developer
  • Relative Ranking: Product Owner
  • Test-Driven Development: Developer

System Scaling Patterns

Matching Scaling Patterns

Match the following Scaling Patterns (options: execution orchestrator, result cache, bulk sync parallel, load balancer, map-reduce, shared space, pipe & filter, AKF scaling):

  • Use a recent local copy of data instead of data on the server: Result Cache
  • Alternate forwarding requests to one of the backend workers: Load Balancer
  • Chain together a series of workers using queues: Pipe & Filter
  • Process a large data set distributed across many servers: MapReduce

Enterprise Protocols and Middleware

Matching Enterprise Protocols and Middleware

Match the Enterprise Protocols and Middleware:

  • Enterprise Protocols: TCP, UDP, HTTP, HTTPS/TLS, REST API, Distributed Publish-Subscribe Message (XMPP, STOMP, AMQP)
  • Middleware: Kafka, ActiveMQ, RabbitMQ, Jabber, Microservices

Database Scaling and Architecture

Matching Database Concepts

Match the appropriate term for the concepts listed:

  • Organize data into smaller functional databases instead of a single large database. → Federation
  • Split data across multiple databases since data won’t fit on a single database server. → Sharding
  • Store data from different customers in the same database and schema. → Single Tenancy
  • Store data from the different customers in the same database but with different schemas. → Multi-Tenancy (SaaS Challenge)

Networking: TCP/IP Model

Matching Responsibilities to TCP/IP Layers

Match the example responsibilities with the appropriate TCP/IP Layer:

ResponsibilityTCP/IP Layer
Rendering JSON from REST APIApplication Layer
Network RoutingInternet Layer
Session ManagementApplication Layer
Transmission Flow & Error ControlHost-to-Host Layer
Identifying Hardware AddressesNetwork Access Layer

Message Queues: RabbitMQ

Matching RabbitMQ Exchange Types

Match the RabbitMQ statements:

  • Ignores Routing Key and Routes Messages to all Queues → Fan Out Exchange
  • Routes Messages using Routing Key → Direct Exchange
  • Uses a Pattern Match to Route Messages → Topic Exchange
  • Routes Messages based on matching message headers → Headers Exchange

Enterprise Software Protocols

Matching Protocols to Components

Match the protocol used by the following enterprise software components:

ComponentProtocol
RabbitMQAMQP
ActiveMQSTOMP
JabberXMPP
KafkaPub/Sub
MicroservicesREST

Data Storage & Analytics Architectures

Matching Data Lake, Data Mart, Data Warehouse

Match the Data Lake, Data Mart, or Data Warehouse for each of the following statements:

  • Used for Predictive Analytics → Data Lake
  • Used for Operational Analytics → Data Warehouse
  • Used for LOB Reporting → Data Mart
  • Typical Time-to-Market of Hours to Days → Data Warehouse
  • Typical Time-to-Market of Weeks to Months → Data Lake
  • Typical Time-to-Market of Minutes to Hours → Data Mart
  • Has Moderate Data Growth → Data Warehouse
  • Has Low Data Growth → Data Mart
  • Has Large Data Growth → Data Lake

Distributed Systems: CAP Theorem

Matching CAP Scaling Properties

Match the CAP Scaling Properties:

  • C: Consistent
  • A: Available
  • P: Partition Tolerant

Database Systems: OLTP vs. OLAP

Matching Statements with OLTP or OLAP

Match each statement with either OLTP (Online Transaction Processing) or OLAP (Online Analytical Processing):

  • Typically has Long Transactions → OLAP
  • Focused on Creating Business Data → OLTP
  • Database Typically Normalized in 3NF → OLTP
  • Database Typically not Normalized → OLAP
  • Focused on Reporting on Business Data → OLAP

Application & System Architecture

Examples of Application & System Architecture

Which of the following are examples of applications and system architecture?

  • Single-machine web service
  • 3-tier web service
  • Message Bus
  • Distributed systems
  • N-tier architecture

Enterprise Software Focus Areas

Key Focus Areas of Enterprise Software

Which of the following would be considered a “focus” of enterprise software?

  • Supporting business agility
  • Supporting cost management
  • Maintaining and improving existing software systems

System Scaling: AKF Scale Cube

AKF Scale Cube Dimensions

Which dimension of scaling in the AKF Scale Cube deals with sharding, replicas, and microservices?

  • X-axis: Horizontal duplication (replicas)
  • Y-axis: Functional decomposition (microservices)
  • Z-axis: Data partitioning (sharding)

Networking Protocols: Reliability

More Reliable Protocol

Which protocol is more reliable?

  • TCP over UDP

Agile Methodologies: Scrum & XP

Common Practices in Scrum and XP

Which practices do Scrum and XP have in common?

  • Task Boards
  • Stories (User Stories)
  • Backlog (Product Backlog)
  • Retrospectives

Database Concurrency Control

Locking Strategy for Transaction Throughput

Which locking strategy will yield better transaction processing throughput?

  • Optimistic offline locks

Digital Transformation

Top Digital Transformation Spending Areas (Gartner 2019)

What are the top three digital transformation spending areas for enterprises in 2019 as cited by Gartner?

  • Business Intelligence or Data Analytics
  • Cyber/Information Security
  • Cloud Services or Solutions

Cloud Computing: Essential Characteristics

Essential Characteristics of Cloud Services

What are the essential characteristics of a cloud service?

  • On-Demand/Self-Serving
  • Broad Network Access
  • Resource Pooling
  • Rapid Elasticity
  • Measured Service

Enterprise Software Challenges

Common Pain Points of Enterprise Software

What are some pain points of Enterprise Software cited in this class?

  • Comes in “Big ERP suites”
  • High support costs
  • On-Premise Legacy systems

Load Balancing Features

Load Balancer Slow Start Feature

What is the feature in Load Balancers to prevent a new replica from being flooded with requests on startup?

  • Slow Start

Agile Practices: Pair Programming

Definition of Pair Programming

What is pair programming?

  • Two developers writing code together, providing constant peer review.

Data Integrity & Security

Best Method for Detecting File Changes

What is the best method for detecting if the contents of a file have changed?

  • Hash Function: Hash algorithms are used to provide a digital fingerprint of a file’s contents, to ensure that the file has not been altered.

Cryptography: Public Key

Public Key Cryptography Implementation

What is the Public Key Cryptography Implementation?

  • RSA

Business Concepts: The Long Tail

Understanding The Long Tail

The “Long Tail” is a term coined by Chris Anderson for the industry trend toward mass production of popular products for consumers. For example, Apple’s iPhone.

False

Data Analytics Concepts

Identifying Patterns in Enterprise Data

The practice of looking for patterns in enterprise data is also known as:

  • Data Analytics (also, analytics, marketing, analysis, optimization)

Software Architecture Styles

“Fat Client, Thin Server” Architecture

The “Fat Client, Thin Server” architecture is also known as:

  • Two-Tier

Database Scaling: Master-Master

Master-Master Database Architecture

In a master-master database scaling architecture, clients can read and write on any of the nodes.

True

Database Scaling: Master-Slave

Master-Slave Database Architecture

In a master-slave database scaling architecture, clients can read and write on any of the nodes.

False

Load Balancing: UDP

UDP Load Balancer Classification

A UDP Load Balancer is also known as a:

  • Layer 4 Load Balancer

Web Performance: CDN

Purpose of a Content Delivery Network (CDN)

A CDN is used to improve the performance of web traffic by caching content on edge servers closer to the client.

True

NoSQL Databases: Document Stores

Document Database Characteristics

A document database, such as MongoDB, is basically a key-value database where the values are also processed by the database engine to support optimizations (such as indexing for fast searching).

True

Software Design Patterns: MVC

Goal of Model-View-Controller (MVC)

A goal of MVC is to separate the Model (Business Logic) from the View (Presentation) by adding an intermediary (Controller) so that the Model and View can evolve independently.

True

Cryptography: Non-Repudiation

Mechanism for Non-Repudiation

A mechanism to prove that the sender sent this message:

  • Public Key Cryptography (e.g., RSA for digital signatures)

System Performance Metrics

Performant System Characteristics

A performant system has high latency and low throughput.

False

Software Architecture: Three-Tier

Components of a Three-Tier Architecture

A three-tier architecture typically consists of:

  • Presentation Tier
  • Business Logic Tier
  • Database Tier

Agile Practices: User Stories

User Story Format and Purpose

A user story must be in the “user voice format” to help the team understand their users by clearly explaining a specific need, and how the software will meet that need.

True

NoSQL Databases: Replication & CAP

AP vs. CP Database Replication

AP Databases typically use Master-Slave Replication, whereas CP Databases use peer-to-peer.

False

Technology Adoption Life Cycle

AI and ML in Technology Adoption

AI and ML are currently in the Early Majority Technology Adoption Life Cycle.

True

Agile Metrics: Burndown Chart

What an Agile Burndown Chart Shows

An Agile Burndown Chart shows:

  • Remaining work in a sprint or project
  • Ideal progress
  • Actual progress
  • Forecasted completion

Cryptography: Asymmetric Key

Asymmetric Key Cryptography Terminology

Asymmetric Key Cryptography is also known as Public-Key Cryptography.

True

System Design: Asynchronous Workloads

Asynchronous Workload Implementation

Asynchronous Workloads are typically implemented using Queues and Background Jobs to help increase response time to clients for running compute-intensive operations.

True

Cryptography: Key Types & Capabilities

Symmetric vs. Asymmetric Key Capabilities

Both asymmetric key and symmetric key cryptography can be used for confidentiality, message integrity, and non-repudiation.

False

Technology Trends: Hype Cycle

Phases of the Hype Cycle (Gartner)

Check all the phases of the Hype Cycle tracked by Gartner (or similar technology research firms):

  • Innovation Trigger
  • Peak of Inflated Expectations
  • Trough of Disillusionment
  • Slope of Enlightenment
  • Plateau of Productivity

NoSQL Databases: Replication & CAP

CP vs. AP Database Replication

CP databases typically use master-slave replication, whereas AP databases use peer-to-peer.

True

Network Security: Host Authentication

Common Host-to-Host Authentication on the Internet

Currently, on the Internet, the most common form of host-to-host authentication is host-name or host-IP, which is strong enough for Transport Security.

False

Cryptography: Symmetric Ciphers

DES and AES Characteristics

DES and AES are Symmetric Key Cryptography Ciphers that use a 56-bit key and 64-bit blocks.

False

Agile Practices: User Stories

User Story Conditions of Satisfaction

Each user story has conditions of satisfaction to help the team know when the story is done. This is also known as the “Definition of Done” or “Acceptance Criteria”.

True

Version Control: Branching Strategies

Feature Branching Origin

Feature Branches are typically forked from Master.

False

Data Serialization Formats

Google Protobuf vs. XML Performance

Google Protobuf is a more performant replacement for XML.

True

Database Scaling & CAP Theorem

Horizontal Scaling and CAP Properties

For horizontal database scaling, it is possible to achieve all three CAP properties (Consistency, Availability, Partition Tolerance) simultaneously.

False

Cloud Service Models: Outsourced Components

Outsourced Components in IaaS and PaaS

For IaaS (Infrastructure as a Service), select which would be outsourced from the development team:

  • Virtualization
  • Servers
  • Storage
  • Network

For PaaS (Platform as a Service), the outsourced components include all of IaaS, plus:

  • Operating System (OS)
  • Middleware
  • Runtime

Networking: Domain Names

Examples of Top-Level Domains

Google.com and microsoft.com are examples of top-level domains.

False

Version Control: Branching Strategies

Hotfix Branching Origin

Hotfix Branches are typically forked from the Master branch.

True

Cryptography: HMAC

HMAC Key Usage

HMAC uses a cryptographic hash function and an asymmetric key.

False

Network Performance: Latency Impact

Impact of High Network Latency on Web Pages

High network latency will result in a slower web browser response to render a web page.

True

Integration Architectures: Hubs & ESBs

Statefulness of Hubs and ESBs

HUBs are stateful architectures, while ESBs are not.

False

Scalability of Hubs vs. ESBs

HUBs can scale just as well as ESBs, but are simpler to get started for small numbers of integration points.

False

Enterprise Security: Message Integrity

Definition of Message Integrity

In Enterprise Security, Message Integrity is ensuring that no one except the intended receiver can read the message.

False

Enterprise Protocols: Request Handling

Ways Requests are Handled in Enterprise Protocols

In Enterprise Protocols, what are the different ways requests can be handled?

  • Request/Response
  • Publish/Subscribe
  • Notification (one-to-one, event-based)
  • Asynchronous Messages

Network Security: TLS & SSL

TLS as a Modern SSL Version

TLS is a modern version of SSL and allows a client to verify the identity of the server.

True

Cryptography: Symmetric Key

Symmetric Key Cryptography Principle

In Symmetric Key Cryptography, the sender of a message and the receiver use a shared key for encryption and decryption.

True

NoSQL Databases: AP & Conflicts

Write Conflicts in AP Databases During Partition

In an AP database, it is possible to have a write conflict during a partition.

True

Database Concepts: ACID vs. BASE

Understanding ACID and BASE Properties

In database lingo, BASE stands for Basically Available, Strong Consistency, and Eventually Durable. As opposed to ACID which has strict properties of Atomicity, Consistency, and Durability.

False (BASE stands for Basically Available, Soft State, Eventually Consistent)

Integration Architectures: Hub-and-Spoke

Canonical Format in Hub-and-Spoke Architecture

In a hub-and-spoke architecture, the data exchanged is typically in a canonical format.

True

Database Scaling: Partition Tolerance

Horizontal Scaling Without Partition Tolerance

It is possible to horizontally scale a database without support for partition tolerance.

False

NoSQL Databases: CP & Conflicts

Write Conflicts in CP Databases During Partition

In a CP database, it is possible to have a write conflict during a partition.

False

Data Processing: MapReduce

Inverted Index Example with MapReduce

In the inverted index example:

  • The Map function takes a document and outputs a list of words and an identifier for the document (document ID).
  • The Reduce function takes all the word and document ID pairs and outputs the word with the list of documents the word is found in.

True

Enterprise Integration Patterns

Matching Integration Styles

Match the Integration Styles:

  • Prone to stale data due to low-frequency updates: → File Transfer
  • Difficult to design the same Schema Apps: → Shared Database
  • Integrate via Functions rather than Data: → Remote Procedure Invocation (RPC)
  • Achieves better loose coupling in integration: → Messaging

Message Queues: Kafka vs. RabbitMQ

Kafka’s Suitability for Event Streaming

Kafka is better suited for event streaming than RabbitMQ.

True

Message Queues: Kafka Scalability

Kafka’s Linear Scalability

Kafka cannot scale linearly with data size.

False

Containerization & Orchestration

Kubernetes and Docker Usage

Kubernetes and Docker are typically used together.

True

System Performance Metrics: Latency

Definition of Latency

Latency is the minimum time required to get any form of response.

True

Load Balancing: Health Checks

Load Balancer Health Check Mechanism

Load balancers use health check pings against back-end servers to determine if they are healthy and can receive requests.

True

Network Performance: Latency Impact

Impact of Low Network Latency on Web Pages

Low network latency will result in a slower web browser response to render a web page.

False

Software Architecture: Microservices vs. SOA

Granularity of Microservices vs. SOA

Microservices are more coarse-grained compared to SOA.

False

Enterprise Security: Message Integrity

Message Integrity as a Security Mechanism

Message Integrity is a security mechanism the recipient of a message can use to check if a message has been altered in transit.

True

Software Architecture: Microservices Benefits

Microservices Maintainability & Deployment

Microservices are easier to maintain, deploy, and debug compared to a large Monolithic Application.

True

Software Architecture: Microservices & APIs

Microservices for Synchronizing APIs vs. ESBs

Microservices are better suited for synchronizing APIs than a message-oriented architecture like ESBs.

True

Middleware: Common Use Cases

Typical Middleware Use Cases

  • Integration
  • Caching
  • Single Sign-On (SSO)

Software Architecture: Microservices & Databases

Microservices and Partitioned Databases

Microservices typically result in a partitioned Database Architecture.

True

Microservices and Shared Databases

Microservices typically share the same database.

False

Enterprise Security: Non-Repudiation

Definition of Non-Repudiation

Non-repudiation is a security mechanism to prove that the receiver is supposed to receive the message.

False

Cybersecurity: OWASP Top Ten

OWASP Top Ten: Injection Attack

OWASP’s Top Ten includes the Injection Attack, which is about how attackers add untrusted code that can be executed on the server without proper authorization.

True

Agile Practices: Documentation

Documentation Creation During a Sprint

Only technical writers can create documentation during a Sprint.

False

Caching Technologies: Redis

Redis for Caching Queries

Redis is typically used to cache popular queries to increase response times.

True

API Management: API Gateway

API Gateway Responsibilities

Request and Response Transformations are typically the responsibility of the API Gateway.

True

System Performance Metrics: Responsiveness

Definition of Responsiveness

Responsiveness is the amount of time a system takes to process a request from a user or API call.

False

System Performance Metrics: Response Time

Definition of Response Time

Response time is the amount of time a system takes to process a request from a user or API call.

True

Agile Methodologies: Scrum Backlog

Scrum Backlog Items and Sprints

Scrum Backlog Items must fit a Sprint.

False

Database Scaling: Sharding

Purpose of Sharding

Sharding is used when it is not possible to store the data on a single server.

True

Big Data Technologies: Spark

Spark’s Improvements Over Hadoop

Spark was created to improve the processing speed of Hadoop and to also support other computational models besides batch processing.

True

Software Frameworks: Spring

Spring Framework as an IoC Container

Spring Framework is considered to be an IoC (Inversion of Control) Container that heavily uses the Dependency Injection Pattern.

True

Network Security: SSL/TLS Termination

Responsibility for SSL/TLS Termination

SSL/TLS Termination is typically the responsibility of:

  • Reverse Proxy

Agile Metrics: Story Points & Velocity

Estimating Sprints with Story Points and Velocity

Teams use story points and velocity to estimate how many stories they can include in each sprint.

True

Agile Practices: Product Backlog Refinement

Activities in Product Backlog Refinement

To refine Product Backlog items, the following activities will occur implicitly or explicitly:

  • Decomposition
  • Design
  • Analysis

Agile Methodologies: Kanban

Time Boxes in Kanban

There are no “Time Boxes” in Kanban.

True

Technology Adoption Life Cycle

Early Majority in Technology Life Cycle

The Early Majority are typically found in the growth phase of a Technology Life Cycle.

True

NoSQL Databases: Conflict Resolution

Conflict Resolution in NoSQL During Partition Recovery

To resolve a conflict in a NoSQL Database during partition recovery, select the best mechanism to use:

  • Vector Clock Stamp

Load Balancing: Sticky Sessions

Sticky Session Behavior

Turning on a sticky (persistent) session for a load balancer sends all requests from a client to the same back-end server using stateful mechanisms (e.g., cookies), not inherent stateful features of HTTP itself.

False

Enterprise Integration Patterns: RPC

RPC and Loose Coupling

Using RPC is considered to be loosely coupled as an Enterprise Integration approach.

False

Project Management: Progress Tracking Charts

Typical Charts for Tracking Progress

What are the typical charts used to track progress for each of the following?

  • Waterfall: Gantt Chart
  • XP: Total Work Done (often tracked via burn-up charts)
  • Scrum: Burndown Chart
  • Kanban: Cumulative Flow Diagram

Networking: DNS Resolution

DNS Authoritative Response

When a client machine needs to access “google.com” via TCP/IP, the client may consult a DNS server on the local LAN if the IP for google.com doesn’t exist in the local cache (i.e., /etc/hosts). The response from the LAN DNS server is considered an Authoritative Response.

False

Database Scaling: Relational Databases

Challenges in Scaling Relational Databases

Why is it hard to scale a typical relational database? (Select all that apply)

  • Because RDBMS requires a fixed schema
  • Because there is an upper bound to adding more memory and CPU (vertical scaling limits)
  • Because it is expensive to vertically scale
  • Because RDBMS doesn’t inherently support horizontal scaling easily (requires complex sharding/replication)

Agile Roles: Testing in Scrum

Who Writes Tests in a Scrum Team?

Who writes tests in a Scrum Team?

  • The Development Team

DevOps: Automated Builds

Importance of Automated Builds

Why are automated builds important?

  • They provide rapid assurance that defects and configuration management issues have not been introduced.

Message Queues: Protocols

XMPP and RabbitMQ Protocol Usage

XMPP is the protocol used by RabbitMQ.

False