Through careful reengineering I discovered a list of essential features an application must have and compiled it as backlog items ready to use for your product backlog.
As a procurement manager I want the application to be expensive, in order to live of the bonus I guess when I negotiate a 1% reduction in price.
- The price of a minimal installation is at least 5 figures
- The price for a full installation is at least 500.000 Euro
- Bonus points when there is a mandatory support option
As a procurement manager I want the application to scale only by upgraded to an enterprise super deluxe edition, so my daughter can have a horse for Christmas.
- A demo setup needs at least 8GB RAM and 4 cores
- A system for 100 users needs at least 5 such machines, plus the same number of machines as a hot backup which you need at least once a month.
- You need 20 machines when 10 of the 100 users want to use it concurrently.
As an administrator I want the application to have only minimal documentation if at all, so I can claim to be an expert after reading all of it in an hour and charge a higher salary.
- The documentation is preferable non existent.
- Lengthy documentation is acceptable as long as it written so bad that nobody gains any knowledge from reading it.
As an administrator I want the application to be void of any user community, so nobody can provide easy free solutions to problems I claimed to be really hard.
- The apropriate tag at stackoverflow has a maximum of 200 followers and less then 1000 questions.
- If you are looking for a real expert (one that actualy understands the product) you have to pay other my monthly salary as an hourly wage or look in a mental asylum.
As an administrator I want the application to rely heavily on as many other products as possible, so the beneficial effects of the application on my workday are multiplied.
- The application needs a database management system installation from a specific vendor. The database itself needs to qualify as an enterprise application according to this criteria
- The application needs at a queuing system, even when it doesn’t have any interface to any other system but itself.
As a person responsible for deploying clients I want the application only to run on IE6 or earlier so the people stop asking me for upgrades to Windows 7 or god behold these Apple thingies.
- When the application is run in an IE 7 or above a message appears: “You are not running a compatible browser, please upgrade to IE6?
- When any other browser is used the application should react with a http 500 or it should crash the browser.
As the manager responsible for deployment of the system I want the system to be still in development, so I never have to install anything.
- The application is labeled early beta or preferable with “latest build from Toms machine”
As a consultant recommending the application I want the application to be really hard to install and equally hard to keep alive, so my contract stays safe for the next years to come.
- The short installation overview has at least 50 steps.
- A skilled person can’t install the system in less then 3 days.
As a network administrator I want the application to really hog the network, so I can get a larger budget for new shiny hardware.
- The application uses protocols like HTTP in a way that makes caching completely impossible.
- The application downloads itself completely on every restart.
As a user I want the application to be really slow so I can’t blame the application for not getting anything done
- Every interaction with the application (like moving the mouse) causes the application to freeze for at least one second.
- Every use case requires at least 10 such interactions.
As a user I want the application to start up really slow so I can get some coffee and drink it too in the meantime.
- Startup needs at least 10 minutes
- The application needs to restart at least twice a day.
As a CIO I want the application to use single sign on so I can claim we are doing it without bothering with what it actually means.
- The application contains its own single sign on system
- The applications SSO solution is completely incompatible to anything else (other wise we would get asked to integrate them)
As a person responsible for the security of the system I want the application to have cryptography because it is soooo coool.
- The application contains some cryptography code, preferable with nice acronym like ROT13
- The cryptography is really hard to configure, so something easy like SSL isn’t acceptable
- All private keys involved need to get emailed to the support distribution list, along with the password (thats what our processes require)
Reference: Essential Stories for any Enterprise Application Product Backlog from our JCG partner Jens Schauder at Schauderhaft blog.
This guide will introduce you to the world of Software Architecture!
This 162 page guide will cover topics within the field of software architecture including: software architecture as a solution balancing the concerns of different stakeholders, quality assurance, methods to describe and evaluate architectures, the influence of architecture on reuse, and the life cycle of a system and its architecture. This guide concludes with a comparison between the professions of software architect and software engineer.