XML - Advantages and Disadvantages

XML (eXtensible Markup Language) is a generic language used to create new markup languages. XML defines a set of rules for electronically encoded documents. Markup languages are used to clearly separate teh content from the structure of an electronic document. The word 'extensible" means elements and atributes can be created by the designer/author, then used to create structural markup resulting in structure for electronic documents, websites, etc. XML uses tags to define or organize data - written in text format XML is considered verbose. XML formats can be combined and reused to create new document formats. XML is license-free, platform-independent and fairly well supported.

Advantages of XML - The tags are unlimited and unrestricted allowing a lot of flexibility. With XML you are essentially writing your own markup language allowing you to create the language to suit a specific task. In relation to HTML, XML supports separation of the GUI from the data/content by using a dedicated style sheet. Finally, trees and inheritance can be more easily communicated and understood.

Disadvantages of XML - XML has no system for application processing so XML documents must be converted, to HTML for example. The flexibility it provides can also be a disadvantage as there can be disagreement among tags or objects and this could add constraints that make it difficult to construct the file. A related issue could arise if an organziation has hundreds of functions for one set of documents taht needs to be described with tags. Too many tags for a single document structure could interfere with XML's ability to process the information. Finally, the functionality of XML depends on who is writing it and because XML standards are not yet fully compliant this could cause incompatibility across systems.

 

Forget Business-IT Alignment, Think Colaboration Instead

It is important for all aspects of a business to be in alignment with one another in order to be successful. Alignment with IT is the most important as technology is used at nearly every level of an organization as disalignment may lead to collapse for an organization that relies heavily on technology and there is a failure.

One of the biggest problems about the concept of business-IT alignment is this typically refers to IT understanding the objectives of the business and developing tools, systems, to help meet those objectives. This sounds fine from the business standpoint, but can cause significant problems for IT down the road. Requests for new systems, fast updates to existing systems, customized software solutions for a particular business need can lead to a fragmented system that becomes unweildy and difficult for IT to manage. Quick fixes may have bugs that need to be addressed, adding layers or skins to legacy software becomes increasingly complex and may cause unanticipated problems. Now IT is divided between fixing existing problems and developing new solutions, to maintain alignment, but with a divided workforce and large workload, resolutions for both aspects are delayed.

The business may view this as disalignment and attempt to address it, but the problem will only get worse if business leaders use traditional alignment strategies. If the complexity of the underlying systems, applications and architecture is causing or contributing to the issues then attempting to push IT to continue developing one off applications will exacerbate the problem. The business will be spending more money with less results, and IT may eventually be viewed as a maintenance expense and nothing more.

It is really collaboration, not alignment, that will allow an organization to meet its objectives most efficiently. It is important that IT understand the needs of the business to ensure applications do not fail to meet basic business needs. However, it is also important for the business to work with IT. If management feels like too much money is being spent on late projects, they likely won't be willing to sit down with IT to hear ideas about reducing a dozen legacy systems down to one if it is going to require even more time and money, especially if it would mean putting smaller projects on hold. Ironically, when a business pushes IT to produce customized solutions to make things easier for an individual department, in actuality the solution (1) increases complexity, (2) increases costs, (3) solves a minor need and (4) if solved ends up barely meeting the requirements. When collaboration occurs IT is able to suggest solutions that may not increase business results in the short term, but have huge benefits in the long term. The potential benefits could be anything from increased speed and efficiency, to a platform that is easier to develop for, to increased flexibility and a significant competitive advantage.

Telecommuting: Considerations before Implementation

 

Telecommuting has been used by corporations for years, but it is still a relatively new concept. Companies and individuals reap many benefits when telecommuting is utilized, but there are issues that must be evaluated and addressed as well. Benefits primarily revolve around cost cutting and employee satisfaction, two things that could improve an organization's bottom line. Issues must be evaluated from two perspectives - employee issues and managerial issues. This paper will briefly discuss the benefits of telecommuting, provide a basic overview of employee issues and finally address managerial issues.

