Where can I find good Domain Driven Design resources? [closed] - domain-driven-design

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
What are the best places to find out everything there is to know about Domain-Driven Design, from beginner to advanced.
Books
Websites
Mailing lists
User groups
Conferences
etc

Here are some interesting sources:
the DDD book by Eric Evans
the free DDD Quickly book
the DDD newsgroup

Wikipedia has some useful information, especially its summary of how DDD relates to other approaches.
http://en.wikipedia.org/wiki/Domain-driven_design
It also links to two presentations by Eric Evans
http://www.infoq.com/presentations/model-to-work-evans
http://www.infoq.com/presentations/strategic-design-evans

This article is a good introduction on how to do DDD in practice.

Maybe read the book Domain Driven Design?

I recommend Domain Driven Design from Eric Evans, it's a great book on the subject.

Here are some informative sources:
An interview with Eric Evans on Software Engineering Radio
A book which applies the principles of DDD using an example in C#
A podcast on Getting Started With Domain-Driven Design by Rob Conery
A conversation between Scott Hanselman and Rob Conery on Learning DDD.

Late answer, perhaps :) however, in case anyone is still interested, I found some very useful information and considerations on DDD on Epic.NET project site.

Applying Domain-Driven Design and Patterns is a very good book on the subject. Lots of good examples as well as discussion of related subjects like test driven development and how they apply.
Also check out domaindrivendesign.org.

Casey Charlton has created a new DDD resource site at http://dddstepbystep.com/. It is a great reference site and has lots of info for DDD newbies and experts alike.

Related

