Solution
80/20-rule - Answer - ✔✔In the Dynamic Systems Development Method, the
assumption that 80-percent of an application's features will take 20-percent of the
project's total time to implement. (The 80/20-rule often applies to other situations, too.
For example, 80-percent of the bugs are usually contained in 20-percent of the code.)
acceptance test - Answer - ✔✔A test to determine whether the finished application
meets the requirements. Normally, a user or other customer representative sits down
the with application and runs through all the use cases you identified during the
requirements gathering phase to make sure everything works as advertised.
activity diagram - Answer - ✔✔In UML, a diagram that represents work flows for
activities. They include several kinds of symbols connected with arrows to show the
direction of the work flow.
adaptive development model - Answer - ✔✔A development model that enables you to
change the project's goals if necessary during development.
administrator - Answer - ✔✔Someone who manages the development team's
computers, network, and other tools. Also called a system administrator.
advisor user - Answer - ✔✔Any user who brings an important viewpoint to the project.
agile development - Answer - ✔✔A development model where you initially provide the
fewest possible features at the lowest fidelity to still have a useful application. Over
time, you add more features and improve existing features until all features have been
implemented at full fidelity.
Agile Manifesto - Answer - ✔✔A set of four guiding principles for agile development. In
brief the principles are: (1) Individuals and interactions over processes and tools, (2)
Working software over comprehensive documentation, (3) Customer collaboration over
contract negotiation, (4) Responding to change over following a plan
Agile Unified Process (AUP) - Answer - ✔✔A simplified version of Rational Unified
Process that includes agile methods such as test-driven development and agile
modeling. In 2012 AUP was superseded by Disciplined Agile Delivery.
algorithm - Answer - ✔✔A software recipe that explains how to solve a particular
programming problem.
ambassador user - Answer - ✔✔Someone who acts as a liaison between the users and
the developers.
,anchoring - Answer - ✔✔A phenomenon where an early decision made by one person
influences later decisions by others.
anomaly - Answer - ✔✔In a relational database, an error caused by a design flaw such
as records holding inconsistent values or being unable to delete a piece of data
because it is necessary to record some unrelated piece of information.
architect - Answer - ✔✔Someone who focuses on the application's overall high-level
design.
artifact - Answer - ✔✔In a UML deployment diagram, a file, a script, an executable
program or another item that is deployed. In development models, something generated
by the model such as a requirements document, user story, or piece of code.
assertion - Answer - ✔✔A statement about the program and its data that is supposed to
be true. If the statement isn't true, the assertion throws an exception to tell you that
something is wrong.
attribute - Answer - ✔✔Some feature of a project that you can measure such as the
number of lines of code, the number of defects, or the number of times the word "mess"
appears in code comments. See also metric and indicator.
audit trail - Answer - ✔✔A record of actions taken by an application's users for security
auditing purposes.
behavior diagram - Answer - ✔✔In UML, a diagram that shows the behavior of some
entity. There are three kinds of behavior diagrams: activity diagrams, use case
diagrams, and state machine diagrams.
Big Board - Answer - ✔✔A large board used by many agile models that is posted in a
visible location so that everyone can see the project's status at a glance. Also called an
information radiator.
big O notation - Answer - ✔✔A system for studying the limiting behavior of algorithms
as the size of the problem grows large.
black-box test - Answer - ✔✔A test designed by someone who doesn't know how the
code works internally.
brainstorming - Answer - ✔✔A group technique for discovering creative solutions to a
problem.
, bug - Answer - ✔✔A flaw in a program that causes it to produce an incorrect result or to
behave unexpectedly. Bugs are generally evil.
build engineer - Answer - ✔✔In Feature-Driven Development, someone who sets up
and controls the build process.
burndown chart - Answer - ✔✔In Scrum, a graph showing the amount of work remaining
over time.
business ambassador - Answer - ✔✔Someone who provides business information from
the viewpoint of the users.
business analyst - Answer - ✔✔A domain expert who helps define the application's
purpose and who provides feedback during development. Also called a business
advisor.
business requirements - Answer - ✔✔The project's high-level business goals. They
explain what the customer hopes to achieve with the project.
business visionary - Answer - ✔✔Someone who has a clear vision of the application's
business role, particularly early in the process when that role isn't clearly written down.
Change - Answer - ✔✔A change to an application that is requested by customers. This
may happen when customers understand the application better, when customers think
of a new feature or a modification they want, or when the users' environment changes
so the application needs to be changed to be useful.
change control board - Answer - ✔✔A group of project members, possibly including one
or two customers, that reviews and approves or rejects change requests.
chief architect - Answer - ✔✔In Feature-driven Development, the person responsible for
the project's overall programmatic design.
chief programmer - Answer - ✔✔In Feature-driven Development, an experienced
developer who is familiar with all the functions of development (design, analysis, coding,
and so on). Chief programmers lead project teams.
child class - Answer - ✔✔A class derived from a parent class. The child class inherits
properties, methods, and events from the parent class.
class - Answer - ✔✔In object-oriented programming, a construct that defines a type (or
class) of items. For example, if you define a Customer class, you can then create many
Customer objects representing different real-world customers.