2. A product family had been created without the
underlying structure and processes needed to ensure
the efficient creation and maintenance of variants
In 2010, the Company began making internal changes
to develop a product range infrastructure
- Localisation was a particular concern
The Company also took the opportunity to switch to
an agile model of software development
Benefits included enhancing the production cycle and
facilitation of a general programme of ongoing
improvement
3. 1. Our highest priority is to satisfy the customer through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change
for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users
should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and
adjusts its behavior accordingly.
4. Simplicity – the art of maximising the amount
of work not done – is essential
6. “a set of software-intensive systems sharing a
common, managed set of features that satisfy
the specific needs of a particular market
segment, or mission and that are developed
from a common set of core assets in a
prescribed way.”
Clements and Northrup
15. Refactoring
Databases
PDF output
Localisation
Translate functions
Text embedded in images
Replacement of system alerts
ConfigurationTool
Country/Education Systems
Developer/distributor/administrator settings
Groups of settings based on business decisions
17. Existing story cards stated:
WHO wants it? (as a…)
WHAT is required? (I want to be able to…) and
WHY? (So that…)
For Acceptance, we also need to know:
WHERE in the application should the functionality be
accessible?
WHEN (in what circumstances) should the
functionality be available?
HOW should it behave or look? and
WHETHER the functionality should be switched on or
off (switches and defaults)
18. From
Half Ready
In Progress
Done, but…
To
Ready
Joint Design
In Progress
Code Review
QA
Done
25. Work was significantly underestimated, and is
still in progress
The transition has been very successful for Akari
Software
Agile adoption a major success factor
Product-line development not just for Large
enterprises
The product-line concept is now well established
as evidenced by development of ISO/IEC 26550
Work on further advances in the field continues
to be funded
Notes de l'éditeur
SMEBespoke project8 additional customersLooking at EHEA
You can do too much or too little but almost impossible to do just enough
Technical variantsFunctional variants – deliberate & accidentalHad to quantify effect due to refactoring & mix of technologies
Schmid & Verlage ‘Software’ IEEEInitally more expensiveThen breaks even & generates additional ROI
In practice, it’s about the area under the line
Needed an approach for the teamDecided on AgileTotal immersionBackground hi-techLow-tech info radsScrum & KanbanSprint efficiencyHalo effect
Had to bite the bulletNeeded new capabilityPartnered with UlsterSeparate but integrated
Localisation led to refactoringNor in EHEA but for NUIG1,000 language strings, 50 images & system dialoguesLess code instances but more callsneeded test automationNeeded easy way to configure & deploy
We adopted early but should have done even earlier