AGILE: The software development life cycle methodology which came about to “solve” the disadvantages of Waterfall. Agile follows an incremental approach, not sequential. Developers start off with a simplistic project design and begin to work on small modules in weekly or monthly sprints. At each sprint’s end, project priorities are evaluated, and tests are run. These sprints allow bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run. A working version of the software is produced during the first iteration – so early in the development process.
The process, with its lack of initial design and steps, is often criticized for its collaborative nature that focuses on principles rather than process.
CMMI CAPABILITY MATURITY RATING1 : Capability Maturity Model Integration (CMMI) is a process improvement training and appraisal program. ... CMU claims CMMI can be used to guide process improvement across a project, division, or an entire organization. CMMI defines the following maturity levels for processes: Initial, Managed and Defined.
COMPUTER SYSTEM: The computer hardware PLUS any additional hardware/peripheral devices; application, operating system & middleware software; PLUS the people, policies and procedures needed to successfully use, run, maintain and repair it. See http://wsrcg.com/services-computer-expert-witnesses.php
CONE OF UNCERTAINTY: Early in a project, specific details of the nature of the software to be built, details of specific requirements, details of the solution, project plan, staffing, and other project variables are unclear. The variability in these factors contributes variability to project estimates -- an accurate estimate of a variable phenomenon must include the variability in the phenomenon itself. As these sources of variability are further investigated and pinned down, the variability in the project diminishes, and so the variability in the project estimates can also diminish. This phenomenon is known as the “Cone of Uncertainty” which is illustrated in the following figure. As the figure suggests, significant narrowing of the Cone occur during the first 20-30% of the total calendar time for the project.2
CRITICAL PATH: In project management, a critical path is the sequence of project network activities which determines the shortest time possible to complete the project. Therefore, even a day increase in the critical path will lengthen the entire project schedule by one day.
ESTIMATE FOR SYSTEMS DEVELOPMENT: For the cost, schedule, scope, quality, risks, and stakeholder’s expectations; part Art, part Science; cannot be predicted too early in the project (See “Cone of Uncertainty” in this glossary). An estimate is NOT a commitment, a budget, or a promise – it is an approximate judgement/calculation. Best estimations are given as a range, not a specific number or date. Estimates get better as more information and history become available.
FF OR F&F: Short for Features & Functions. Includes system & software requirements and “-ilities”
“-ILITIES”: Synonymous with “-abilities” These are capabilities considered in addition to functional requirements. Functional requirements relate to specific transactions that must be processed, algorithms for processing transactions, company rules and processes, government regulations, industry standards, specific system and user reports and inquiries, GUI and backup-recovery-restart.LITIES include: accessibility, accuracy, adaptability, affordability, auditability, availability, compatibility, configurability, customizability, debuggability, dependability, deploy-ability, effectiveness, efficiency, fault-tolerance, install-ability, interoperability, maintainability, mobility, modifiability,, portability, precision, process capabilities, recoverability, reliability, repeatability, reproducibility, responsiveness, reusability, scalability, supportability, securability, standards compliance, survivability, sustainability, testability, traceability, transparency, understandability, upgradability, vulnerability, usability
NOTE: Business systems typically test 6-8 of these. DoD and health care systems typically require more.
IT INDUSTRY STANDARDS: There are many standards and best practices (although alleged “best practices” are based on the specific environment and situation), including: IT service management standards; Information security standards; Network security standards; Risk management standards; Business continuity and disaster recovery standards; Quality management standards; Environmental and energy management standards ; Software standards ; Corporate governance standards; Industry standards; Acts of government; Security standards and more. Some of the organizations that promulgate and publish such standards include: IEEE, PMBOK; SWEBOK, DoD/ Mil Spec standards; ISO — International Organization for Standardization; WSA — Website Standards Association.
K: Abbreviation for “Contract.”
PROJECT CHAMPION: The person within an org implementing a project who takes on the burden of ensuring everyone involved is on board and behind the ultimate success of the project. They are responsible for: Identifying a project's strategic objectives; Working with project team to ensure the project’s vision is successfully translated into requirements/solution design; Critically analyzing and ensuring best practices; Identifying and eliminating obstacles that may threaten a project’s viability within the org. itself; Prioritizing project phases based on value; Appropriately allocating/organizing internal resources to ensure the successful completion, implementation, or adoption of a project.
PROJECT MANAGEMENT OFFICE (PMO): A project management office, abbreviated to PMO, is a group or department within a business, agency or enterprise that defines and maintains standards for project management within the organization. The PMO strives to standardize and introduce economies of repetition in the execution of projects.
PROJECT MANAGER (PM): A project manager is a professional in the field of project management. Project managers have the responsibility of the planning, procurement, and execution of a project, in any domain of engineering. Project managers are first point of contact for any issues or discrepancies arising from within the heads of various departments in an organization before the problem escalates to higher authorities. Project management is the responsibility of a project manager. This individual seldom participates directly in the activities that produce the end result, but rather strives to maintain the progress, mutual interaction and tasks of various parties in such a way that reduces the risk of overall failure, maximizes benefits, and minimizes costs.3
Project Managers typically get involved in planning, organizing, staffing, directing, coordinating, communicating, collaborating, report, estimating, staying on time, on schedule, on quality and in-scope.
A PRODUCTION-READY SYSTEM: One that is suitable, compliant, and maintainable. It:
PMBOK: The PMBOK® Guide—5th is a global standard for project management. It provides project managers with the fundamental practices needed to achieve organizational results and excellence in the practice of project management. This standard presents generally recognized good practices and reflects continually evolving knowledge.
QUALITY ASSURANCE (QA) - Assurance: The act of giving confidence, the state of being certain or the act of making certain. Quality Assurance: The planned and systematic activities implemented in a quality system so that quality requirements for a product or service will be fulfilled. “Doing the Right Things.” The QA Group should not report to the project manager to remove opportunity for intimidation by PM.
QUALITY CONTROL (QC) - Control: An evaluation to indicate needed corrective responses; the act of guiding a process in which variability is attributable to a constant system of chance causes. Quality Control: The observation techniques, tools, proofs, tests, and activities used to fulfill requirements for quality. “Doing Things Right.”
REQUIREMENTS TRACEABILITY MATRIX (“RTM”): Requirements Traceability Matrix (“RTM”) ensures that requirements were being served at every stage and phase of the project. The RTM traces requirements to design artifacts, test artifacts, and documentation artifacts in both directions end-to-end.
SOA: A service-oriented architecture (SOA) is a style of computer software where services are provided to the other components by application components, through a communication protocol over a network. The basic fundamental principles of service-oriented architecture are independent of vendors, products and technologies.  A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as an act of retrieving a credit card statement online.
A service has 4 properties according to one of many definitions of SOA: It logically represents a business activity with specified outcomes; is self-contained; is a black box for its consumers; may consist of other underlying services. Different services can be used in conjunction to provide the functionality of a large software application.  Service-oriented architecture makes it easier for software components to communicate and cooperate over the network, without requiring any human interaction or changes in the underlying program, so that service candidates can be redesigned before their implementation.
SOFTWARE (“SW”): Computer software, or just software – general term describing a collection of computer programs, procedures & documentation that perform some tasks on a computer system. Application SW (“apps”), like excel, performs productive tasks for users; System SW, like Windows XP, interfaces with hardware to provide necessary services for apps; Middleware controls/coordinates distributed systems. Term also includes ERP SW apps as well as Internet apps. We distinguish software, ERP and Internet apps because each can bring its own distinct risks, technologies & quirks – requiring different expertise. See http://wsrcg.com/services-software-expert-witnesses.php
SOFTWARE ARCHITECTURE: Making fundamental structural choices which are costly to change once implemented. Software architecture choices include specific structural options from possibilities in the design of software. For example, the systems that controlled the space shuttle launch vehicle had the requirement of being very fast and very reliable. Therefore, an appropriate real-time computing language would need to be chosen. Additionally, to satisfy the need for reliability the choice could be made to have multiple redundant and independently produced copies of the program, and to run these copies on independent hardware while cross-checking results.
Documenting software architecture facilitates communication between stakeholders, captures early decisions about the high-level design, and allows reuse of design components between projects.
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC): The SDLC is a framework defining tasks performed at each step in the software development process (thru requirements, design, coding, testing, implementation & maintenance). The development team follows the selected SDLC within the software organization. One can say they are the “latest” methods of how to build a suitable system based on industry lessons learned. The life cycle defines a methodology for improving the quality of software and the overall development process. Although there are several SDLC models, Waterfall and Agile lead the pack, with Agile is now the most popular.
SOFTWARE ERRORS AND BUGS: As defined in Wikipedia “An error is a deviation from accuracy or correctness” and “A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways “.
SUITABLE SYSTEM: A system that is fit for a particular purpose. It meets the functional, performance, nonfunctional, training, operating, user, business, industry, GUI, back-up/ recovery/restart, security, maintenance, auditability, reliability requirements and more. It’s more than just tested software. It’s tested software, hardware, infrastructure, trained staff, organizational change, policies, procedures, processes and more.
SWEBOK: A global standard for software design and development covering: Software: requirements, design, construction, testing, maintenance, configuration management, engineering management, engineering processes, engineering models and methods, quality, engineering professional practice, engineering economics. It also covers computing foundations, mathematical foundations, engineering foundations.
SYSTEMS INTEGRATOR: A systems integrator is a person or company that specializes in bringing together component subsystems into a whole and ensuring that those subsystems function together, a practice known as system integration. Often used interchangeably with Vendor, Implementer, Consultant.
TCO: Total Cost of Ownership is applied to the analysis of information technology products, seeking to quantify the financial impact of deploying a product over its life cycle. These technologies include software and hardware, and training.
USER ACCEPTANCE TESTING: The user acceptance test is a critical opportunity to have real super-users and end-users test the system in simulated and real integrated operation following what they learned in training and using Job-aids as necessary.
VENDOR, INTEGRATOR, CONSULTANT, SUBCONTRACTOR: Used interchangeably to refer to the single team or multiple teams responsible for developing/configuring the system, programming, testing, organizational changes, overseeing data conversion & Go-Live readiness, implementing and post Go-Live support & maintenance, and more. The customer itself may want its internal staff or a favored consulting group to perform some of the tasks. Their interface must be carefully managed to prevent finger pointing.
WATERFALL: The software development methodology most like construction/manufacturing workflows, a sequential design process. Thus, as each project phase (initiation, requirements analysis, design, build, test, implement, maintain) is completed, the developers move on to the next step. As this process is sequential, developers cannot go back to a previously completed step without redoing much/all of the whole project from the beginning. Without room for change/error, the project outcome and an extensive plan must be set at the start and then followed carefully.
WORK BREAKDOWN STRUCTURE (“WBS”): A work breakdown structure is a key project deliverable that organizes the team’s work into manageable sections. The Project Management Body of Knowledge (PMBOK) defines the WBS as a “deliverable-oriented hierarchical decomposition of the work to be executed by the project team. The scope is broken into manageable chunks that a project team can understand, as each level of the WBS provides further definition and detail. An easy way to think about a WBS is as an outline of a specific project.