Feeds:
Posts
Comments

Results Matter.

The ability to deliver results requires a passion, drive and tenacity. Where others take the path of least resistance, the go-getter mindset pushes forward and seeks the ultimate goal.

The lure of hitting that impossible milestone date is a powerful magnet. Ignore the cries of the Nay Sayers. The road is strewn with roadblocks and wrecks. The novice go-getter is easy prey to many distractions and the paralysis that large programmes can perpetuate.

Applying logic and rationale to the impossible tasks ahead will even break the strongest and resilient of consultants. However, it is only the Results oriented go-getter that will lock on to the desired end-state and work tirelessly to achieving the objectives.

All excuses and roadblocks are swept aside and strong leadership skills are required to build the momentum to achieve the seemingly impossible. It will not feel like fun during the heat and battle of war. There will be barely time to have a cup of coffee or even find the time to have lunch.

Every task is high priority. The criticality of delivering on time will be the mission impossible. The weeks will fly by and at the end of each week the go-getter will deliver tangible and measureable results that others will acknowledge as a small but true step forward.

Projects will be attracted to the go-getter and seek the guidance and formula for achieving such success. This is a fantastic place to be and if you can adopt such a results oriented delivery mindset whilst maintaining the trust and credibility to be considered the type of person that others will share a joke and beer with, then you may be doing a good and thoroughly rewarding job!

Virtually Free.

In our last post on virtualisation, we highlighted that some freeware was easy to get working out of the box (eg Microsoft Office 2010 Beta). Other vendor products were far too complex and requires guru status to even get started.

This was an obvious disadvantage for Oracle as the strategy to offer freeware was pointless if very few could actually get to enjoy the ride. Things appear to have moved on. Oracle have now taken a major step towards simplifying the availability and usability of their product portfolio by introducing a series of VM templates which are fully pre-installed, pre-configured applications and infrastructure all packaged into a single instance that can be uplodaded into a virtual machine running on VMware. All of which is free!

For example, an Oracle VM Template may include a single virtual machine, with a single Oracle product such as a single-instance database or WebLogic Server or multiple VMs with multiple Oracle products to facilitate rapid deployment of even the most complex composite applications such as E-Business Suite, JD Edwards EnterpriseOne,PeopleSoft HCM, or Siebel CRM.

Initial experience of this technology is that it is still relatively complex as it’s all based on Linux. However, it is certainly a great deal simpler than having to install the application stack from scratch.

It is a step in the right direction and will likely increase the accessibility of the Oracle portfolio to more developers and technogeeks. We look forward to increased productivity and less time installing the array of inter-dependent applications and infrastructure in favour of faster time to investigate the applications of the technology.

This is a great move and one that I will be exploring in some detail for a range of Oracle products that are freely available for download and evaluation. Geek heaven!!

Ever wondered why so many projects over run the schedule, under deliver on the expectations of the business and cost much more than was originally budgeted? The list of explanations for such disaster is a subject for another post.

The complexity of a project and the technical challenges cannot be underestimated. However, a large proportion of contributory factors is very tightly linked to the lack of discipline and rigour associated with the management and traceability of requirements. There is an important discipline that many quality delivery organisations follow that we can call the Application Delivery Methodology (ADM).

Every major corporation has a project management methodology and lifecycle. Unfortunately, very few people understand it and more importantly very rarely does the method assist in simplifying or improving the quality of project deliverables.

The purpose of our ADM is to standardise on a common set of artefacts for all business critical projects across the enterprise. In this article I investigate the importance of the tools required to support and manage the analysis and design phase of projects by managing the creation, maintenance and traceability of the ADM project artefacts and their inter-dependencies.

Traceability

The ADM has been created to primarily follow the waterfall design approach and more importantly the logical process model for the analysis and design phase of a project as depicted in the diagram below. It is important to note that the definition and alignment of test related artefacts is considered to be critical and within the scope of analysis and design phase of the project lifecycle.

clip_image004

The diagram above identifies the core project artefacts that will be produced to drive the enterprise towards the creation and delivery of a high quality software solution. In general, the IT department will adopt the role of overall design authority for the technical solution and will work with in-house resources, external suppliers and third parties to deliver a robust, scalable, extensible and integrated quality solution on a fixed price basis. The approach is equally applicable to bespoke build, COTS integration or change enhancement to an existing system. Furthermore, the rigour of the proposed approach is equally applicable to application development and infrastructure engagements.