There are some substantial benefits of telecommuting for corporations, employees and our world in general. A corporation should consider telecommuting for significant cost savings and employee satisfaction. Money is saved when office space is reduced or eliminated completely. This also allows companies to stay in operation in the event of a natural disaster or emergency. Employees are able to save money that would have been spent on gas, and may lead to a better work-life balance. A corporation may also be more competitive at recruiting by offering telecommuting as this is appealing for many employees. Many employers and employees feel morale and productivity are increased by telecommuting; additionally there is a reduction in absenteeism and improved employee retention. Employees believe their productivity goes up as there are less distractions, they feel more motivated with the extra flexibility, eliminating workplace distractions like meetings, and gives them the flexibility to work during the day when they are most productive. Employees also reap work-life, family life and social life benefits related to being able to spend more time at home. Telecommuters feel there are typically fewer distractions at home and experience less stress from the increased flexibility. Finally, a reduction in the number of commuters can result in lower carbon emissions, lower transportation costs and fewer traffic accidents.

Based on the benefits, it seems obvious that companies should utilize telecommuting in their organization, but potential issues must be considered and addressed. This must be done by both employees and from a managerial perspective. First employees must consider their situation, as it may be no less distracting than work if family is at home, or even the television draws you away. A bigger concern for employees is feelings of isolation or being left out. Even with instant messaging, VoIP and video chat communication with co-workers may decrease and a telecommuter may be overlooked for projects or promotions because they do not interact in the office. On a more personal level telecommuters must consider safety and health. If they were to be injured at home it may not be considered to have occurred in the workplace. There may be poor lighting or non-ergonomic seating that lead to health issues. Lastly, the previously mentioned feelings of isolation can cause stress or even more significant mental health issues in certain circumstances.

Aspects which must be considered from a managerial perspective are vast and much more daunting. The risks of telecommuting from a security perspective may be astronomical if the lines of communication to the outside are being established for the first time. Management must take time during planning to determine exactly what access is needed and evaluate the risk of an intruder gaining access, then do everything possible to mitigate the risk as best as possible. Perhaps even go so far as to not implement telecommuting if the information is highly confidential and the risk is too great. Another consideration relates to the employee at home – looking at both other aspects of security and employee accountability. If the computer being used is accessed by other family members, highly confidential information may be accessed inadvertently. A company must decide if they would hold the employee accountable for the integrity and safety of the data – is the risk of a data breach really offset by the benefits of telecommuting. Finally, managers must consider employee engagement. Employees with reduced communication may be less engaged, thus less productive, so effective leadership is imperative when managing telecommuters.

Telecommunications provide the ability to recruit, interview, hire, train, employ and supervise an employee without ever physically interacting with them. As technology continues to progress the experience of a working in a virtual office will become more engaging and effective and will likely see increasing use in the future. Many employees and their employers may see the benefits of telecommuting and want to implement it right away, but many issues must be considered before taking steps to do so. The potential risks from security breaches to employee disengagement must be considered, evaluated and addressed in order for a company to use telecommuting successfully.

 

Business Systems and the Work System Method

Today is something a little different. I'm going to discuss some of the pros and cons of analyzing a business organization’s IT infrastructure using the Work System Method as outlined by Steve Alter (found here, pdf warning).

 

Steven Alter's perspective on the work system method is a unique way to examing a business or organization, though I feel the pros are outweighed by the cons.

I do think all organizations should at least experiment with the model. IT and IS typically interprets data differently then management and using this model may help an organization to recognize problems in the work system early and find a resolution before it impacts the business.

That being said, I'm not sure who exactly this article is directed towards. Initially it seems like he is making a case for why business organizations should use the work system method, but then pokes holes in the method by illustrating that certain work systems need to react in ways that the work system model is not designed for. The article may be directed at IT and IS professionals who 'don't get' how a business works and he's trying to use a familiar model to explain an unfamiliar concept, and the fact he continually downplays technology this may also make sense, but from that perspective the content feels condescending.

