Software Craftsmanship

Agile Engineering

Implementing fully tested, cleanly designed software solutions.
Flexible Schedule
Invest 20 minutes a day
0 Credentials
Accredited by ICAgile
28 Cohorts
4 Active this week
The Agile Engineering track focuses on helping developers embrace the agile mindset as it relates to software engineering, with an emphasis on simplicity and architecting for a low cost of change. The goal is to implement fully tested, cleanly designed software solutions that are easily adaptable and architected to maximize business value. This track explores how to inspect and adapt code efficiently and effectively while doing the right level of design at the right time within the development cycle. Cohorts look for ways to write high-quality code that is easily understood, changed, and maintained, while creating a system that is test-driven, or uses a “test-first” approach. They also look for ways to structure work in a more agile manner to respond to customer goals and lower technical risk - enabling a code base that can accommodate new insights, product changes, and technical innovations.

Domains in this track

Target Audience

Software Developers, Application Programmers, Systems Designers, Technical Architects, Development Managers, Technical Team Leads, and anyone that either would like to increase their agile programming knowledge or are involved in technical design and development.

Decision Making

Decision making is the process of making choices by identifying a decision, gathering information, and assessing alternative resolutions. Using a step-by-step decision-making process can help you make more deliberate, thoughtful decisions by organizing relevant information and defining alternatives. Every decision-making process produces a final choice, which may or may not prompt action.

Related Practices

Software Development

Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

Related Resources Show Summaries

Sensemaking

Sensemaking is literally the act of making sense of an environment, achieved by organizing sense data until the environment “becomes sensible” or is understood well enough to enable reasonable decisions. Organized, Sensible, Understood, and Reasonable - this is the language that characterizes the information environment after good sensemaking has occurred.

Related Resources

Software Architecture

Software architecture refers to the fundamental structures of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. The architecture of a software system is a metaphor, analogous to the architecture of a building. It functions as a blueprint for the system and the developing project, laying out the tasks necessary to be executed by the design teams.

Reasoning

Reasoning is associated with the acts of thinking and cognition, and involves using one's intellect. Like habit or intuition, is one of the ways by which thinking moves from one idea to a related idea, or to produce logically valid arguments. Reasoning is the means by which rational individuals understand sensory information from their environments, and conceptualize abstract dichotomies such as cause and effect, truth and falsehood, or ideas regarding notions of good or evil.

Logic

Logic comes from the greek word "logik?", which means "possessed of reason, intellectual, dialectical, argumentative". It is the systematic study of valid rules of inference, i.e. the relations that lead to the acceptance of one proposition (the conclusion) on the basis of a set of other propositions (premises). Logic includes the classification of arguments; the systematic exposition of the logical forms; the validity and soundness of deductive reasoning; the strength of inductive reasoning; the study of formal proofs and inference (including paradoxes and fallacies); and the study of syntax and semantics.

Problem Solving

The act of defining a problem and determining its cause; identifying, prioritizing, and selecting alternative courses of action; and implementing a solution.

Security Management

Artificial Intelligence

Artificial Intelligence is said to exist in any device that perceives its environment and takes actions that maximize its chance of successfully achieving its goals. The term is often used to describe machines (or computers) that mimic "cognitive" functions that humans associate with the human mind, such as "learning" and "problem solving". As machines become increasingly capable, tasks considered to require "intelligence" are often removed from the definition of AI. The traditional problems (or goals) of AI research include reasoning, knowledge representation, planning, learning, natural language processing, perception and the ability to move and manipulate objects.

Release and Deployment

The main purpose of the release and deployment management is planning, scheduling and controlling of the build, testing and deployment of releases and delivering the new functionality which is required by the businesses and at the same time, protecting the integrity of the services.

Upcoming Events