Aspire Product Backlog

Midterm Review sprint (deadline: 8 December 2013; 5 weeks)

Items identified by the review panel or other audience members at the mid-term review rehearsal are identified by “*“.

Effort estimates have the following meanings:

EASY
less than an hour of effort. MODERATE
less than a day of effort. DIFFICULT
a full day or more.

  1. DONE Create a demo video for review rehearsal. DIFFICULT.

  2. DONE *Highlight most recently recommended pattern. DIFFICULT.

    Once more than a handful of patterns are highlighted on the Feature Model, it becomes difficult so see which new patterns are recommended in response to new answers. Making the most recent recommendations a different color (say, blue rather than green) would make it easier to see the progression of the consultation-recommendation cycle.

    This is not easy because Aspire’s inferences are stateless: the inference engine recalculates recommendations each time a fact is submitted or page refreshed. This makes the implementation easier and more reliable but means that it’s not possible to distinguish new recommendations from old.

    *Solution: save last session’s recommendations along with facts so new recommendations from current sesion can be detected."

  3. Capture remaining 14 patterns. MODERATE.

    This is not technically difficult but is time consuming.

  4. DONE *Remove summary stats from AdvisorSummary page. EASY.

    Consensus was that, on the surface, 40+ patterns is not impressive.

  5. DONE *Make hierarchy of evidence strength clear. EASY.

    The hierarchy is:

    • Very strong: multiple case studies, statistically valid survey, or rigorous systematic literature review.
    • Valid: rigorous case study.
    • Anecdotal: experience report.
    • Hypothetical: not yet validated.

    Solution: Explain this during presentation of first pattern.

  6. DONE *Add an overview of Aspire’s purpose to the advisor page sequence. MODERATE.

    Vinny Cahill suggested that the “patternization” of Lero Methodologies and Standards research is a potentially significant research contribution that extends Aspire’s value beyond a simple demonstrator. This is not clear in the current presentation.

    Brendan’s earlier suggestion:

    “In the presentation and in the demo, the key starting point is that Aspire is all about communicating the outcomes from a whole body of research into software development processes. That needs to be stated as clearly as possible in the posters, the slides, the website. It didn’t come across clearly enough to me.”

    Note: this comment applies to the poster, not Aspire.

    I think this involves replacing the current architecture diagram and description with a niew picture that makes the source and purpose of patterns clear.

    Solution: talk about need for patterns and go over a single pattern in-depth before starting consultation.

  7. DONE Color feature names according to project. MODERATE.

    It’s not clear from the Feature Model which project submitted which patterns, so the cross-project integration that we’re supposed to demonstrate only becomes apparent after we see a number of actual patterns.

    A fix would be to color the feature model names according to the project that submitted the pattern.

    This information is already available so it’s just a matter of adding another coloring to the prolog graph generator.

  8. Add a project icon to the pattern list view. MODERATE.

    This information is already available so it’s just a matter of finding appropriate icons and inserting them into the output.

    Might be easily realized with CSS and glyphicons.

  9. DONE *Remove underscores from Feature Model names. MODERATE.

    Ciaran Clissmann made a big deal of this. At the time I reacted rather strongly against this idea (note to self: lighten up) but I can see the benefit and it’s not really that difficult.

    Requires small modification to prolog graph generator.

  10. Increase type size of body text. MODERATE.

    The pattern body text is not readable from the back of the room where the review panel will sit. Current size is 16pt.

    Our mock panel didn’t think this was a problem.

  11. Make selected values human-friendly. DIFFICULT.

    Example: lifecycle phase should not be a number.

    This turns out to be more difficult than anticipated: it requires searching through the XML for a question to find the string that matches the answer value.

  12. Add description of “the over-arching aim or value proposition of Aspire” MODERATE

    to index page, per Kieran Conboy’s suggestion:

    “This should remain fixed and not part of slides. Something like ‘aspire provides an integrated analysis of ALPS, OPS, SPRTMDRC and PAISEAN to help companies address SE problems specific to the challenges they face and environment in which they develop software.’”

    This is not technically difficult, but requires some thought to get the wording right.

  13. Revise install/upgrade scripts to streamline upgrade of existing Aspire site. MODERATE.

    This is becoming increasingly important as more fine-grained enhancements are made: the current procedure is error-prone and so wastes time.

  14. Implement Aspire-specific CKEditor enhancements. DIFFICULT.

    Required for Pattern editing.

    The current CKEditor implementation works, but there are some glitches related to images and links that need to be fixed if we are to have a truly useful online editing capability.

  15. Create Pattern edit template. MODERATE.

    Required for “Harmonize pattern names” and “Edit pattern content to conform to pattern intent” below.

    Fortunately this was already started before the last sprint so should be straightforward to complete.

  16. *Harmonize pattern names. DIFFICULT.

    Ciaran Clissmann was quite critical of the pattern names, although I think he went too far in suggesting they should be phrased for a non-technical audience; I agree with Klaas’s observation that Aspire is a learning tool, and the meaning of pattern names like “Informed Customer Proxy” will become clear once you read the Pattern.

    I do, however, think we need to harmonize pattern names around some naming convention; per Ita’s suggestion, they should be verb noun-phrase, as in “Obey Conway’s law” or “Create bridging team”.

    This is not technically difficult if online Pattern editing capability is available; however, it does require each Pattern author to come up with a new name for his or her Patterns, and for Klaas to approve.

  17. *Edit pattern content to conform to pattern intent. DIFFICULT.

    Vinny Cahill suggested that the “patternization” of Lero Methodologies and Standards research is a potentially significant research contribution that extends Aspire’s value beyond a simple demonstrator. Also, Tom Acton observed that the Feature Model is, in effect, an Ontology that guides both patternization and presentation. As such, we should be emphasizing this aspect in the presentation.

    Unfortunately, there is great variability in the pattern content at present, particularly in the problem statement and analysis:

    • The Problem statement should be to the point and stated from a practioner’s point of view: “You need to reduce communication delays caused by cross-site dependencies among components allocated to different sites.”

    The Problem statement should be something that is easily translated into a rule:

    “num_sites > 1 AND cross_site_dependencies AND communication_delays”

    • The Analysis can provide background about why the problem might occur, what research led to its articulation, etc. Unfortunately many patterns include this information in the problem statement.

    • The Solution should be a list of short actions that a project manager can do to implement the solution.

    This is not technically difficult if the Pattern editing capability is implemented, but it does require each Pattern author to edit his or her pattern, and for Klaas to review and approve the results. Fortunately Aspire has both a discussion page for each pattern that can be used to record recommended changes and an RSS feed that can provide notifications of changes.

  18. Create ResearchNote edit template. EASY.
  19. *Remove left panel of wiki functions. DIFFICULT.

    Ciaran Clissmann strongly criticised this since none of these functions are used in the presentation. Brian also suggested during out pattern workshop that they be removed. On the other hand, Siobhan didn’t find them inappropriate given that Aspire is a tool (as opposed to a web site).

    These functions are needed for an in-depth demonstration and for editing content, so we can’t just remove them. They might be moved to a drop-down menu, but that would require hacking Bootstap’s javascript, hence DIFFICULT.

    A workaround could be to explain very briefly in the presentation that these are useful for editing and will be demonstrated during the lunchtime session.

  20. Add lifecycle phase to current patterns. DIFFICULT.

    This would enable automatic generation of rules to select patterns based on lifecycle phase.

    The difficulty comes from the need to have every pattern author specify (or at least, verify) the lifecycle phase for his or her pattern.

  21. Highlight entire path from root to leaf when a feature (pattern) is recommended. DIFFICULT.

    This is not so important now that we show the entire feature model on the consultation page.

  22. *Make Problem Analysis section collapsible. DIFFICULT.

    Ita observed that the Problem Analysis often fills a whole page, and so should be hidden behind a “read more” button.

    Unfortunately Pandoc markup doesn’t wrap whole sections so it’s difficult to insert a collapse div around just the Problem Analysis part. So, this requires either a clever plugin or editing every Pattern page.

  23. SUPERCEDED Implement a pattern capture form to make adding new patterns easier. DIFFICULT.

    This is subsumed by “Create Pattern edit template,” which is essentially the same thing.