I like the idea of using the model as a planning tool - determining what the work systems will be and how they interact and influence one another - could be very useful, but any large business is going to have various work systems that may or may not interact, have different employees and cultures, different attitudes, relationships and understanding. This type of model may not be able to account for those differences or react quickly enough to unanticipated changes.

A final con - the model seems less like something to follow, an outline, and more like a generalization of every business ever. All departments in every industry interact without realizing it. All departments have unanticipated problems that impact other areas, have different culture, training, objectives and purposes. There are always sunk costs, fixed costs, slow decision making processes. Corporations are like cruise ships - it's possible to turn the boat but it's slow and takes a long time. This is nothing new and applying a work system method will not change anything. I think the model is excellent for planning and as an analysis tool, but it seems impractical to try to organize and run a business using the model.

 

 

-I'm planning to update this later with a little more background and clean up the analysis a bit.

Importance of Selecting ERP Systems Software

 

It is very important for companies to make sure they have selected the right ERP systems software before implementation. ERP systems are extremely expensive and time consuming to implement. Firms may elect to construct their solutions in house, but this requires time, money and a good technology team to be able to start from scratch. Most firms will elect to buy ERP systems from technology companies specalizing in such systems - these third party companies have already sunk the time and money into developing a platform that is diverse and can be applied to different scenarios and organizations. If a company does not ensure they have made the right selection the system they end up with may not be able to perform all of the necessary, expected functions. Time and money would have already been spent on the system itself, installation, implementation and training to the point an additional overhaul could have significant burdens for the company, financially and technically. An ERP is a system the company has to adapt to, not the other way around, so if data has been transferred or if significant aspects of the corporate structure were changed, especially if these changes involved downtime, an insufficient ERP system may not be able to be fixed easily or inexpensively and depending on how data is translated to the improper system (and how much has been done) even if another even newer system is implemented additional unanticipated technical challenges may arise and data may not be easily moved.

The right ERP system, on the other hand, provides many benefits - simplified, consistent and integrated application systems and consolidated databases. An effective ERP will help the company run better, reduce expenses and provide consistency for employee experiences.

 

Java 2 EE vs .NET

 

While I am not a programmer and have no experience with either language I see pros and cons with both. Analytically I would choose Java, but I feel at this point in time .Net is on top.

.Net supports more languages which makes it easier (and potentially less expensive) to hire programmers. However, this could result in a single program written in 5 different languages making it more difficult to modify. .Net requires no license to use, but is only compatible with Windows operating systems. I've seen the issues this can cause - my company has a trading platform developed in house on .Net and a separate, nearly identical, web platform was constructed for clients with Macs.

Java is a widely used and well known language, so development shouldn't be a problem. Supported on all platforms is a big plus and can eliminate the costs associated with redundant software offerings. Also from a security perspective I am very happy that Java runs sandboxed - a feature I was unable to find support for with .Net. Licensing for EE is an additional cost, but getting enterprise support may be beneficial enough to outweigh this.

I think J2EE has substantial benefits over .Net, the decision should be easy. However, Sun Microsystems, and consequently Java, was recently acquired by Oracle. J2EE may require licensing, but Java is an open source standard. Last summer Oracle sued Google claiming patent infringement for their implementation of Java in Android, which is built on a Linux distro. This is a potentially bad sign for open source Java and the open source community is one of the main reasons Java is so widespread and well supported. It may be extreme (and a slippery slope) but Oracle's actions add some uncertainty to the future of the language.

I realized I forgot to write any alternatives. Python is supposed to be a fairly easy to learn, robust, diverse language. Whether it is on par with Java and .NET or not I couldn't say, but it's at least worth considering.

 Also, are we talking systems programming or application programming? If the former, what about the Go programming language (no exclamation point) from Google. It's still rough but it sounds like it could be a pretty good alternative.

 

Types of File Organizers

 

The three main types of file organizers are sequential, direct and indexed.

Sequential organization means the data is written, stored and read in order so the first thing entered is at the front and each subsequent file is stored in order. Sequential organization means that not only must the records be updated in order, but accessed in order as well. This means writing and retrieving data is slower. The record is also a fixed size so it can only be changed or updated as long as the size remains the same.