Agile Environment/Teams [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
I am trying to understand the concept of Agile. I have been reading up on Agile methodologies but keep seeing terms like Agile environment, and Agile Teams.
I thought Agile was just a methodology, but I'm not sure what is an agile environment and that agile teams actually exist!?
Think of Agile environment as the frame of a puzzle: you are given the framework and there are plenty of pieces able to be used in order to achieve your goal! Not necessarily all the pieces are to be used...
Agile Team is usually a team working in an Agile environment. Different methodologies (XP, Scrum etc) define different types of teams, of different sizes (project dependent) and so on.
The easiest way to understand Agile is to see it as the most flexible environment in which YOU need to self-organize and assume responsibility for your acts.
Once you start practicing agility in a business, especially if you have a good guide, you won't give it up ever - 'practice' is here the key word!
A summary of agile methodologies is not wasted the time with a bureaucracy process of the steps of a life cycle. Instead of a long process the agile methodologies are more flexible and they focus on the code.
Nowadays more software companies join to the agile methodogy because they can be more efficient.
You can find more information about the practices, here:
List of agile best practices
Agile is an approach to development that follows certain principles, such as responding to change over following a plan.
An agile team is one that is following the agile approach to development.
An agile environment is one where many people are following the agile approach to development and as a result the environment reflects that approach.
If you are asking not just personally for you but for introducing Agile in your team or a company, you may find this interview useful: http://goo.gl/qYDjR3
This is a Q&A with the founder of Targetprocess who started to apply the Agile methodology in 2004 and who describes the stages Targetprocess went through, how they instil an Agile culture and enable self-organizing teams, trust and obsession with learning in software development teams.
Agile is a methodology that grew from the Agile Manifesto. Everyone seems to have a different approach or theory about Agile and new buzz terms keep springing up. I have always found in companies that I work for that Agile is great in theory, but bad in practice. It gets confusing very quickly and when it isn't successful, people will just say that you are doing it wrong. What you need is a methodology that learns from Agile but doesn't include it's limitations. Digital Animal have established a methodology that they use that does just this, they wrote an article explaining it here: http://digitalanimal.com/blog/slaying-the-agile-dragon-the-game-of-thrones-methodology/

Issue applying agile methodologies [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
When using an agile methodology on a team programming project, what should be done when several people needs to work in something that is to be used by everyone. For example, There is a User entity, and two people have to do requirements that need to use that entity. So, first an skeleton is created and then the activities are assigned? or what is the procedure in these cases.
And second, Is it possible to find information that addresses this kind of issues that can occur when applying such methodologies?
Thanks
The best thing about Scrum, is that it is an amazing tool for identifying bad practices. This is one of the cases. An agile team should be working with as many hands as possible, on the same requirement (requirement, feature, user story - same thing). The division of work between members should be based on the tasks needed to complete the requirement, no the requirements themselves.
Each task would be defined based on the modifications that need to be made to a certain component. Doing that will not only make the problem go away (nobody's working on the same code), but will unite the team members' efforts, and make them function as a real team, rather than a disparate group of individuals that happen to share a room and a manager.
As for official information on the subject, I can suggest reading any book about Scrum, but you might want to focus on the following sites:
Introduction to Scrum
Mike Cohn's Blog
Scrum.org
A few great books:
Succeeding with Scrum - Mike Cohn
Free ebook - Scrum & XP from the Trenches - Henrik Kniberg
And finally, if you pardon the shameless plug, you can check out my blog - I have a few posts on this subject (such as this one) and others from my experience about implementing agile methods in software teams.

Where could I find some UML samples? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I need a punch of samples of UML diagrams to get an start point to develop my own diagrams.
Does anyone know about a good website where I could find it?
Thanks!
The best resource for learning UML is Martin Fowler's "UML Distilled". Now in its third edition, this thin gem has stood the test of time.
I've found Agile Modeling to be a good resource for samples, and +1 for UML Distilled.
Here you can find a good bunch of described examples:
http://it.toolbox.com/blogs/enterprise-solutions/using-the-uml-a-live-example-21114
by the way it would be useful to know which kind of UML diagrams are you interested in, just to narrow your search.
You could do a google image search for UML ti would give you lots of examples of other peoples diagrams
wikipedia also has a good article on the different types of UML diagrams
If you would like UML for design patterns a good place to look would be Dofactory. Also I found one by a Etsi.org
This page on wikipedia gives an overview of the different components of UML and how they are used...
The Sparx web site as a UML Tutorial; see also here and here.

Getting started with Constraint Programming [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Looking for tips, tutorials, books and other resources to get started with Constraint Programming.
There is a lot of excellent material available on the web once you get in the groove, but the links below are (IMO) good starting points (the ones I used).
Programming with Constraints: An Introduction - (Course website)
Programming with Constraints: An Introduction - (Google book)
Online Guide to Constraint Programming
Constraint Handling Rules (CHR) is a language to develop own (problem specific) constraint solvers. Check this:
CHR Homepage
There you find links to
WebCHR Online Demo (originally developed at LMU Munich, now beautified at Uni Ulm)
Several implementations for Prolog (naturally) and Haskell, as well as a (unfortunately unmaintained) prototype for Java (JCK).
There is also a JavaScript implementation of CHR: http://chrjs.net (https://github.com/fnogatz/CHR.js)
Maybe you can have a look at an introductory course thought at the Saarland University about constraint programming. They do not use mozart as dr_pepper said but Gecode. Gecode is a follow-up language of mozart, implemented partly by the same people.
I recommend getting started with mozart. It is an open-source constraint programming language and the site has plenty of documentation that will get you started.
Here is another link to a course website on Constraint Programming.
Earlier the course used Mozart/Oz for the assingments but it has now been replaced by Gecode.
I suggest you look further in the following website on constraint programming maintaned by Håkan Kjellerstrand (a.k.a Hakank) at Hakank's Homepage
Microsoft's Solver Foundation has some easy-to-understand examples.
The handbook of constraint programming is well thought of.
In trivia, my supervisor from fourth year university (which was a while ago now) is referenced there. :)
If you're a Java programmer, I recommend using Cream: Class Library for Constraint Programming

Companies doing Domain driven design [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I've just finished reading Domain Driven Design and I'm enchanted with some of the ideas covered in it. Do you know any companies that implement ubiquitous language in their projects?
This is an indirect answer. You could find such projects by looking at software development companies who apply domain-driven design practices and seeing who their clients are.
Three such companies are:
Domain Language - at which Eric Evans works, he wrote the Domain Driven Design book
Factor10 - at which Jimmy Nilsson works, he wrote "Applying Domain-Driven Design and Patterns"
OmegaPoint - employee Dan Bergh Johnsson has given a number of talks on DDD
The Domain Driven Design Yahoo Group may be a better place to find an answer to your question.
The Norwegian Oil and gas company Statoil uses it.
The company I work for uses Domain-Driven Design to its fullest and after a few very successful projects, we're sticking with the design philosophy.
The company is Hint Innovation, we are a relatively new company so the website is not done yet, but it should be by January, you might want to check back then.
I don't know of any other company that uses the Domain-Driven Design approach for all of their projects.
We've been using DDD at Earnware Corporation for the last 2 years. Since we've been around for 10+ years, we employ the "anti-corruption layer" pattern quite a bit to talk to legacy systems.
DDD means a lot of things, but it also is something you can start doing right away with the next function you write (http://www.agileatwork.com/domain-driven-design-in-the-small/). It's about closing the gap between business concepts and your code so that your code can bend in the right spots. The patterns like unit of work and specification help accomplish that end result.
Chillisoft has been doing Domain Driven Design for 10 years and have more recently developed Habanero an Enterprise Application Developement Framework that incorporporates many of the principles of Domain Driven Design and the many lessons learnt over the years.

Resources