Closed timm closed 8 years ago
Inductive Software Engineering: What we do IS Different
https://github.com/ds4se/chapters/blob/master/menzies/inductiveManifesto.md
The article provides seven principles of inductive software engineering, which focuses on delivering data-mining based software applications to users.
I found the language to be accessible. There's some nice conversational-style use of language ("That whole inductive manifesto is a little long"), which helps with the flow of the article --- and it's not overdone.
In the first section, "Different and Important", I wasn't super clear on what it is that inductive software engineering is different from. Is the contrast between industrial practitioners (who focus on users) and academics (who focused on algorithms) the difference? Or is it more in terms of SE versus other disciplines? If so, how is it different? The introduction starts with how "Induction-for-SE is different to induction in other fields," but at this point I don't feel like I even know what induction means, let alone that it is something that is done in other fields. Some more hand-holding here would be appreciated, please -- otherwise, when I hear the word induction my first thought is to scary discrete math subjects!
The last paragraph of "Different and Important" might offer a small bit of sign-posting to let me know that I'm about to see several principles ("so here we offer a summary of seven key principles." or something to that effect). Actually, I was left wondering what it was that was being summarized -- did the original manifesto have seven principles also, and you're just condensing them, or is this just taking some subset of the original manifesto?
The breakdown in terms of principles was nice, and in general, easy to digest. There's some inconsistency in that some of the principles are verb-style principles ("Plan for scale") whereas others are not ("Smart Learning").
I didn't quite get the transition from Principle #5 ("Smart Learning") to Principle #6 ("Live with the data you have"). The paragraph starts with "One way to do smart learning, that was not listed above [...]," which seems awkward. Probably fixed just by removing this whole sentence and starting it with "In our experience, we can only ...".
The principles, for the most part, were the right length. I felt that Principle #2 was disproportionately long compared to the other principles. My feeling is that the CRANE story could be condensed into something that is a simple paragraph. The whole "the way it started was not the way it ended" sections I thought were a little too detailed for this type of article. Also the conclusion of this principle was not what I expected -- it seemed like the take-away was that you need to have larger teams, which seemed at odds to some extent with the initial message of automation or minimizing point-and-click analysis?
Principle #5 has some items that I don't think are at the appropriate level of abstraction; the last two bullet points about the mean are so low-level that it doesn't seem to fit with the higher-level take-away. You might consider removing them.
The mantra as stated is that the Inductive Software Engineering is different. I think if that's true each principle will want to tie back to this paradigm difference. That is, for each principle, what is the difference that this principle has in IS that is different from other disciplines. That would let the "Different and Important" narrative flow throughout the article.
One idea is that the title should explicitly point out the principles: "Seven Principles of Inductive Software Engineering: What we do IS Different."
I like the "thou shalt not click" sub-principle. I would definitely keep that. The use of bullet-points was good, with some exceptions indicated earlier. In general, I would also keep the seven principles break-down: it makes it easier to digest the article in small chunks this way.
Review by @andreas-zeller (from #121)
Inductive Software Engineering: What we do IS Different
https://github.com/ds4se/chapters/blob/master/menzies/inductiveManifesto.md
What is the chapter's clear and approachable take away message?
Read the inductive software engineering manifesto (or don't, now that you have the summary)
Is the chapters written for a generalist audience (no excessive use of technical terminology) with a minimum of diagrams and references? How can it be made more accessible to generalist?
The summary of the inductive SE manifesto is great. I won't comment on the manifesto itself, because if you change things, it wouldn't be a summary anymore, but as a summary, it works well.
Is the chapter the right length? Should anything missing be added? Can anything superfluous be removed (e.g. by deleting some section that does not work so well or by using less jargon, less formulae, lees diagrams, less references).? What are the aspects of the chapter that authors SHOULD change?
I was not too happy with the introduction -- it starts with name-dropping, which gives it an insider-only flavor. I would prefer a motivation stating why a term like "inductive SE" would be needed, or how it would delineate itself from, say, empirical SE. Also, it wouldn't hurt to define the term "induction" before using it -- yes, I know what induction means in this context, but again, there's a lost chance to delineate the inductive approach to SE from, say, the deductive approach. In that sense, the chapter does not really deliver (yet) on the promise given in the title, but could easily do so by positioning "inductive SE" clearly with respect to alternatives.
We encouraged (but did not require) the chapter title to be a mantra or something cute/catchy, i.e., some slogan reflecting best practice for data science for SE? If you have suggestion for a better title, please put them here.
Inductive SE is way cool.
What are the best points of the chapter that the authors should NOT change?
All from "Principle #1".
@timm Please take a look at the reviews and prepare a new version by January 13. Both reviews offer great advice on how to make the chapter stronger.
@tzimmermsr revised and recommitted. Many cuts (including the name dropping at the top and making #2 shorter). And numerous typo fixes.
@timm Can you please clarify in the chapter what you mean as "user". It's an overloaded term and I'd like to avoid any confusion with the "user" who uses the software. When someone thinks of the end-user, the first principle makes little sense.
@tzimmermsr : please check. "users" is used less. know i say "business problem owners" or "subject matter experts"
@tzimmermsr waht do i tell publisher? good to go?
Good to Go!
After review, relabel to 'reviewTwo'. After second review, relabel to 'EditorsComment'.