Ubiquitous language: Word of the day

November 4th, 2009 | by | technology

Nov
04

Ubiquitous language is a common language used by both the Domain experts/Business analysts and the Developers to easily communicate across the whole team while avoiding any miscommunication. Ubiquitous language is the heart of Domain Driven Design (DDD). It is a simple domain specific language and highly readable, used in all forms of communications including the code, diagrams, design documents, etc. Ubiquitous language should be able to explain all concepts of that domain, and can explain new terms using already understood terms.

More info: Subtleties of Ubiquitous Language

No Comments »

Stovepipe system: Word of the day

November 4th, 2009 | by | technology

Nov
04

Stovepipes are “systems procured and developed to solve a specific problem, characterized by a limited focus and functionality, and containing data that cannot be easily shared with other systems.” (definition by DOE 1999). Stovepipe system is a legacy system that is an assemblage of inter-related elements that are so tightly bound together that the individual elements cannot be differentiated, upgraded or refactored. Stovepipe systems are isolated islands of information, which can’t be easily connected to other system for easy sharing of information and increased system efficiency. Complex interfaces, tightly coupled systems, insufficient knowledge about a domain while designing the software, Or, the choice to use a vendor’s product and subsequent Vendor Lock-in can lead to Stovepipe Systems.

Analogy: Like the CBI, Raw, Military Intelligence, etc. all are government stovepipe systems, with little or no information sharing regarding terrorists and their attack plans, making the country safe heaven for terrorists.

More Info: sourcemaking.com

No Comments »

Spike solution: Word of the day

November 4th, 2009 | by | technology

Nov
04

“A spike solution is a prototype, working code that explores a possibility or solves key functionality of a specific project requirement, thus reducing the overall risk associated with the project.”

A spike solution is a very simple program to explore potential solutions. It is a focused effort in solving a key project requirement. Build a system which only addresses the problem under examination and ignore all other concerns. Most spikes are not good enough to keep, so expect to throw it away. The goal is reducing the risk of a technical problem or increase the reliability of a user story’s estimate.

Spike solutions is one of the Extreme Programming rules and practices.

No Comments »

Retrospective: Word of the day

November 4th, 2009 | by | technology

Nov
04

The term is also used in software engineering, where a retrospective is a meeting held by a project team at the end of a project or process (often after an iteration) to discuss what was successful about the project or time period covered by that retrospective, what could be improved, and how to incorporate the successes and improvements in future iterations or projects.

In agile development retrospectives play a very important role in iterative and incremental development. At the end of every iteration a retrospective is held to look for ways to improve the process for the next iteration.

No Comments »

Slack: Word of the day

November 4th, 2009 | by | technology

Nov
04

In project management, float or slack is the amount of time that a task in a project network can be delayed without causing a delay to:

  • subsequent tasks (free float)
  • project completion date (total float)

An activity that has a total float equal to zero is said to be a ‘critical activity’, which means that a delay in the finish time of this activity will cause the entire project to be delayed by the same amount of time. A critical activity typically has free float equal to zero, but an activity that has zero free float may not be on the critical path.

No Comments »