Midterm Review Rehearsal sprint (deadline: 29 October 2013; 10 days)

Following items were planned for the midterm review rehearsal. Items marked with “*" were from the sprint planning meeting with Brian, Ita, and myself.

  1. DONE ISSUE Fix spelling of “annually” in slide show. EASY.
  2. DONE ISSUE Fix lero logo.
  3. DONE ISSUE GSD patterns are not going green. Fix: there was a syntax error in the ‘is_gsd’ rules.
  4. DONE ISSUE Make ‘sharing tasks’ question depend on whether ‘outsourcing’ is true or not.
  5. DONE ISSUE Fix PPM_Short_long_term_tensions.page.
  6. DONE Fix link to Obey Conway’s law from Socio technical congruence.
  7. DONE Make carousel fill entire page.
  8. DONE Add a summary page at end of demo.
    • number of patterns, rules, questions.
    • grants and publications.
  9. DONE ISSUE Fix cgi-bin routing issue. DIFFICULT. On proisis. references to /cgi-bin get routed by Apache to Apache rather than Aspire. Fix: relative urls work on Apache reverse-proxy too.
  10. DONE ISSUE *Fix inference issue with SPRTMDRC (and other) patterns. DIFFICULT. SPRTMDRC Patterns don’t get triggered when ‘Medical’ domain is selected. Fix: ‘domain’ s.b. ‘product_domain’. Also, added a rule to assert ‘need_risk_mgt’
  11. DONE ISSUE *Fix broken links to Consult page. EASY. Carousel doesn’t link to App/Consult
  12. DONE ISSUE *Fix broken links from Recommendations list. EASY. Recommendation “details” links are broken.
  13. DONE ISSUE *Fix Subst plugin issue with Groupthink page. MODERATE. Groupthink includes a separate references page that is inserted by the Subst plugin. Not working.
  14. DONE ISSUE Fix ditaa plugin issue. EASY. Can’t find jar file in aspire-test.
  15. DONE ISSUE *Make Feature Model fit within projector view. EASY.
  16. DONE *Indent questions in Consult page to show hierarchy. DIFFICULT.
  17. DONE *Remove “ecommerce” and “safety” from domain list. EASY.
  18. DONE *Remove “cleanroom” from methods list. EASY.
  19. DONE *Add “e.g.” and fix DSDM spelling in methods list. EASY.
  20. DONE *Revise OSS Governance pattern to show solution as bullet list. EASY.

    This pattern only has one step, so I just split the explanation into two paragraphs rather than adding bullets.

  21. DONE *Change recommendation list so all are initially collapsed. MODERATE. This will help to understand the grey box.
  22. DONE *Remove Feature Model from Recommendation page. MODERATE.
  23. *Make selected values human-friendly. MODERATE. Example: lifecycle phase should not be a number.
  24. DONE *Typeset pattern title differently from description in Recommendations list. MODERATE.
  25. DONE *Make References a bulleted list in Patterns. DIFFICULT. This is easy to do, but is time consuming as there are 40+ patterns to edit.
  26. *Make Feature Model readable. DIFFICULT.
  27. DONE *Add R-time projects to list of future contributors. EASY. Specfically, security and model-driven development.
  28. DONE *Don’t mention what’s not covered by Aspire. EASY. Fix: implement baseline.db and start there.
  29. DONE Fix kb push to proisis.
  30. DONE Fix feature model -> pattern links. This is best accomplished by a reorganization of the kb so that Patterns and FeatureGroups are contained in a separate directory; this would eliminate the need for “_pattern" and “_intervention" at the end of the file name, making the HREF attribute in the model easier to construct.
  31. DONE Add rules to recommend current patterns. This should comprise two changes:

    1. add a condition to each pattern that triggers the recommendation of the pattern when certain pattern-specific facts are true.
    2. add global rules that assert pattern-specific facts under relevant project conditions.
  32. Create Pattern and ResearchNote view templates. MODERATE.
  33. Capture remaining 14 patterns. MODERATE.
  34. Edit FeatureGroup pages so text is consistent with current pattern-oriented kb. DIFFICULT.
  35. DONE Remove SPRTMDRC roadmap and old GTM recommendations.
  36. DONE Revise first advisor consultation page to have a horizontal form on the left and feature model (updated in real time) on the right.
  37. DONE Revise context to capture three attributes

    • domain
    • method (agile, lean, waterfall)
    • num sites

    Some additional attributes, including lifecycle, were also added to trigger more interesting recommendations having to do with open source and portfolio management.

  38. OBSOLETE Prune feature model one level. DIFFICULT. (this might not be necessary if the SPRTMDRC roadmap recommendations are removed).
  39. DONE Add a separate recommendation page.
  40. DONE Add a separate feature model page at the end of the advisor workflow.
  41. DONE Remove explanatory text from advisor consultation pages.
  42. Harmonize pattern names. DIFFICULT. They should be verb noun-phrase, as in “follow Conway’s law” or “create bridging team”.
  43. DONE Add back/forward buttons to index page slide show, per Brian’s suggestion.
  44. Add description of “the over-arching aim or value proposition of Aspire” to index page, per Kieran’s suggestion: “This should remain fixed and not part of slides. Something like ‘aspire provides an integrated analysis of ALPS, OPS, SPRTMDRC and PAISEAN to help companies address SE problems specific to the challenges they face and environment in which they develop software.’”
  45. DONE Add a ‘Categories’ header to page template. MODERATE.
  46. Add lifecycle phase to current patterns. DIFFICULT.
  47. ? Add an overview of Aspire’s purpose to the advisor page sequence, per Brendan’s suggestion. MODERATE.

    “In the presentation and in the demo, the key starting point is that Aspire is all about communicating the outcomes from a whole body of research into software development processes. That needs to be stated as clearly as possible in the posters, the slides, the website. It didn’t come across clearly enough to me.” Note: this comment applies to the poster, not Aspire.

  48. Fix engine:assert() to include engine:assert/2. DIFFICULT. so values can be asserted for facts.
  49. Highlight entire path from root to leaf when a feature (pattern) is recommended. DIFFICULT.
  50. ? Add “Read more” links to index page slide show, per Brian’s suggestion.
  51. Migrate jquery ui accordians to bootstrap. MODERATE.

    • DONE collapse (recs)
    • horizontal form (qsets).