The diagram above identifies the standard set of artefacts (see boxes) and the linkage between these products (see lines). The left hand column depicts the requirements specification artefacts (e.g. BRS, FRS, and DDS) that will be produced by (i) the business analyst team, and (ii) the design team. The right hand column identifies the associated validation criteria that are aligned with the requirements specification artefacts by the test team.

At a logical level, the diagram above depicts the inter-dependencies between artefacts. It should be immediately clear from this diagram why IT projects are so inherently complex to manage as the inter-dependencies and hence impacts of decisions within any given artefact can have a profound effect vertically and horizontally. Given that each artefact is targeted to capture the requirements and acceptance criteria of a unique set of users, it is clear that any mis-interpretation or gaps in the artefact will lead to a mismatch in expectations. Experience suggests that where this mismatch is significant, the project will identify defects and incur costs to realign the solution to the original business requirements.

ADM and Traceability

The ADM defines the standard templates for artefacts and more importantly the rules for capturing requirements and specifications in a pragmatic, unambiguous and rigorous manner which is readily understandable by the target audience and easy to interpret for test and verification purposes. However, it is absolutely key that the selected tool provides a simple way for managing traceability and linkage across artefacts and even within artefacts themselves.

Why is this important? The purpose of any IT engagement is to deliver a costed solution to the business requirements and achieve a defect free sign off to the User Acceptance Criteria. However, in order to achieve this, the analysts, designers and testers must work collaboratively to increasingly finer level of detail to decompose the problem statement into a functional/logical definition of the solution and ultimately into a detailed/physical representation that can be implemented.

The traceability and linkage across (i) the conceptual business view, (ii) the functional logical view and (iii) the detailed physical view is very complex to manage and hence appropriate tooling and governance must be put in place to make this a practical proposition.

For example, at a high level we require (i) vertical traceability from the BRS to/from the FRS, and similarly (ii) horizontal traceability from the BRS to/from the User Acceptance Testing (UAT).

The complexity of the analysis and design phase and the approach to decomposition is depicted in the diagram below which highlights the extent of documentation and linkage that will occur within even the simplest of projects.

clip_image006

This diagram is simply showing another view of the relationships and dependencies described earlier. For example, the horizontal relationship between the BRS and UAT (BRS ↔ UAT) is depicted at the top part of the document: from the BRS, one is able to derive a number of User Acceptance Tests; each user acceptance test can be linked to a requirement in the BRS. Also shown in the diagram vertical linkage between types of testing UAT↔System Test↔Integration Test↔Unit Test. The linkages highlighted in red show intra-domain linkages where there are horizontal inter-dependencies across FRS n and FRS n+2. Similar relationships and hierarchies will exist in the testing domain.

Many organisations when faced with the prospect of managing this number of artefacts will often raise the white flag of surrender and decide to pursue a RAD based iterative approach. This approach is commonly unacceptable within most corporations and experience has taught us that this approach is a false economy and abdicates the responsibility of this analysis to the developers whose decisions and interpretations are made in isolation during code construction and under extreme time pressures to deliver software to a tight schedule. This will almost always result in increased cost and delays to the final solution delivery. As the complex network of dependencies between analysis / design requirements and test is non-trivial, any attempt at manually performing this task becomes unmanageable without the use of appropriate tooling. The end result of such an approach is inevitably increased risk and exposure to stringent rules and regulations.

Whilst the ADM may appear to be forcing a waterfall approach to application delivery, in actual fact it is highly adaptable to an iterative and agile delivery model. As the methodology is rolled out and experience is gained in scoping and decomposing business requirements into the identified project artefacts, projects can be delivered iteratively and in a more agile manner as a number of thin inter-related tuplets (BRS, FRS, DDS) that form the basis of an independent work stream.

Summary Views

The selected tool must be able to easily generate a matrix view of requirements such that a detailed conceptual, logical and physical view of requirements can be traced horizontally and vertically allowing a collaborative team comprising of business users, business analysts, project managers, designers, developers and testers to get a consistent view of the inter-dependencies of requirements across the project. This is a very powerful feature that provides a framework for decomposing multiple views that spans organisational boundaries.

The generation of summary views must be derived and maintained from a consistent master repository which is professionally managed for configuration and change control as a group wide asset in much the same way as any productionised business application.

Business Requirements Traceability

clip_image008

