This is a list of (what I see as) problems with typical IS information system applications, and the way that the DoItFramework addresses them. They are crude and rough and sometimes redundant, so any and all corrections, edits, and observations are solicited and welcome. -- JimRussell
(Many of the problems listed here are the same as those listed in EnterpriseApplicationProblems, although that list got very little comment. Perhaps it is just me?)
Technology bleed through
Problem -- In-house application development coerced to fit capabilities and limitations of development tools, instead of meeting the needs of user organizations.
DOIT Solution -- Separates development of business system (e.g. forms, business objects) from development of, and technology used to implement, individual services. Underlying technologies hidden by layered services interfaces.
Stove Pipe Applications
Problem -- Monolithic, ad-hoc application development creates artificial application boundaries that ignore enterprise-wide needs, and instead reflect budgeting process, sponsoring organization, and development organization assignments.
DOIT Solution -- Defines business systems at the modular level of forms, documents, and business objects. Define and implement services and technology servicing those modules independently of any business functional area, but available to serve all. Define the module/framework/service interfaces such that each business function can mix, match, and define relationships with the forms and objects defined for others.
Desktop Information Islands
Problem -- Desktop documents and personal databases create ad-hoc, isolated, redundant, and conflicting islands of inconsistent information. Personal productivity applications using the familiar desktop metaphor (window on a document) are productive at a personal level, but very inappropriate to capture, maintain, or report data used by more than a single individual. Instead, business activities require shared use of widely available accurate, timely data available from single authoritative sources.
DOIT Solution -- Supports distributed authoritative data stores, close to the responsible organizational information source, but accessed remotely to provide enterprise-wide visibility, review, and use of shared data. The window on multiple document worktable metaphore is a more natural vision of an enterprise's collective data.
Lost History
Problem -- Applications rarely capture temporal nature of data or business objects, offering no capture of revision history, audit, approval.
DOIT Solution -- Enforces the distinction between business objects and the forms that describe those objects. Preserved historic forms can show object data revision history. Generic forms services, developed once, can support approval cycles, workflow routings, change logs for all forms supporting all functional areas.
(As yet nameless problems/solutions...)
Problem -- Some important relationships hard coded (e.g. navigation buttons and links), other not pre-defined relationships often not available, or available only with user or programmer formed queries.
DOIT Solution -- Important and useful associations are shown by spatial document positioning and via attachments.
Problem -- Ad hoc, application specific user interfaces require user training and user application specialization.
DOIT Solution -- Provides a natural, form-based consistent user interface. Once understood for one business system area, applies to all worktable-based systems.
Problem -- Extended development cycles, with applications upgraded in large disruptive releases.
DOIT Solution -- Encourages incremental development -- a form at a time, a service at a time, a business object at a time. The framework development can also be incremental -- a service at a time, a new or alternative technology when needed.
Problem -- Exports and batch feeds to interface individual applications.
DOIT Solution -- Makes all worktable data available to all worktable systems.
Problem -- New functionality does not integrate with other applications.
DOIT Solution -- Integrates new forms, business objects, services, and technologies with all existing and future worktable-based business functions.
Problem -- Application developers need to master too many technologies and specialties.
DOIT Solution -- Modular, layered architecture supported by independent development teams, with specialists in ProblemDomain, forms design, generic worktable services, data management, distributed objects, and other underlying technologies.
Problem -- Application developers lack full insights and mastery of business ProblemDomain.
DOIT Solution -- Those developers working at the form/relationship layer can better specialize in ProblemDomain, and leave technology complexity to the framework builders.
Problem -- Users and sponsors find it difficult to specify requirements.
DOIT Solution -- Users communicate requirements in terms of forms, entities, roles and responsibilities.
Problem -- Conflicting application operation and user interfaces .
DOIT Solution -- Common set of data entry, presentation, and manipulation services shared across all application areas.
Problem -- Data not subject to on-going review and update.
DOIT Solution -- All form/object data visible and available to all business functional areas and can be browsed in appropriate contexts.
Problem -- Multiple, inconsistent data sources with no focused data authority and responsibility.
DOIT Solution -- Specialized departmental data sources with assigned responsibility and authority.
Problem -- Difficult to interface with legacy applications.
DOIT Solution -- Legacy application data is available for presentation and interaction via persistence services interfacing with legacy data technology. Form data presentation supports static use of legacy data even when source application not available.
Problem -- Uncoordinated and nonintegrated departmental application islands vs. unresponsive centralized monolithic systems.
DOIT Solution -- Departmental resources (servers, databases, files) responsible to function in network of distributed servers with spread responsibility for persistent data, business object hosting, forms hosting, and client services.