Part of the Computational Thinking process that filters out any unnecessary information in order to concentrate on relevant details.
There's a lot of extra data in this report, lets abstract it a bit so the software can process it quickly.
An approach to project management that's organized around short, iterative cycles of development and emphasizes the ability to respond to changing requirements and resources.
An agile approach means we don't have to try and think up every possible thing that can go wrong - we can launch and then update as we learn more about how our app is working in the real world.
A sequence of rules and decision forks that is used to solve a specific problem or perform a complex multi-step task. Algorithms can be used by humans in the context of mathematics, but the term is most commonly used to refer to a computer program.
It may seem like this computer is making decisions on its own, but really it can only choose one of two options according to the rules in an algorithm we programmed it to use.
A series of unambiguous instructions that enables a machine to process data, make decisions, or solve problems in a specific way.
We created an algorithm that quickly sorts large amounts of data into different sets and tag them appropriately.
An adjacent or 'non-traditional' dataset that is used to infer something about a ‘traditional’ dataset, for example using weather data to project a swimwear company's retail sales potential over the summer months.
We've started using alternative data like social media mentions to predict how many shoppers are planning to visit our store when we have a special event like a holiday sale.
A way to standardize data and commands that allows multiple programs or systems to communicate with each other for specific tasks without needing them to be fully interoperable or integrated.
I feel much more comfortable when shopping websites use PayPal's API to process my payment instead of having to share my credit card info with them directly.
A collection of instructions and necessary datasets that allows a computer to perform functions for a human or machine user. Also known as a program or software application. In casual usage, may refer to apps purchased from an app store and/or used on a mobile device.
My bank is offering an app now, so I can download it and use it on my phone to do my banking instead of logging in to my account through a web browser.
A user support system reliant on a combination of AI and support documentation to resolve common user issues immediately and escalate to the appropriate parties automatically.
If a user searches for an answer that is not covered in our FAQ, an auto ticket creation system lets us know so we can reach out to them directly.
A software tool and interface that displays the current status of key performance indicators related to business or user needs.
Our team leader starts each daily progress meeting by looking at our dashboard to check the backlog of programming tasks and the team's velocity.
A prioritized list detailing the current state of unfinished tasks and dependencies for a project.
Add it to the backlog, we'll deal with it as soon as we're done with the urgent stuff.
Large datasets of structured and unstructured data that come from many sources and, due to their size, require specialized tools to analyze. Big data contains information about many individuals, organizations, or systems and it is often used to look for patterns or generate statistics because of the diverse and broad datasets it contains.
We are using an AI to analyze big data from healthcare and pharmaceutical sources and look for patterns in patient recovery rates that may not be obvious to humans.
A specific version of a software or program, after the separate pieces of code have been combined, but before release.
Once all of these changes have been put into the new build, we'll need to test it before release.
Files and folders stored online, rather than on a local hard drive.
Google Drive, Dropbox, and iCloud are all examples of cloud storage providers.
A metric that assesses a piece of code for adaptability, efficiency, legibility for other developers, and ability to be updated in the future.
High quality code is stable under testing, easily upgradeable, and has uniform syntax so it is easy for other developers to understand.
A directory, local or remote, that holds code that is being worked on, in various versions, as well as documentation and notes about the development process so far.
Our whole team uses the same code repository, so we can always find the most up-to-date versions of whatever we're working on.
An operation that submits and saves new software code to a version-controlled repository, usually grouped around a specific problem which has been solved.
The team committed a fix today that resolved a security vulnerability in our app.
A mindset that allows machines and humans to work together to solve real-world problems, using Decomposition, Abstraction, Patterns, Algorithms, and Programs.
Using computational thinking, we can take the task of pouring a glass of water and break it down into a series of smaller, machine-friendly tasks like confirming the position of the glass relative to the pitcher.
Continuous delivery is the practice of developing software in short release cycles where updates are automatically tested and then deployed manually on a regular basis. Continuous Deployment is similar, except that deployment happens automatically as soon as an update has passed the necessary automated tests. Both practices put updates in the hands of users quickly to get feedback as soon as possible and avoid the pressure of big batch releases.
We always want our customers to have the best, most current version of our app possible, so instead of doing a quarterly update, we practice continuous deployment.
The practice of regularly collecting both structured and unstructured assessments and critiques to apply to future development.
Continuous feedback will help us stay informed about what needs to be fixed or improved in our app.
The practice of using recurring automated assessments of a program’s efficiency and stability in a controlled environment to quickly detect business risks associated with a software release or update.
Since this software is critical to the business' operations, we should implement continuous testing before we make any updates.
Examining and transforming data to extract information and discover new insights. Essentially, the process in which data becomes information.
Thankfully we have a new team member who specializes in data analytics, so finally we'll be able to use the data we're collecting to help us make better decisions.
The models, policies, rules, and standards that govern which data is collected and how it is stored, arranged, integrated, and put to use in data systems and in organizations.
Good data architecture is essential if we want to be able to use the data we collect.
Data that is not actively moving from one device to another, for example, files saved to a hard drive.
The bank hired me to secure their customer data archive, since data at rest can be an attractive target for hackers.
A comprehensive list of the datasets that are available from an organization or other source. For example, scientific researchers might need a list of all the medical statistics datasets they can access, so they can design experiments around what data is available.
I'm not sure what kind of customer data we have stored, but if you search the data catalog you can see all the different types, where they came from, and when they were collected.
Data generated by human activity that is recorded or logged without a specific intent in mind.
Our data exhaust includes keycard logins, the individual devices that connect to the office wifi, and security camera feeds.
The practice of checking, correcting, labeling, and normalizing data.
We have collected a lot of useful data, but if we don't practice good data hygiene the insights we get from it won't be very reliable.
Data that is dynamic, 'live', moving and changing in real time, as opposed to a static file saved on one machine.
Water is a good metaphor for data in motion: a ‘stream’ like a live video feed or a ‘flow’ of stock market data.
Deeper understanding or recommendations that result from data analysis.
We're collecting a lot of customer behavior data, but now we need to analyze it to get insights that will help us serve them better.
A centralized repository containing large amounts of assorted data with the intention of storing it all in one place until you have a use for it. For example, Facebook's 'Social Graph' is a data lake that collects and cross-references all data generated by every user for future analysis.
We haven't fully built out our data analysis capabilities so we're just collecting everything in a data lake for now to make sure we don't dispose of data that might be useful later.
A digital space designed for parties to buy, sell, and lease data to each other, including both broad and highly-focused datasets. For example, on Amazon Web Services' marketplace, users can source and sell data on COVID-19, real estate, satellite imagery, healthcare claims, traffic, and many other topics.
I'm not sure it makes sense for us to try to acquire all the data we need for our research directly. Maybe we should see if there's a data marketplace where we could buy some datasets to use?
A combination of data coming from multiple different sources and merging into the same repository.
The incoming data may look like one big data river, but it's actually a combination of data streams from social media, retail locations, and our website.
The concept that data should be subject to the laws of the country in which is it collected, stored, and processed while it is within that country.
Êurope's GDPR legislation and the California Consumer Privacy Act are both examples of Data Sovereignty laws.
A classification system for your data that allows you to assign specific categories to each record within your dataset. A well-designed taxonomy helps you and your organization rigorously track what data you have, or could have, and also helps organize your metadata.
Before we had a clear data taxonomy, we had so many redundancies and gaps in our data catalog. Now that the categories and tags are standardized, it's much easier to know what data we have and what we still need to collect.
Breaking down a complex problem into several simpler problems.
To enable a navigation app to complete a task like showing me how to get to work, the job needs to be decomposed into smaller steps such as determining journey start and end points, finding an efficient route between the two, and tracking my car as I drive to make sure I'm following the right route.
A human-centered approach to innovation that focuses on understanding the problems and goals of potential customers or users as a method of defining and testing new product ideas.
We use design thinking methods, such as user observation and empathy experiences, to ensure that we solve real problems for real people, rather than just spending our time making products that we want to make.
A software development methodology that allows companies to produce, release, and monitor iterative software updates on vastly reduced timetables, compared to traditional software development.
We want to be able to keep improving our software product quickly and easily after it is released, so we're going to use a DevOps approach.
Development Security Operations or DevSecOps is the practice of involving security and compliance departments in the early stages of software development.
Without good DevSecOps, there's a risk our product may not be as secure enough to keep our customers' data safe. This would be a huge liability for the company.
An acronym for End User License Agreement.
A contract outlining the terms and conditions that a user must agree to in order to use a specific app or digital service.
I know I probably should read all the fine print in a EULA, but I usually just click 'agree' so I can move on to using the app.
A mechanism by which a system uses the 'outputs' of its activities as 'inputs' that trigger changes in itself. In a human context, this could be customer satisfaction data that is captured and used to guide product updates. A digital thermostat that uses sensor data to tell the heater or air conditioner when to turn off and on is an everyday example of an automated feedback loop.
We should include a feedback loop in our shopping app so it can make smarter product recommendations based on what a user has bought in the past.
Something directly and intentionally measured in a standardized way, often used in reference to financial data like stock performance or annual revenue.
The fundamental data collected by my Smartwatch includes my heart rate, steps walked, and the time I fall asleep.
Software and hardware technologies that organize, store, use and transmit digital information or data. "IT" can also be shorthand for the teams and departments who build and maintain digital technology within an organization.
IT used to mean the people I'd call when my work computer froze up, but now information technology is part of most of my company's products and customer interactions too.
The ethical practice of taking steps to ensure that users know where and how their data will be used, and what this might mean for them in the future, before they give consent for that data to be collected.
Sure we have an end user license agreement that our users must accept before logging in, but since most people just click accept without reading the fine print I don't think we should count that as informed consent.
Applying the concept of open-source software to proprietary software, meaning only those inside the business can edit it, but that authority is shared between product teams or departments.
Several teams are working on that - we've innersourced it to keep things amicable.
The ability for devices to share data and communicate with one another and with human users through an internet connection. Commonly used to refer to 'smart home' devices or sensor networks.
The Internet of Things makes it possible for my phone to automatically tell the heater and lights to turn on at my house when I'm on my way home from work.
A method of tracking specific problems—such as bugs, security, or missed user expectations—as service 'tickets' with a case history, associated user or stakeholder contacts, prioritization, and plans for resolution.
The call center representative listened to the user's problems and suggested a few fixes, but when they did not work, she created a ticket to ensure the problem will get solved.
A software development approach that emphasizes efficiency by creating Minimum Viable Products for testing and iteration, instead of trying to create a perfect product before users try it out.
Using a lean development approach, we were able to get an MVP to market much sooner, and we can use the feedback to improve it for use in the real world.
Specific data points about an individual. Common examples include location, time and duration of logins on various devices, shopping and purchase activity, or preference settings in apps.
Little data sometimes includes specialized tools that build a profile, called a social graph, that represents and organizes the many facets of a persons identity, behavior, and social networks.
I like what my iPhone can do with my little data, like the graphs in my health app that show my sleep patterns and exercise activity, but I'm not very comfortable with the idea of anyone else having access to that kind of detail about my life.
A type of artificial intelligence technology that uses evolving data and pattern recognition to improve its functions without being re-programmed or directed by a human user. For example, a machine learning software that predicts which loan customers are more likely to make their loan payments on time could use new data about incoming payment dates each month to improve its predictions and become more accurate over time.
We may not be able to program this software to know how to respond to every situation, but at least any surprises will tell the machine learning algorithm what to watch out for in the future.
A document that details any market conditions that are relevant to a product, including information about customers and what specific problems a product will solve for them.
The MRD helped us understand what our potential customers expect and what they will need to accomplish. Without it, we wouldn't know if we are making relevant and useful software, because our software developers cannot always directly observe and interview users.
Data about another piece of data, used to understand, sort, and validate datasets to increase their usefulness. Common examples of metadata include the send and receive dates of emails, the unique address of a server, or info about which app was used to post a particular message to Twitter.
Make sure we're capturing the time, date and location info for all these event recordings, since we'll need that metadata later.
Single-function services, designed to be interoperable with each other on a pick-and-choose basis, offering a fully customizable approach instead of a full suite of tools and functionality from a single provider.
Amazon created AWS by breaking their Amazon.com website down into each individual function, then offering those functions to other businesses as microservices so they can select only the ones they need.
A single system designed to deal with all of a company's digital needs. It is often proprietary, static, and very difficult to adapt or update.
Before machines were designed to communicate with each other, many organizations developed systems with a monolithic architecture mindset to address all of a company's digital needs from one place.
A set of algorithms designed to help machines understand natural human speech. Siri, Google Assistant, and Alexa all rely heavily on natural language processing.
Thanks to advancements in NLP, I can type a question into Google using exactly the language I'd use with a friend and it still gives me good results. I remember when I used to have to word my searches way more carefully so the program could understand what I was looking for.
The phenomenon in which a network becomes exponentially more valuable as more nodes or connections are added to it, for example, people in a social network or train routes in a transit network.
Facebook, in itself, has little or no value without the network effect created by millions of users contributing content every day.
Software code that is available to and editable by an entire community of developers.
That code is open-source, so anyone can use it.
Identified similarities between decomposed elements, allowing them to be grouped together or processed in the same way.
The algorithm looks for patterns that can help it catalog the data appropriately.
Using data, statistical algorithms, and machine learning to calculate the likelihood of future outcomes. This is different from traditional analytics which focus only on what happened in the past.
The department of transportation is using predictive analytics to identify times and locations that are at a high risk of flooding.
A bundle of resources and functions that solve a problem for a user or customer, even if it's not monetized or obviously separate from other components of an offering.
Apple's iCloud product offers data storage, online document editing, photo sharing, and other common functions to iOS and Mac OS users.
Product Management is the skill of balancing business goals with user needs to result in offerings that satisfy stakeholders and customers equally.
Our Product Managers make sure we're creating things that customers love, while still making a return on our investment.
A document that details what a specific product will be able to do in terms of key functions and features.
If you want to understand what the app will do when it's finished, check out the PRD.
The maturity level of a piece of software, such as alpha (limited functionality and low reliability), beta (near full functionality but limited reliability), or general availability (fully functional and reliable).
A new beta release of Apple's photo editing app is available to select testers, we should download it and see if it's stable enough to use yet.
A collection of instructions and necessary datasets for a computer to perform functions for a human or machine user. Also known as an app or application.
If I want to use my computer to make a new logo, I'm going to need to install a graphic design program.
A collection of instructions and necessary datasets for a computer to perform functions for a human or machine user. Also known as an app or application.
Programs, or Apps, are a combination of algorithms and datasets, designed to do a specific set of tasks in a particular order to fulfill a human need.
Testing and validating that software functions properly and securely. The term evolved from quality assurance—a step towards the end of the process—to quality assistance, which provides programmers with quality support throughout the development process.
The QA team found some pages that don't render correctly on iPad, we'll need to fix that before the beta launch.
Data that has not yet been manipulated, processed, or sorted. Raw data is rarely of use to humans.
The sensors are capturing a lot of data but it's still raw so only a robot can make any sense of it at the moment.
Also referred to as a 'retro', this is the period after a sprint is completed, where all those involved share feedback and learnings to improve the experience and efficiency of the next sprint.
Always keep a note of all the issues and challenges you faced during a sprint, as we can use them in the retro to learn how to make the process better next time.
A technology layer that enables a user to configure, monitor, and manage interactions between various microservices. As microservices are designed with interoperability in mind, users can often choose various options from many different providers to create a fully-customizable 'service mesh' that has all the functionality they require.
The service mesh of our online store connects no-code website development, inventory management, and payment microservices, each from different providers but working seamlessly via APIs.
Technology that is not managed or approved by a company's IT department but is nonetheless used by employees to do their work.
I copied all of that into a Google Doc so we could work on it together. It'll be much quicker, just don't tell anyone we're using Shadow IT.
An evolution of monolithic architecture where resources are consolidated into a central organization that serves 'internal clients' in the company.
Instead of having a different IT department for each business unit, our company is using a shared service model. So all the whole company's IT is managed by one team.
A set of digital tools and components provided by a company for use by third-party developers who want to make applications that are compatible with a specific platform or framework.
If we want people to make apps that work well on our system, we should assemble an SDK and release it as soon as possible.
The strategy and process for creating or updating computer programs taking into account every aspect of the software's use, including planning, deployment, and eventual retirement.
Some developers don't think about how they might eventually retire their products, and so have not fully considered the software development lifecycle.
A focused, accelerated work period for a team, intended to complete a substantial software development goal.
Once we finish this sprint, things will calm down a bit.
A short, informal, recurring meeting in which colleagues share current individual project statuses and make requests for support.
I think we need some help to troubleshoot this issue. Let's bring it up in standup tomorrow and see if anyone has capacity to work on it with us.
A shorthand for describing the effort and/or complexity of a task in a larger project.
The t-shirt size of the bug fix for capitalized text is an extra-small, but integrating 'sign in with google' is a size large.
An ever-increasing backlog of necessary technology upgrades, usually caused by postponing new technology additions for fear of disruption or cost.
With larger, older companies having decades of tech debt, it's no wonder that newer organizations can move and adapt more quickly to changing circumstances.
A set of tools used together, sometimes in a specific sequence, in order to perform a complex action or process.
Creating updates for our software products is so much faster and more reliable now that we use a toolchain to develop and test new versions before release.
A final phase of a software development process wherein users determine whether the software performs as intended and expected.
The team thought they were done with the 'save' dialog box until they got to UAT and found that it didn't show up on Android mobile devices.
The sum of all interactions a user could have with an app or other digital offering. Also can refer to the discipline of examining and working to improve the way that human users must interact with a digital tool or website to get value from it.
I stopped using that app because the user experience was terrible. I could never figure out how to get back to the menu, and it kept logging me out.
In the context of digital factories, velocity is a reflection of a team's ability to communicate efficiently. It refers to the speed at which the software can be adapted to changes in security environments, the needs of users, or business updates.
One of the best measurements of a digital factory's success is velocity.
A traditional, linear method of software development where each phase of the project cascades into the next, and all movement is in a single direction toward a 'finished' product that (hopefully) requires no updates or revisions.
We're using a waterfall approach for this app project, so we need to make sure we have all our features planned out before we start development.
A map of a website showing the interconnected structure of all of the pages, without any of the content. Primarily used for planning layout, content placement, and navigation through the site.
We wanted to see how all the pages on our website will be connected to each other before we placed the content, so we asked our developer to create a wireframe.