Any tool must be easily configurable to apply appropriate business rules and a hierarchical labelling structure to all information contained within the repository. Specifically, the generation of unique identifiers to Business Requirements is absolutely key as this will be the primary key upon which all downstream requirements will be cross referenced. From the table above, we can see how a physical representation of the desired traceability can actually be displayed. This model allows for linkage of the BRS to inter-related BRS Identifiers and derived FRS and DDS. Furthermore, the linkage to testing is captured at the UAT.

It is highly likely that our standard tool for capturing and managing test requirements will be based on a product such as the Mercury Test Director suite. Hence, any tool that we identify must be able to support bi-lateral integration.

We would expect the tool to provide this view as an active navigational aid to browse to the desired level of detail and with appropriate drill down as required.

Functional Requirements Traceability

clip_image010

The FRS view is identical to the BRS view, however, the context is from the perspective of the Designer and hence the FRS is the starting point and associated System Test.

Detailed Design Traceability

clip_image012

The DDS view is identical to the BRS and FRS views, however, the context is from the perspective of the Designer/Developer and hence the DDS is the starting point and associated Integration Test and Unit Test.

ADM Tooling

The following UML diagram is a meta model of the information and concepts described above. As the meta model shows, there are many 1-to-many relationships between the various artefacts and we will be looking for tools that seamlessly manage these complex associations between the many project artefacts.

clip_image014

Until we have selected a tool, we will assume that:

· All requirements will be captured in Word and imported into the tool

· All requirements will be uniquely identified and referenceable through an auto generated tag or a "link"

· All requirements will be linked to an associated requirement and the linkage can be easily navigated up or down

· Using the method, the following documents will be generated and be fully traceable:

- Business Requirements Specifications

- Functional Requirements Specifications

- Detailed Design Specifications

- User Acceptance Tests

- System Tests

- Unit Tests

Traceability (vertical and horizontal) amongst these deliverables will be mandatory. The tool must provide an easy and robust mechanism for managing the associations and the tool must:

- Provide impact analysis reports e.g. to e able to quickly determine the impact of a requirement change

- Warn about and manage deletion of artefacts. Obviously, removing an artefact with dependant artefacts needs to be managed and handled correctly

- Provide different views on the data e.g. tree view, where starting from a requirement say, one can “drill” down into the associated artefacts such as analysis, tests (UAT, system test, unit tests) and

- Provide coverage reports i.e. have all expected artefacts for a requirement been produced and their status (e.g. complete, signed off, work in progress, …). The tool must highlight outstanding artefacts.

Summary

The successful rollout of the ADM requires appropriate tooling to support the easy and intuitive approach that we have defined. Specifically, the use of standard templates and the management, navigation and traceability of those artefacts across collaborating teams and organisations is considered to be very important. Whilst the identified tool must have a rich set of features, it is critical that it easily and flexibly handles traceability as described in this document and provide natural integration with the Mercury Test suite of applications.

Traceability ensures completeness, that all lower level requirements come from higher level requirements, and that all higher level requirements are allocated to lower level requirements. Traceability is also used to manage change and provides the basis for test planning.

Enterprise Application Integration (EAI) facilitates the integration and moving of data between legacy applications, databases, client-server systems, external company systems and the Intranet/Internet/Extranet.

The primary mission of EAI is to decouple and simplify the integration effort required to deliver the information required to support business processes across the enterprise of packaged and legacy applications. The business value of EAI is the speed and agility to integrate existing systems and applications the business and commercial pressures require rapid business transformation and the introduction of new processes and products.

Commercial EAI development frameworks define the enterprise integration processes which simplifies and reduces the amount of resources required to maintain, develop, and scale systems, as well as allows for the adoption and usage of standards bodies and schema repositories that define business process interaction.

Several EAI solutions exist in the marketplace that satisfy the requirements of EAI. Many companies are realising the benefits of EAI as a corporate architectural component that will allow them to bring to market their solutions faster. Other clients consider EAI for a specific project to solve a single issue – eg the integration of a few specific systems.

Spaghetti: Point-to-Point Architecture

Traditionally, systems integration took the form of one-to-one connections. A company looking to connect two systems together would develop an interface that would allow the two systems to talk to each other (and only each other). This approach allowed systems to be connected on an as needed basis and was a fairly inexpensive method. There was no additional software that needed to be purchased in order to facilitate the connection. However, each new system that was added would need to have interfaces built between it and any other systems with which it would need to communicate. These custom connections were not very flexible, and only allowed the systems to transfer data that was predefined in the interface. This architecture is often termed as a point-to-point architecture.

