Adam

The Agile Manifesto

by Adam on May 18, 2010

in Software Engineering

If you're new here, you may want to subscribe to my RSS feed. Or for more frequent updates you can follow me on Twitter. Thanks for visiting!

The agile manifesto is a set of 12 principles for developing software in an agile manner, somewhat similar to eXtreme Programming.

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity – the art of maximizing the amount of work not done – is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Shame their website is so ugly.

{ 1 comment }

eXtreme Programming (XP) is an agile development methodology developed by Kent Beck et al. It emphasises the human aspect of software development and how issues such as respect, trust and communication are key issues along with purely technical aspects of software development.

It is agile in the sense that Beck is strongly against giant requirement documents and the waterfall model of software development in general, preferring to build the simplest system that solves the current customers problems, and iterating from there with rapid (weekly/monthly) feedback loops.

The core ideology of XP is explained in a series of complementary values, principles and practices.

[continue reading…]

{ 2 comments }

Deductive Reasoning Agents

May 7, 2010

A deductive reasoning agent is one that contains an explicitily represented, symbolic model of the world. It then makes decisions via symbolic reasoning. Limitations When building an agent this way there are two key problems that have to be solved. The Transduction Problem This is the problem of translating the real world into accurate, adequate [...]

Read the full article →

Agent Tasks

May 3, 2010

After defining some basic concepts related to agent architecture it is important that we understand how to provide agents with the means to complete tasks. We want agents to be able to complete the tasks we specify but without us having to tell them how to complete the task.

Read the full article →

Agent Architecture

May 3, 2010

Following on from our introduction to agents it’s important to understand the architecture of agents. Abstract Architecture Environment We assume the environment may be in any of a finate set of discrete, instantaneous states, defined as: E = {e,e,,…}. Actions Agents are assumed to have a repertoire of possible actions: Ac = {α,α,,…}. Run A [...]

Read the full article →

What is an Agent?

April 29, 2010

An agent is a computer system that is capable of independent action on behalf its user/owner (figuring out what to be done to satisfy design objectives, not constantly being told). The main idea behind agents is the idea that they are autonomous: they are able act independently, exhibiting control over their internal state. Definition An [...]

Read the full article →

Project Management for Adults – Why bother with Risk Managament?

April 25, 2010

If a project has no risk, don’t do it! Risks and benefits always go hand in hand. A Risk Metaphor Imagine your company, and your competitors as a set of down escalators. You are obliged to climb the escalator. If you pause, even for a second, you will begin to fall behind. Whoever, reaches the [...]

Read the full article →

TextMate Micro-Blog

April 25, 2010

I’ve started a new micro-blog for sharing tips and links about the Mac text editor, TextMate. I use it as my primary text editor but I’m far from an expert, which is not ideal. As per the Pragmatic Programmer, I feel I should be able to use it fully, employing its advanced features. So, as [...]

Read the full article →

Floyd-Hoare Logic

April 25, 2010

Floyd-Hoare Logic is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programmes. The central feature is the Hoare triple. Hoare Triples A Hoare triple {P} C {Q} is a formula. P, Q are fomulae in a base logic (e.g. full predicate logic etc.) and C is [...]

Read the full article →

A Simple Assertion Language for Formal Verification

April 21, 2010

Following on from our introduction of the basic concepts required to start to understand formal verification, we shall define a simple assertion language. An assertion is a logic formula describing a set of states with some “interesting” property. Also, recall that States = Stacks x Heaps, so an assertion can refer to both stack and [...]

Read the full article →