8,946 reputation
12038
bio website
location Melbourne, Australia
age 44
visits member for 2 years, 8 months
seen Feb 7 '13 at 13:27

By day, a mild-mannered software developer with a keen interest in those areas of computer science that deal with the psychology of human machine interaction, and how that affects the processes and principals which we apply to create useful software.

By night, I imagine I'm the coding rebel, defying all conventions and "sticking it" to "the man" while liberating the free-thinking and allegedly down-trodden cube rats that I resemble during the day!! Or, I have a vivid imagination and way too much time on my hands! ;-)

TechBlog
Blog
Opinion Blog
Twitter
about.me
LinkedIn


Jun
6
comment Is BDD actually writable by non-programmers?
@MattiSG FWIW, using a DSL and BDD is the system I myself use. Requirements are defined as Entity-Feature-Benefit statements, and followed up with a spec which extend initial requirements statements using AAA (I.e: Given-When-Then) statements... essentially scenario statements. The difficulty when attempting to decode free text is that without a DSL, you don't have an easy means to define an algorithm that can generate meaningful collection scenarios. My point was that using the tests as a starting point to generate scenarios is kind of backwards.
Jun
6
comment Is BDD actually writable by non-programmers?
@MattiSG ...whether enforcing language constraints is worth anything. This is a good question. Free-form descriptions are more expressive and natural to the writer, but result in rambling commentary that requires dissection in order to derive a useful spec. By defining formal 'rules' (aka a DSL) for writing requirements and specs, you have a common language that both customer and programmer can understand, limiting misunderstanding. If you get the descriptions right, they can be used verbatim as a template for your tests. Thus no need for complex tools to "generate" anything.
Jun
6
revised Is BDD actually writable by non-programmers?
some formatting, and modified a sentence I didn't like
Jun
5
comment Is unit testing development or testing?
I was about to write a similar answer. While unit testing should be in the domain of the software developer, giving the testing team a sense of the code coverage can help the testing team to understand and target specific areas that may require greater attention by the testers. It can also be a way to keep the developers on their game in terms of ensuring they account for as many edge cases as is cost effective to do so. This allows the testing team to not only validate the entirety of the system, but also to account for all of the stuff that might otherwise be seen as costly to test.
Jun
5
comment Is unit testing development or testing?
Excellent answer, however I don't agree that tests should be seen as an authoritative source of technical specifications. Tests should be a confirmation of specifications, but certainly not a replacement. That is not to say that I am advocating for a big up front spec either, but rather that I'm making the distinction that we apply tests to validate the things we know about the way in which a system should behave, rather than having the tests define the behaviour. A pedantic distinction perhaps, but important nonetheless.
Jun
5
answered Is BDD actually writable by non-programmers?
Jun
4
awarded  Nice Answer
Jun
2
answered Does a team of developers need a manager?
May
31
revised I can write code… but can't design well. Any suggestions?
Additional tags, and I feel that the edit improves the readability of the question somewhat.
May
31
awarded  Guru
May
31
comment Is there a viable alternative to the agile development methodology?
@Pierre303 Moderators have the trust of the community to authoritatively close questions if they feel it is warranted. Notice Yannis didn't delete however, allowing the community to correct if needed. I've joined 3 others and voted to reopen mainly because (sorry Yannis) I think that the reason for closing the question doesn't really match the question or answers as shown. Remember that the moderators are doing a difficult job, and spending their own time trying to manage this site for all of us. personally I think Yannis has been doing a great job so far :)
May
31
comment Is there a viable alternative to the agile development methodology?
@Ryathal I don't really see the connection you've made between the links you provided and this question. Perhaps you'd like to fire up a chat about this to discuss with those who are interested?
May
30
awarded  Guru
May
30
answered Is it acceptable that after reading a certain technology in a book, you put it in your resume as a skill?
May
29
awarded  Good Answer
May
29
awarded  Good Answer
May
29
awarded  Nice Answer
May
29
comment Is writing software in the absence of requirements a skill to possess or a situation I should avoid?
@BrianReindel I sometimes start with a combination Mind-Map/Binary-Tree of the customer's thoughts. I ask "What is the idea?", then use word association to see what each idea brings to the customer's mind. From there I build a picture of what the customer is thinking, and I start to define requirements from there. Each requirement evokes questions which need to be asked. Usually "Why" questions get me a better response than "What/How" questions, as they give the customer an opportunity to think beyond the basics. It's basically an art in using psychology to get the customer revealing needs.
May
29
answered Is writing software in the absence of requirements a skill to possess or a situation I should avoid?
May
28
comment I can write code… but can't design well. Any suggestions?
I thought that might be the case, however I felt it might be worth adding a counter to the implication that "any up-front design" is going to be potentially worse that something that is purely emergent. I do agree however that the way to build the necessary experience the OP is seeking is to worry less in the beginning about design and focus instead on writing well factored and clean code. :-)