clip_image002

Lasagne: Hub and Spoke Architecture

EAI solutions primarily utilise a Hub-and-Spoke architecture, and are based on a central hub with many spokes (interfaces) attached to it. The hub is flexible, allowing any attached system to communicate with the any other attached system. This model requires the procurement of new software to act as the hub and the construction of new connections to it. The hub and spoke architecture allows the hub to perform functions, such as message queuing, routing and data translation, as well as facilitates real time collaboration and communication between business applications (processes and workflow).

In this article we present a set of high-level Solution Imperatives to provide a context for target architectures and blueprints for a core banking transformation programme.

Imperatives should be aligned to a business strategy and derived from the business requirements as well as data gathering during the technology selection and due diligence phases. Imperatives give an indication of the problems and challenges faced by the business and serve to define the solution and final road map.

Imperative statements do not seek to measure the degree of gap (eg inconvenience of the problems/issues identified) nor the potential benefits associated with their resolution and, therefore, no attempt to sequence or rank is necessary. Such activity is accomplished in other project artefacts.

Imperative statements should be used to form a basis upon which to evaluate any technology solutions during the critical RFP process. As such, it forms an important benchmark to assess how many business gaps or problems can be mitigated by a chosen implementation path.

The imperatives relevant to a core banking transformation can be organised around the following themes:-

Channel Effectiveness

GAP: Existing channel infrastructures may impose artificial limits around a customer’s ability to self-service either from an account registration or account servicing perspective. This forces traffic into more expensive channels (e.g., branch, call centre) which are likewise limited by their ability to one-and-done events and instead act as order-takers for back office functions. Business events do not get resolved at source and typically do not follow a least cost route.

FIX: Enhance channel experience, customer channel (and channel switching) choices, self service/self selection capabilities and increase one-and-done rates (STP).

Customer Centricity

GAP: A finite amount of customer data is distributed across multiple systems and platforms – it is often incomplete or inconsistent. Whilst there may be an element of customer data centricity, it hasn’t been possible to fully deploy this to the customer, web, call centre or back office. With data distributed in many places it is a challenge to operationalise the value of that data in terms of sales opportunities or risk management (i.e., moving from “reactive” to “proactive” use of customer data to deliver a differential service to customers).

FIX: Enhance single customer view, deepen customer insight and improve real-time interactions.

Product Flexibility

GAP: The product sets that are available offer finite functionality. The ability to introduce new products or modify existing ones is constrained by the limitations of legacy systems (leading to extensive time lines). The ability to innovate is hindered by a lack of product manufacturing flexibility. There is no potential to bind products together into combined offerings using existing technology.

FIX: Enhance product manufacture/distribution capability, enable bancassurer bundles and improve product time to market.

Process Improvement

GAP: Process improvement and optimisation is limited by systems capability – these systems force a way of working that may not necessarily be aligned to the target operating model. The consequence is that events are not completed one-and-done, instead requiring single or multiple hand-offs. Many processes are paper based when they should be electronically handled – this can lead to errors and corrections that are time consuming to fix.

FIX: Enhance processes through automation, compression of end to end duration, removal of paper based activities, and error mitigation.

Transaction Optimisation

GAP: Transaction processing is handled by legacy core applications that are over 30 years old. They have known limitations around decimalisation, number size, data entry validation etc that result in operational volume through error fix and reconciliation. Additionally, the limitations of existing systems make the application of fees and interest a complex and manually intensive activity for some sectors.

FIX: Enhance transaction processing with reduced manual data entry, improved routing and automation of events.

Risk Mitigation

GAP: Risk and controls frameworks, whilst robust, are dependent upon manual intervention. The emergence of the faster payments world, and increased volatility within the credit markets proposes that current risk management tools require enhancement.

FIX: Enhance risk and control frameworks through automation of manual checks and improved risk insight.

Distribution Efficiency

GAP: It is a challenge to distributed information to customers via the lowest cost route. This is not helped by existing limitations with respect to consolidating and combining mailings and communications, or mitigating wasted communications.

FIX: Enhance delivery options towards lowest cost routes and improve communication quality.

Information Intelligence

GAP: MI and report management is disproportionate to the size of the organisation. Data is stored in different systems and distributed across multiple locations causing MI complexity. There is a common held view that there is no single consistent version of truth.

FIX: Enhance customer and operational management information insight, create a single version of the truth, supported by streamlined report delivery.