Direct organization is more similar to how hard drives store data. An index is created and updated as records are added, removed or changed. Records can be entered in any order and accessed in any order using the index. This does mean an index has to be created and maintained so writing will typically be slower than reading. Also, if the index is lost or destroyed there would be some significant difficulty accessing records.

Indexed organization requires a lookup index in a separate file that manages record keys sequentially and uses pointers to locate the data. This method typically is more effective for databases as record keys and data pointers can be used to point at other record keys with the data sorted differently providing significant flexibility.

 

Organizational Mapping and Implementation of Enterprise Resource Planning

 

Implementation of Enterprise Resource Planning (ERP) Systems can be very advantageous to large companies with complex business structure. An ERP system can help to enhance system integration, simplify database management and provide consistency across a platform. These systems are, however, expensive to install and may require the organization to change its structure or processing procedures to work with the ERP solution. It is important for an organization to use diligence while researching ERP systems to ensure one is selected that integrates well with business processes, existing systems and applications and meets the requirements to perform all necessary tasks.

Originally designed for the manufacturing industry to assist with efficient planning and processing, an Enterprise Resource Planning (ERP) System utilizes both software and business strategies and is designed to integrate information across an organization. These systems help various departments, from sales and service to accounting and HR to data processing and manufacturing, share and process data more efficiently. Repetitive business activities can be reduced or eliminated as tasks can be automated by the ERP system. Organizational performance can be increased substantially as ERP applications can assist with resource planning as well as management and operational control. In order to be effective across different departments, the majority of ERP systems are constructed of multiple software modules, each module is designed to support common business activities in specific categories.

An organization must devote resources towards preparation and research before installing and implementing an ERP system. First, an ERP is not suitable for all organizations. If there are many departments that function independently of one another it may be difficult to get them under a single, comprehensive, software system. ERP software is customized for each individual company, thus it is important that business processes and workflow are analyzed and mapped. If the people doing the planning are unfamiliar with the businesses processes it is likely the ERP will be unsuccessful. Understanding customization options is another important aspect as an easily configured ERP may not offer as many customization options limiting its versatility and ability to grow with the company.

On the other hand, a highly customizable ERP may require the organization to customize the software on its own and it may be difficult to implement future upgrades. Frequently businesses processes need to be changed or updated to fit into the scope of the ERP being implemented. As a result an organization should make sure to include employees in the process and make sure they are up to date on the status of the changes, what is taking place and why. An organization that does not take the time to properly scrutinize an ERP system may end up with a system that does not meet their needs, incurring additional expenses in the future to improve the system. Adding an ERP is an expensive and time consuming process, it should be implemented correctly the first time.

There are additional advantages to address in implementing an ERP system. Departments are able to act independently on materials they are trained for and can more easily disseminate the information company wide. Databases are consolidated eliminating unnecessary duplicate steps and reducing ambiguity across the company. Customer service can be more effective and efficient as an ERP reduces the need for physical paperwork and information can be processed more quickly. Some disadvantages have already been mentioned, but there are others to consider. There is no guarantee an ERP will successfully provide the anticipated benefits, something management must be concerned with since acquisition and implementation is extraordinarily expensive and time consuming. Costs and time also must be considered in regard to employee training and becoming accustomed to the new applications and layout. A company can also lose a competitive edge if the ERP requires changes to long-standing business processes.

There are many reasons an organization may consider an ERP. The potential benefits from such a system could lead to increased productivity, more efficient customer service, faster processing and a more integrated business. Introducing an ERP is cost and time prohibitive, so management must be certain it will meet the stated needs before moving forward. Businesses that do not commit to extensive research and understand the system will likely end up wasting time and money trying to get the insufficient system to perform the required tasks, or may have to throw it out altogether and find a new solution. While an ERP system may be important or useful for a particular organization, it is even more important the organization use due diligence during the decision making process to avoid any undue hardship.

 

The Importance of Data Management

