A world of adventure awaits you within every app's lifetime, none greater than when the managers decide it is looking a bit long in the tooth.
The realm is a tricky one, your cause may be just but how to you justify you opinion to the grand council of the Elder PMs?
Hunt for the hidden forest where backing from the business is said to dwell.
Visit the fantasy lands of 'bolting on the latest tech'
Face the dark overlord of Rip and Replace
Your challenges will not just be technical, but political & economic, can you defeat evil forever or will it rise stronger in 5 years time?
Let us be your Gandalf, and take you on a journey where you are the hero
1. Choose your own adventure
Update / Convert / Replace?
Mark Myers Matt White
LDC Via
2. Firstly, let’s have a little chat about passports
Originally this session was meant to have been presented
by my esteemed colleague Mark.
There was some unpleasantness at the passport office.
3. Mark has a statement to make
“I, Mark Myers, absolve Matt White of the need to do all the fantasy analogy
s**t that I was going to do, and thus you can explain all the stuff we have
learnt about how to deal with the human side of app migration without
having to talk about Orcs”
“Also you don't have to wear a wizard's hat and a clip on beard”
- @stickfight
4. All of which means…
- You’re stuck with me
- Domino developer since 1995
- Lead developer of IdeaJam
- XPages developer since before it was released
- Co-owner of LDC Via
6. Choose your own adventure books
Fighting Fantasy was a series of single-player role-
playing gamebooks created by Steve Jackson and Ian
Livingstone. The first volume in the series was published
in 1982. The series distinguished itself by mixing Choose
Your Own Adventure-style storytelling with a dice-based
role-playing element, the caption on many of the covers
claiming each title was an adventure "in which YOU are
the hero!"
8. You receive a map with three destinations on it...
- The Land of Update.
- To just add new features or a new skin, to give the app a face-lift, a better UI or other
specific feature at the request of the users.
- The Kingdom of Conversion
- To change an application’s platform (front or back-end) whilst retaining established
look and feel or behaviour (i.e. don't scare the existing user base)
- The Realm of Replacement
- To only retain the application’s data, to rebuild the application from the ground-up, to
reflect changing use-cases.
9. And the prize at the end?
- Happier users
- ROI
- Return on Investment
- And for you…
- Interesting technical stuff
- Job security
10. The Land of Update
- Depending on your strategy this may be the best route to follow
- Are you keeping your Notes and Domino infrastructure?
- This may be as simple as adding new features
- Give your app a face-lift
- To be honest, the Land of Update is a little boring.
- Shall we move on
11. The Land of Update
Ah no, WE WON'T!!
- From a technical perspective, it’s boring, mainly because it's been done
to death in conferences for the last 10 years, but because so many
apps are being pushed for migration, we must have missed something!
- Why do the users want to change?
- What are the drivers for grumbling about an application that has served
them well?
12. The Land of Update - Why?
- My new thing is shiny
- When compared to a modern web app how does the existing app stand up?
- When a new starter arrives are they impressed with it?
- Does it integrate with the new apps in your company?
- Your company won't be staying still, it will add new applications and new platforms all the time. Can
your application keep up, or is it in danger of becoming isolated?
- Does it integrate with your users today?
- A Notes client or even a desktop browser may no longer your user’s main interaction point (think
mobile devices). Are they not using your application because it's just too much of a pain?
If you don't give users what they want, they will go elsewhere
13. Level 1 Boss Battle - The Meddling Middle Manager Mage
- A devious foe, who prioritises his personal advancement over
the project, quick to capitalise on any late deliveries….
Special Attacks
- The subtle email: a terrifying attack, where doubt and
uncertainty about a project or application is whispered quietly
into stakeholders’ ears
Weakness
- Only attacks the weak, so keep all stakeholders informed,
and if there is slippage on the project, inform people
promptly with rectifying actions.
14. The Kingdom of Conversion
- You want to keep the functionality of your application but
there needs to be a change.
- There are two routes you can take
- Switch out the front-end but keep Domino
- Create an entirely new version of the application
- They are both perfectly valid paths depending on your
larger strategy.
- Are you retaining a Domino infrastructure but moving away from the
Notes client for example?
- Or have you been commanded to remove Domino, but your
application is business critical?
15. The Kingdom of Conversion - New front end
- If you’re keeping your Domino server infrastructure, you have a lot of
options
- Key to understand the app’s functionality
- “Classic” Domino and XPages routes: both in support for the
foreseeable future
- Create a modern web application: REST + one of the key JavaScript
frameworks (Angular, React, etc.)
16. The Kingdom of Conversion - New front end and back end
- We often see situations where Domino has to be completely removed
- But the application is business critical, you want to replace like with like
- This will be more work
- You need a full understanding of all of the functionality required
- This includes what we’ve been used to being provided by Domino
- Security
- Data backup
- The application functionality should be decomposed into REST services
- The front end needs design work to ensure users can continue to use it without too much retraining
- At this point the technology isn’t really important
17. The Kingdom of Conversion - new front end and back end
- Ensure that real users (not managers) sign off the functional spec that
you write
- Remember that providing a new application with a reduced feature set
can be very painful if it’s not properly managed
- What is the driver for the work?
- Politics? (in which case this may be tricky to manage)
- Financial? (saving money)
- Is it going to cost more to do the work than it will in terms of adding value?
18. Level 2 Boss Battle - The Rumour Ghoul
- A creature that crawls from user to user, manager to manger, spreading half-
truths and exaggerating minor niggles into project-breaking disasters.
Special attacks
- Able to spread from user to user infecting all it touches
- Infecting a senior manager can lead to project cancellation
Weakness
- Shrivels in the hard light of truth: quickly arrange demos, desk visits
and workshops with stakeholders to expose the lies and lay it to rest
- NEVER LET IT FESTER
19. The Realm of Replacement
- The most extreme journey: you’re moving onto a new platform,
creating brand new apps, changing work-flows, all at the same
time
- Maybe this is a switch to Salesforce or Sharepoint
- The rule should be that a replacement is always better
- This is, unfortunately, not always the case
- There are a number of quests you will have to go on…
- Unlock the vault of security
- Understand the parchment of field mappings
- Have the book of understanding of the business requirements
21. The Realm of Replacement - Assessment
- Here you determine what is needed and can it be done
- It breaks down into 2 basic types
Business / Human
- As you are doing a full replacement, you can sit back down with the business
and determine EXACTLY what they need. Have the application needs changed
over the year?
Technical
- Can the target platform handle the existing application?
- Often a platform is chosen for political reasons or to adhere to a standard.
- How complex will the conversion be.
22. The Realm of Replacement - Rationalisation
Now that we know what needs to be done we have to justify it to see if the
Realm can afford it.
- You will need to work out the R.O.I. on the Replacement.
- Are there any changes that will make it better for the Realm long term
that you need to factor in?
- Can the current applications use be expanded, Can other
departments/areas use it and so spread the financial load.
23. The Realm of Replacement - Planning
Now we need a real plan
- If you are not 100% sure you understand the business get a native guide (or
business analyst) make sure they are a good one.
- Ensure you communicate with both a Power User and manager to get a solid
understanding of what needs to be done
- Whatever timescale your developers tell you, DOUBLE IT, then add 20% for
testing, and another 20% for meetings / management
- We are serious about this
- If you are adopting an agile approach, ensure expectations are managed
24. The Realm of Replacement - Design Review
This is where you run a final check of your armour and get the village elder
to confirm in writing what type of dragon you are about to battle
- People will try and avoid this Quest, but appeal to the Lord of the
Realm to get them to take part so you have everything correct.
- Point out to them that if something is wrong, then after the dragon has
killed you and picked its teeth with your bones, it will come for them…
- In all seriousness, a proper signed-off design review can catch last-minute issues and
save a fortune versus the cost of fixing problems once live
25. The Realm of Replacement - Migration
The fun bit: actually doing it!
- Plan for issues happening, make them an expected part of the
migration.
- Search out the rare “power user.” Give them (and only them) access to
your test environment, so that they can give you sensible feedback and
nip issues in the bud
- Expect (and resist) pressure to promote code to UAT before it is ready
- (This is the hardest part, the Realms Lord with press for this every day)
26. The Realm of Replacement - Deployment
Getting the users off the old system and on to the new
- You WILL discover integration points, that no one mentioned, that are
suddenly CRITICAL
- Beware of the “The Rumour Ghoul” - this is his or her feeding ground
- Have a “go-to” member of your team who will be responsible for
investigating and rectifying data matching issues between the old and
new systems.
The important point here is that users see you responding to all of their
issues. Failure to do so will mean they will be escalated to some form of
Demon Lord.
27. Level 3 Boss Battle - Standardisation Demon
- This Brutish monster is often called up by the Lords of the Kingdom to
ensure all applications are written in one platform and only one system
is supported
Special Attacks
- Systems look neat on paper
- Integration with existing systems
Weakness
- Required functionality is often not provided. Fight it with the sword of
“best of breed” and prove that your alternative will bring more
advantage to the business
28. Secret Hidden Levels
Not all horrors you face will be obvious
- Not all your users will be aware of all parts of an
application
- Users and the business may not be aware of legal or
regulatory requirements
- Users may have created ad hoc integrations with
other systems that are not generally known
- The most common being Excel exports sent via email
These will not be your responsibilities but you will be
blamed post-migration, so prepare well, investigate fully
and try to get people to reveal oddities up-front
29. Secret Hidden Levels
Other hidden issues that you may face during your quest if you’re going to
the cloud are:
- Loss of control
- Data storage laws in different countries.
- Provider consolidation
- Is your new application provider still going to be there in 5 years?
- Hidden costs
- Multi-tenancy
- SLAs
30. Final Boss Battle - Scope Creeper of Doom
- The most feared of all enemies to projects, an unchecked
Scope Creeper can bring misery to an app upgrade or
conversion.
- Attacks with the battle cry “Could you just…”
Special Attacks
- On a project the Creeper can eat all the budget before the
core deliverables are completed
Weakness
- A solid functional spec is your best defence, it is a shield to
take you through the dark times. And it’s never too late to
try and get one signed-off.
31. Dungeon Master's Guide - Keeping Leveled Up
- Domino skills are hard to come by these days
- Some of the key things you need to understand instead
- Various JavaScript frameworks
- Modern JavaScript (ES6) is evolving fast
- REST services
- Authentication mechanisms (OAuth / SAML etc.)
- Cloud services (Azure / Bluemix / EC2 etc.)
- Modern project management skills are becoming more important – think agile (Scrum, Kanban, etc.)
32. Dungeon Master's Guide - Paying your way
- An application has to pay its way
- If it’s going to cost more to replace than it makes or saves, then it’s not worth doing
- If it’s no longer paying its way then “managed decline” may make more sense
- What can you do with the data
- Can it be kept in a simpler or cheaper format?
- Does it need to be retained for regulatory reasons?
- Some applications are hard to value in financial terms
- They can still be useful for your user community or your business
- Will changing the application damage that value?
- Make sure you understand the value by talking to the users
- A good understanding of usage patterns will help inform these choices
- There are tools out there to help you, some of them in the showcase here
33. Dungeon Master's Guide - Paying your way
- If new features are required, it’s worth balancing up the cost
differences between updating and converting.
- If adding a new feature would cost 80k but migration would cost 100k and includes
the new feature, then suddenly the migration only costs 20k
- Always calculate the ROI on any major changes for a number of years
- Some other services (e.g. Salesforce) cost a fortune. But developers on obscure or out
of date platforms can cost even more.
- Lock-in is not just a software vendor issue
34. You can be the Hero!!!
Technical features are only
part of the battle.
People, politics, perception
and budget will make or break
your journey