Software Craftsmanship

Agile Engineering

Implementing fully tested, cleanly designed software solutions.
140 Cohorts
4 Active this week
16 Resources
Individually selected
Flexible Schedule
Invest 20 minutes a day
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.

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.

Domains in this track

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

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.

Related Resources

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.

Related Resources

Problem Solving

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

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.

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.

Upcoming Events
Programs