Agile Business Processes or Digital Concrete?

The best-of-breed vs. integrated suite has been an ongoing battle since integrated ERP software suites were first introduced. In the early days, buyers were forced to choose between multiple standalone systems that performed single functions very well or one integrated system that offered modules for most functions, but with varying degrees of functional depth. Over time, however, the functional gaps between best-of-breed offerings and integrated suites has narrowed. However as business models are beginning to change rather rapidly, the gaps are starting to widen again as smaller more agile vendors are able to focus on best of breed software for key processes with high rewards and quick paybacks.  Software as a Service (SaaS) offerings are also threatening traditional business models. Large expenditures for ERP software solutions may be a thing of the past.  For most organizations, there is stiff resistance against long-term and high-cost ERP maintenance contracts.  Companies typically spend 16-22% of their software license fees on maintenance and support each year. This maintenance cost is becoming too high for many organizations as they look for other alternatives.  Some organizations have simply cancelled their software maintenance contracts while others have sought alternative support mechanisms.  However, these strategies are not advised and together present many risks for an organizations, including, among others: Inability to upgrade the software Lack of support for critical situations Difficulty in supporting changes in business processes without new software functionality Proliferation of workarounds, and Conflicts with other contractual arrangements The cost of upgrading ERP software to current versions is extremely high, often in the millions or tens of millions of dollars, especially if the package has...

Requirements for Mobile Computing (Part 1)

A mobile workforce improves productivity by enabling employees to engage with customers, coworkers, suppliers, and partners face to face and in real time. When employees leave their laptops in the office, they expect mobile applications to provide the same level of access to ERP and CRM applications, customer data, product information and workflow support pertinent to their jobs as they have in the office.  They want to access this information through Web 2.0 applications or mobile applications developed for mobile phones or tablets. Mobile computing is fast becoming essential for many organizations to remain competitive. Let’s take retail for instance. Retail stores must now accommodate the technology preferences of tech-savvy consumers that want to shop and compare prices from their smartphones and tablets.  These sophisticated consumers find product information, promotions and prices from competing stores by scanning UPC codes when they are at the store. Retailers that adapt to how these consumers prefer to shop and, further, offer special applications that can be accessed through mobile devices will gain a competitive advantage over retailers that don’t. IT organizations realize that they must boost the productivity of mobile employees while minimizing associated support costs. However, not everyone knows where to start building an enterprise mobile strategy—a big problem because mobile computing is driving user behavior, and to remain competitive, businesses must enable employees to communicate and share data on the move.  To get started, it is best to start with an enterprise mobility strategy. An enterprise mobile strategy helps address an organization’s strategy, requirements and approach for mobile computing.  The strategy should focus on three key factors: Identifying and addressing...

Master Data Management Requirements

Across virtually every industry, the volume of data that is maintained about products, customers and suppliers is growing exponentially. Proactively managing this data is critical to achieving improved business performance in today’s highly competitive environment.  However, in most organizations, master data is duplicated and scattered across multiple systems and applications. As the data evolves independently, it becomes error-prone and keeps decision makers from having a unified view of the data. It also prevents internal customers from obtaining accurate and timely information they need to make purchasing decisions.  The result is higher costs, missed sales opportunities, eroding margins and increased risk. Often data is stored by an organization in independent silos. For example, marketing might be using a CRM system to generate leads for sales. Finance has another database with customer sales history and accounts receivable. Sales and manufacturing have additional databases to manage order history, product inventory, and shipments. An example of the problems that lead to erroneous conclusions because of these siloed databases follows. A successful marketing campaign is usually considered successful when product’s sales are up.  However, the financial reality is that those sales may have come at the expense of another product, so it wasn’t really a success when examining the whole. To make things worse, manufacturing might not have known about the campaign, so inventory levels were not adjusted. The company must now deal with an inventory surplus, customer dissatisfaction because orders aren’t being shipped and a financial hit to the bottom line.  All because data was not being shared between the departments. The goal of Master Data Management (MDM) is to solve problems such...

Conventional Requirement Management Tools and Methods do not Work in Today’s Environment (Part 1 – SOA)

Conventional approaches for requirements development and management are limited in their value as organizations attempt to address demands for increased innovation, rapid product and service rollout, outsourcing, cloud computing and new technology enablers such as BPMS, business rules engines and Service Oriented Architecture (SOA). Additionally, agile development and IT-centric methods for analyzing and designing software solutions don’t accurately represent how business processes, rules, events, knowledge and human to system interaction fit together. This prevents creation of a cohesive business solution design that can be understood by both business analysts and their stakeholders. The inability to preserve business concepts throughout the business/IT change lifecycle leaves the business community dependent on IT to understand the details of how their business operates, resulting in a cycle of rework that is incompatible with agile. For example, consider SOA. Many organizations are embracing SOA as a means to quickly respond to business demands while leveraging their existing investments in applications.  SOA is an architectural style for building software applications that use network services, such as the web. SOA, with its loosely coupled nature, allows enterprises to plug in new services or upgrade existing services in a granular fashion. Most major application vendors have an application or platform suite that enables SOA. Compared to traditional information technology (IT) projects, Service Oriented Architecture projects face severe challenges when it comes to requirements gathering and requirements processes.  Let’s examine why. Applications in SOA are built based on services. A service is the implementation of a well-defined business functionality which may be used in many different applications and business processes. Any time a service is changed, it is...

Requirements for Cloud Computing – Part 2

In part one of this series, I provided an overview of cloud computing.  In this article, I will start discussing how to define requirements for cloud computing. Cloud computing can provide many potential benefits in terms of cost savings and value generation to an organization.  It can also enable significantly shorter times to achieve benefits when migrating and creating new applications to support business processes. However, organizations must chose carefully among varied architectural alternatives based on their degree of alignment with business processes and existing architectural constraints. I strongly recommend that organizations avoid jumping too quickly on the bandwagon to embrace cloud computing.   It is critical to first determine whether available offerings present measurable benefits to your organization or project, and to consider the impact on other systems and processes of moving from an existing premises based product to a cloud based capability. “Cloud computing” is the one of the most overused buzzwords in IT.  Similar to many other new and emerging technologies, vendors are trying to cash in on the hype by over promising and under delivering.  Not defining a clear and complete set of requirements for cloud computing is a recipe for disappointment. Requirements are needed to ensure alignment with your business processes and compatibility with your system architecture. Developing requirements for cloud computing is similar to other projects, but also differs in many ways.  In addition to functional requirements, it is necessary to define many types of supplemental requirements unique to cloud computing, such as: Governance Who will own the application? What governance structure is needed? Who pays for the solution? What are the responsibilities of...