As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm trying to find a good, simple introduction to domain driven design, but that is proving to be difficult.
The books I have looked at all share the same problems.
They are massive 300+ pages. I really wish this practice would change with computer books.
They shine in chapter 1, explaining the introductory and basic concepts. Then when it comes down to getting into the material they blaze through the advanced concepts with poor examples and little explanation, then jump to the next concept.
Am I asking too much when I ask is there a book for domain driven design under 300 pages that progresses at a constant pace?
I hate it when books spend so much time on the introductory concepts, yet don't bother explaining the more advanced stuff.
Update
The reason I want a sub 300 page book is because those 500+ page monsters have a lot of fluff in them and can't seem to get to the point (or skip it altogether).
Try this one - available online at InfoQ. On the plus side, it's free. On the downside, it might be too basic for you. If you want an introduction though, surely it's the basic concepts that you want to get to grips with first before delving into the advanced topics?
Domain Driven Design Quickly - 104 pages.
There's also another free download, DDD Step by Step - a really short introduction to DDD, only 34 pages.
(and the corresponding webpage Think DDD)
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I have been trying my hand at php for quite some time but dont think i have reached the level of expertise i desired.I started reading an ebook and writing down all the code examples present there on my own,which i think is inefficient.
My question is addressed to anyone who's an expert in any programming language.I just wanna know how do you guys do what you do so well,and as i mentioned in the title,what is the most efficient way to approach a new programming language so as to gain maximum from it making it an enriching experience.I love coding,have studied quite a few languages but left them all at intermediate levels after learning the basics and some advanced portions.
Wanna excel at php,so any tips would be really helpful from any of you highly skilled programmers on the website.
Thanks!
I find that the most useful thing to do when trying to learn in programming is just to work at it. Just looking and copying someone elses code isn't going to get you very far, you'll learn faster by trying to attempt something, and you're probably not going to succeed for a while, but keep working at it, fixing bugs as you go, and it'll just start to stick.
Also the php.net documentation is pretty fantastic, so just keep that open as you go.
In php, try to make a basic dynamic site, then work your way up.
The thing that takes you from intermediate to expert is a combination of: practice, reading other people's code, and understanding the language specification and libraries.
Once you are at intermediate level, your primary reference should be the language definition and library documentation, and for third party libraries, their documentation, and their code, as necessary.
You can also consult advance-level third party materials, and try to implement relatively advanced or fundamental programming concepts (e.g. continuations) in the language, to push your understanding.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
My company uses Jira for storing requirements, which are written in the form of User Stories ("As a ... I want ... So that...") with details in the subtasks ("Given ... when ... then...").
I write requirements, usually an iteration ahead of the developers.
I tend to draft my requirements in a word processor before putting them in Jira. I like the flexibility as I'm working out the best way to organize the information, jumping around from one story to another, using search & replace as I figure out the clearest wording, etc.
While a word processor outline is helpful for much of this, it's not so good at tracking issue links: dependencies & related requirements.
So, can anybody recommend a good tool for writing stories & tasks which allows me to diagram relationships as I write?
I've been thinking in terms of something which handles concept mapping (though not mind mapping, which is generally limited to 1 central concept). This is just for my personal authoring; I don't need a project management system.
Thanks in advance.
Update: After posting this, I started wondering about TiddlyWiki. That's not quite the right tool, given its linking methods, but seems the right direction... Does that vein spark any ideas?
What about a simple spreadsheet (like this one)? A spreadsheet is extremely powerful (to re/organize, filter, etc) and has always worked well for me (use indentation if required or a additional column for IDs of related stories).
We use a combination of spreadsheets and an internal Wiki for user stories. The spreadsheet holds the basic information, like ID, title, user role, priority and so on as well as a link to the Wiki page for this story.
The Wiki page then has all the information about the user story, a full description, acceptance criteria, design notes and so on.
If there are dependencies between stories these are included as links within the user story usually with a short note about what this dependency means (e.g. "This story assumes that story x has been completed" or "Y & Z are not part of this story, but of story X").
This is a pretty low-tech solution, and doesn't really support visual diagrams of relations. However, it has worked for us so far.
Perhaps this is overkill, but does Mingle by Thoughtworks do what you need?
(I am not actually a Mingle user, but this sounds like the sort of thing it would do.)
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
what is a good book to learn fractal programming? I am a programmer, I am looking at a book that will be more algorithmic than mathematical (at least not in the beginning chapters). Should teach me the basics of fractals and different ways to generate them.
You might find the electric sheep project interesting.
It's an open source, distributed programming project that generates fractal animations.
Scott Drave's original paper on the electric sheep algorithm is a nice introduction to the algorithm used, and it concentrates mostly on the algorithmic aspect of creating the fractal image:
http://flam3.com/flame.pdf
When trying to learn the Mandelbrot set, I found this link useful.
http://warp.povusers.org/Mandelbrot/
For more than just Mandlebrot stuff if you can get ahold of "The Science of Fractal Images". It's an old book now (I read it when it was first published in 1988) but it's full of bits and pieces to try out.
A "golden oldie" site is Fractint: http://en.wikipedia.org/wiki/Fractint. Fractint is 20 years old and pioneered some of the ethos in collaborative computing. Some of the algorithms needed to increase precision are not trivial and this group developed integer arithmetic to support fractals.
Worth visiting to get the feel if nothing else.
But also visit http://en.wikipedia.org/wiki/Fractal-generating_software. There's a huge variety.
Note that some fractals such as the Mandelbrot set are "pixel-based" while others such as the "Snowflake curve" can use vector graphics. You'll need both approaches.
Some links
Fractal Programming
Fractal Geometry
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
It seems Scrum and Agile tests/assertions are becoming popular this year. For example, Nokia test for Scrum. I don't think it is a good idea to have such tests at all. What do you think?
On the one hand, there are more and more people that claim they are agile, so such a test allows to sort out those in the line of "we're doing XP, we do not comment our code".
But how can we be sure people will understand the question the right way and not answer "well, we have iterations. We often have to extend them a bit to meet our committements, but we do have four weeks long iterations." ?
On the other hand, the link you provided in interesting as it's not the initial version, and it's backed by Jeff Sutherland.
The point is : you cannot sumarize a development methodology with eight questions. Therefore, IMHO, the test alone is interesting, if answered with a correct understanding of the question. It can be helpful for teams that wants to improve. I won't say the same thing for the results that are collected with this test.
This infoQ article says it in a better way: Simple checklists can provide a useful quick-and-dirty assessment. They won't tell you if the practices are actually delivering results.
I just quickly took the test and found that the questions were good questions to ask anyone who claims to be doing Scrum. I'd also ask questions such as:
Do you have an automated build process?
How often does it run?
What happens when the build breaks?
OTOH, a test like this is useful as a self assessment, but I would not 'rate' a team based on a test.
I see Nokia test usable for quick overview.
For further investigation I suggest to use more detailed Scrum Checklist by Henrik Kniberg which is helpfull for coaches and scrum masters to quickly identify gaps in most areas agile team does. Even there are 70 questions, team memebers answer yes/no. We were able to complete this survey in 20 minutes. Especially if you repeat it after few months, you probably will be surprised by answers of your team.
If you need to do deep analyses of agile implementation I suggest to use C*omparative Agilit*y assesment created by Mike Cohn. It helps in relative comparision of your company to the industry. We use it in an enterprise organization with immediate impact on the adaption process quality. Thanks to this is adaption process in this enterprise company much better
See more about Scrum Checklist and Comparative Agility here.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
Does anyone know of a decent UML standards guide?
My company currently relies on UML 2.0 (rightly or wrongly) to do the majority (read all) of their design work. I have been asked to come up with a draft 'best practice' guide to help other developers develop better models. The main problem I face is that Im slightly biased against UML... I feel that: if a diagram takes more than 5 mins to draw then its too complicated! Im looking for advice predominantly on what sort of standards I should be looking at. Also Im looking for an external source of information that can be used to balence out my irrational loathing of UML-heavy design and act as a 'sanitizer' for my suggestions.
Most of all Im looking to write a useful document rather than one that will sit moulding away in some obscure network directory.
Any ideas?
UML Distilled by Martin Fowler
Like Paul C, I recommend UML Distilled. It is primarily about UML, but it contains a lot of insight about design in general (although it insists a bit too much on index cards IMO), it is short, pleasant to read, and to the point.
I strongly recommend against UML in a Nutshell. It is the worst O'Reilly book I have: insanely dense, hard to read and meandering. Not worth the paper it is printed on.
We are not talking about a book that says how to use UML, but rather a style or standards guide of some sort. Enter, UML profiles... This can get you both the standardization and reduced complexity you are looking for. You can limit the relationships and elements which can be used. You can also require certain things. A large company may choose to focus on the assets and data movement and limit it's standardized diagrams to this view. However, a company making real-time software for tanks might focus on action or flow.
The whole point of UML is that it is not specific and useful for every kind of situation. Martin Fowler and Elements of style books will not reduce diagramming time and increase comprehension. You need standardized profiles or patterns for than. I have seen it work, to the point that the business can read them. Many tools allow you to create a profile which eases learning curve for the designers and reduces drawing time.
MDA Distilled (OMG Press) is a good book if you want to understand the concepts, but it is not needed.
Really, UML Profiles. You don't want a standard because your company or your need is different. A standard for Web Services does not work for real-time or financial services.
Buy everyone a copy of The Elements of UML 2.0 Style. Job done.
For a quick reference on how to compose individual UML diagrams, I heartily recommend The Elements of UML Style 2.0 and I put my money where my recommendation lies by purchasing the 2nd edition to replace my 1st ed.
Apart from this recommendation, I think the most important thing in a company when introducing any style guide is to have a local feedback mechanism where people can post comments on which aspects of the style guide work for them, especially when you're using an official printed guide. A wiki or similar casual repository should suffice for this.
I also suggest highlighting diagrams which were particularly good examples (or bad ones, if the team humor could take it). Consider a framed Diagram of the Week like the Employee of the Week you see in so many stores. That gives a gentle reminder that diagram readability is taken seriously but hopefully with enough fun to get more buy-in to the concept.
I know you probably want an easy to read book for this but from what you are describing I would suggest going with the specs found on OMG itself. They are a bit much to read but would be as complete as you could hope for. They also have lonks to articles and tutorials that may be helpful.
As far as books go I have found that Using UML is quite good since it tackles the software development process as well as the UML tools and methods.