Organizations rely on customers, suppliers, employees and service providers, but what they rely on more than anything else is data. Whether you’re talking about a fast food restaurant or a Fortune 500 company, data - sales numbers to customer information to employee payroll – is the most important aspect of any organization. As a result, good data management is vital for any corporation that wants to be able to thrive. By understanding how data interrelates, organizations are better able to use that data for decision making purposes. Technological challenges and managerial issues should be looked at as hurdles to overcome as customer expectations and employee experiences can be severely damaged as a result of poor data management, while proper organization can enhance the experience for everyone involved.

 

Poor data management leads to terrible customer experiences, unhappy employees and challenges that never should have happened in the first place. I have experienced this first hand. Every day at work I open 13 different applications so I can assist clients. If the only data needed is client data I will need to use up to seven of those systems to do so – two of which are for document retrieval, the rest account information. The system is difficult to learn, many employees do not know where to find features or that they even exist. Not only does this cause employee frustration but lengthens the amount of time it takes to help a client which increases costs and creates a poor experience as the next client waits to be connected to a representative. There are three separate applications where notes can be added, but notes are not consolidated or easily accessible. As a result a client returns a call, the note cannot be found and a new representative has to start from the beginning – once again incurring expenses and causing a poor client (and rep) experience. Multiple data vendors are used for the same data in different locations leading to confused, unhappy clients calling for clarification – thus expenses and bad experiences.

 

When examining the technical aspects and managerial issues as presented by Brown, DeHayes, Hoffer, Margin and Perkins it is clear there are many challenges that must be overcome to resolve these issues. Beginning with technical aspects, the company has an established data model, but has an overly complicated methodology that is poorly understood and explained and notation is department independent. It is absolutely unclear what method of data modeling has been used as all systems seem to have been developed at separate times by separate entities. The same data is maintained in multiple systems, but the databases do not connect. Much of this holdover is due to legacy systems that were expensive and time consuming to develop and old enough that data management was barely a concern, but the company is beginning to recognize technical shortcomings and attempting to address them.

 

Managerial issues have a bleaker outlook. Data management is volatile – systems will be unavailable at arbitrary with no explanation and many of the systems have not been updated since the days of DOS. The relationship between data is barely considered. As I previously mentioned data is not collated or consolidated across systems, notes and messages are difficult to find and inconsistencies flourish. No one is pushing for new programs because the legacy application software is so intertwined with everything else it’s nearly impossible to remove. Data is spread across systems and databases requiring long batch processes to attempt to maintain consolidated records. It seems clear that the system needs to be reexamined and though it may be impossible to start completely fresh changes need to be made to reduce inefficiencies, lower costs and attempt to replace legacy systems.

 

When data management is done right, no one should notice that anything is being done at all. Work processes and information flows should be studied and representatives using the system should be consulted so a plan can be made to increase responsiveness to customers. While clients and the majority of representatives may just find the problems an annoyance or inconvenience, when data management is kept in mind it is clear how important it is to the sustainability of a business.

I really like Security Now!

This made me laugh (from Security Now! ep. 55):

Steve Gibson: And you've survived your cruise.
Leo: I survived the cruise. The ship did not go down, unless it did, in which case I'm doing this podcast posthumously. And if it is, please don't cry.
Steve: What a horrible thought, Leo.
Leo: The last podcast.
Steve: We might have lost you in the Arctic.
Leo: Well, no, you know, we're taping this, obviously, before I leave on the cruise. But it's going to be an Alaska cruise, and it's a geek cruise, but it's kind of an unusual one because it's chess.
Steve: We're taping this?
Leo: Shhh. No one knows. If I had... tape is not quite the word we use.
Steve: Uh huh, exactly.
Leo: I say film on the TV show, too. I just I guess I'm an old-timer. I'm an old-timer. Now, we're actually, there's no tape involved in the creation of these. It's all bits. Once it leaves the microphone and gets into the mixer, it all is bits.
Steve: Yeah, well, when you referred to Mitch Miller last week, that pretty much did it.
Leo: That was it. They knew. They knew. I'm pretty soon I'll be saying the Internet's a series of tubes, and it'll be all over.
Steve: The jig is up.