Other items

The following items are outstanding but not planned for any specific sprint.

  1. Fix engine:assert() to include engine:assert/2. DIFFICULT.

    so values can be asserted for facts.

  2. Create ResearchNote view template. Easy.
  3. Edit FeatureGroup pages so text is consistent with current pattern-oriented kb. DIFFICULT.
  4. Create plugin to extract categories from metadata. DIFFICULT.

    This just makes categories more complete.

  5. *Make Feature Model readable. DIFFICULT.
  6. Migrate jquery ui accordians to bootstrap. MODERATE.

    • DONE collapse (recs)
    • horizontal form (qsets).
  7. Implement RDF server. DIFFICULT.
  8. Integrate FML feature model engine. DIFFICULT.
  9. Create links from SPRTMDRC features to pattern or other page(s). Only useful if SPRTMDRC XML roadmaps are used.
  10. Implement new risk-based advisor interface. DIFFICULT. Killed by Brian and Ita, but I think this should remain in the backlog as a way to prioritize recommendations in the future.
  11. Add risks to current patterns. DIFFICULT.
  12. Implement automated smoke tests. DIFFICULT.
  13. Implement roadmap generator. DIFFICULT.
  14. Capture “activities” for roadmap generator. DIFFICULT.
  15. Add bibliography capability. DIFFICULT.