Management Effectiveness

GAP: The cost of maintaining regulatory compliance absorbs and ever more significant share of available investment and maintenance funding. This cost of compliance is directly linked to the complexity of legacy systems.

FIX: Enhance responsiveness to regulatory change and mitigate ongoing cost of compliance.

Exceptions Mitigation

GAP: Exceptions processing is a manual, labour intensive and paper based activity.

FIX: Enhance error/warning insight and mitigate back office exceptions.

Infrastructure Stablisation

GAP: Major application components that comprise the legacy core banking solution are developed in or running on legacy infrastructure. This may include unsupported software, licences and hardware. Channel components (in web and branch) may suffer from performance issues (degradation and outage) that causes customer inconvenience, complaints and compensation.

FIX: Enhance platform resilience to performance issues and risk associated with heritage/unsupported technologies.

These themes can be further extended by drilling down into each theme to provide detailed imperatives based on specific types of business constraints. Contact me if you find this article interesting or require support in this field.

See the Pattern?

Pattern recognition is something that we learn from an early age as a way of solving difficult problems. These skills are further developed throughout our lives to solve complex problems. Patterns allow us to quickly recognise a problem and apply a known fix based on past experience.

The main principles of patterns can be formalised and applied to almost any discipline. In particular, an architecture design pattern is an abstraction of a design or part of a design that can be applied to create a solution to a problem and more importantly a solution that can be reused.

In this context, a pattern is the description of a solution to a recurring problem within a strictly defined context.

Our clients are often face with the challenge of designing and delivering complex technical solutions faster, simpler and cheaper in order to meet the demands of their business. This is often a big ask and introduces some key challenges for technical teams:

1. The need to deliver technical solutions to business issues much quicker

2. The technical solutions are complex and hence open to risk

3. The demand for key skills and expertise are often over-stretched and in limited supply

These risks can be mitigated by using appropriate tools and methods, however, they must be complimented with patterns in order to continue mitigating risk whilst addressing the issue of delivery speed, quality and cost.

The development and use of design patterns will meet these challenges:

  • Patterns shorten the advise phase because clients are presented with design solutions
  • Patterns shorten the design phase because they are captured solutions to problems

Patterns mitigate design risk because:

  • They reuse designs that have already been implemented and therefore are validated designs
  • Technology patterns are linked to template specifications and component patterns strengthening the interface between architecture design and build

The context of each pattern defines the constraints, forces and limits of the pattern. The very nature of a pattern, essentially a “snapshot” of a solution to a problem or set of problems, means that each pattern has a limited life-span and must be updated and modified as problems change and new problems emerge. Patterns need to be versioned and their relationships maintained.

clip_image002

The picture above shows how various levels of Patterns representing different levels of abstraction will be related. The hierarchy that is expressed in this example starts from a business pattern of a Customer. In this case the constraint of the pattern Customer focuses on the need to manage the identification of customers. The architecture pattern Directory has been related to this business pattern, which describes a solution to a particular recurring problem of identifying and managing people. There happens to be FOUR available technology patterns related to the architecture pattern Directory of which the Novell NDS pattern is of interest.

Clearly, patterns will also be related at the same level. In supporting a particular business pattern, as in the Customer example above, there will probably be a need to aggregate architecture patterns to address a specific business requirements. Additionally, as multiple versions of a pattern exist within a particular level, so those versions need to be connected to understand the trace from one version to the next. To be most effective, some automated tool to support the capture and version management of patterns should be used.

Patterns do not describe process

Because patterns are a snapshot of a design solution to a problem and therefore rich in content nothing will be captured about the process of that design. .

But patterns are employed during a design process

clip_image004

The use of patterns in a particular project life-cycle however, will have to be integrated into our existing and proposed process oriented methods.

Business problem may have been identified such as “How to take payment from a customer through a web browser”. Or a technical issue such as “How to ensure that nobody can snoop a customers payment details when they send them through a web browser over the internet”.

To solve the first problem a web-based payment process would need to be designed, for the second a private key/public key infrastructure may need to be designed and developed. Both solutions can be captured as patterns and reused by other projects.

Patterns have standard notation

Patterns will also have a standard template, see below for a proposal of the format:

Name(s)

The name and a short summary of the Pattern

Contact(s)

Subject expert on pattern

Problem

The recurring problem the pattern addresses, including a discussion of its associated forces, within context

Solution

The fundamental solution principle underlying the pattern including a detailed specification of the structural aspects of the pattern

Dynamics

Typical scenarios describing ‘run-time behaviour’ of the pattern

Implementation guidelines

Guidelines for implementing the pattern

Variants

A brief description of variants or specialisations of a pattern

Known uses

Examples of the use of the pattern, taken from existing systems

Consequences

The benefits the pattern provides, and any potential liabilities

Related Patterns

Patterns at other levels that are related, i.e. Business, Architecture and Technology

See also (links)

References to patterns that solve similar problems, and to patterns that help us refine the pattern we are describing

This template will allow the inclusion of other media besides text.

Patterns need to be rigorous

The context of each pattern will be used to capture metrics that measure things like the scalability of a solution and the limitations of a solution. Each pattern that is captured from will need to be validated and reviewed. Both the context and the validation process should ensure that patterns are not misused and that the consequences of deploying a particular pattern are understood by the architect.

Who will benefit from patterns?

Patterns will become the essential tool for designing and delivering the complex architectures needed for complex IT programmes. This is because of the aggressive timeframes and price constraints that clients are facing. Many architects, system engineers and some program managers have expressed interest in the potential of patterns.

Many design and development organisation are constrained by the suitability of their methods and toolsets. The architecture design cycle is perceived as being too long and does not address re-use effectively. Additionally, there is a perception that delivery tends to err on the side of bespoke development and not enough re-use of component based delivery increasing both delivery timescales and overall delivery risk.

Information Wasteland

Business intelligence and the art of data mining is the holy grail for most organisations. Business users are hungry to decipher that hidden nugget of intelligence that will give an edge and new insights into their customers and products. Picking out these nuggets from the mass of disparate data that large organisations can generate is not a trivial task.

This is an interesting subject for any consultant or knowledge engineer as the amount of data sitting on the average desktop computer is phenomenal and can offer a very rich source of content that can be harvested to solve the next big problem.

The range of desktop search technologies already available to rapidly index and accelerate the speed with which we can search for specific nuggets. The most obvious examples are Microsoft Search which is embedded within recent releases of the Windows operating system and the browser based Google Desktop.

Whilst these technologies are very powerful and indeed helpful, they are far from perfect as the result sets that are retrieved for any search are usually huge and makes it impossible for the user to review the complete set of results. At best, one can expect to review a small sample of documents before getting distracted and losing focus on the intended search theme.

Retail organisations that operate large product catalogues have a very smart way of simplifying the search for products for their customers by making use of meta data to segment the search population into a range of views to rapidly reduce the product options such that a customer is able to make a comparison and eventually a purchasing decision.

The classification and taxonomy for the product catalogue makes use of a hierarchy of dependencies between categories, products and associated searchable attributes. For example, if I am looking to purchase a new computer I would look for the Electrical Category and then be presented with the option for Computers. The search and available choice of computers could then be filtered to a narrow choice based on attributes such as brand, price, disk size, memory, processor and so on. Companies such as Endeca.

With desktop search the results are free form and unstructured. The availability of new technologies such as Tag clouds (like the one shown on this website) are a step in the right direction and help simplify knowledge management. The use of font sizing to highlight frequency of occurrence of a tag offers a simple and yet powerful visual filter of popular themes. However, it does not overcome the earlier problem of producing a large population of search results and hence does not narrow down and speed up the search process towards the best possible set of documents.

I expect that the next wave of desktop search will move towards the multi-dimensional structured search capabilities that we see on retail websites. By segmenting the contents of our desktop to a structured network of inter-dependent topics and content, users will be able to rapidly filter and hence discover knowledge that would otherwise be buried and lost.

The solution is a hybrid that combines (i) the fast and automated indexing technologies that are currently able to rapidly highlight every file that contains a search word with (ii) the tag clouding technology that is pervasive on websites.

The key to any big and complex problem is to apply thought and creativity to decompose the problem into manageable chunks. Put another way: filtering! The indexing capabilities of the modern desktop coupled with the visual filtering capabilities of multi-dimensional tag clouding could be an exciting step that would allow us to navigate the darkest corners of our file system.

Reuse reuse reuse. That is the key to greater productivity. For every problem or question there are several possible solutions. There is no need to reinvent the wheel. As a consultant, we must learn to tap into all available knowledge sources to help kick start and add impetus to projects where schedules and costs are under constant pressure.

Follow

Get every new post delivered to your Inbox.