Abstract
HEADNOTEElectronic commerce (E-commerce) software development organizations face unique challenges based on rapidly changing markets, demanding customers with ill-defined requirements, and resulting priority conflicts between product line development and customer projects. A model of this unique development environment is identified with important linkages among the product function, the project function, and the underlying software development function within an organization. Guided by this model of the E-commerce development environment, a case study of a mediumsized E-commerce company was conducted. Based on this study, eight critical challenges to the successful development of top quality software systems are identified. From these challenges a research model and propositions are presented. As each challenge is discussed unique impacts of the E-commerce environment are reinforced by direct quotes from indepth interviews. On-going research will draw upon the research model and propositions to provide insights on how best to develop software products and deliver customer projects in E-commerce environments.
ACM Categories: D.2, D.2.9, K.6, K.6.1
HEADNOTEKeywords: Software Engineering, Electronic Commerce, Product-Lines, Software Development Process, Project Management, Software Development Metrics
E-Commerce Software Development
The foundations of electronic commerce (Ecommerce) systems are the software components that perform in an integrated fashion as portals, market makers, or product and service providers to deliver business-to-business (B2B) or business-to-consumer (B2C) services (Mahadevan, 2000). Rigorous requirements for security, performance, reliability, portability, and availability are essential in order to achieve high levels of customer satisfaction. Software development environments in E-commerce companies must embody the strategies, technologies, methods, and processes necessary to develop, deploy, maintain, and evolve software that meets customers' demands for high quality, low production cost, and rapid time-tomarket.
The development of effective, high quality software has long been considered a difficult task to manage and execute. E-commerce software vendors face the traditional challenges of software development efforts, as well as having to respond to three additional issues:
1. Rapidly evolving E-commerce markets with new standards proposed frequently,
2. Demanding customers with ill-defined requirements due to inadequate E-commerce business plans and volatile technology environments, and
3. Requirements to simultaneously manage both product software development (an evolving product line) and project software development (customer specific applications).
These unique features of E-commerce do not lend themselves readily to the implementation of comprehensive software development environments with disciplined, detailed processes and methods. Traditional software development practices (e.g., (SEI, 1995; Royce, 1998; Booch et al., 1999)) are often considered too onerous and inhibiting for effective application in these environments (lansiti, 1995). Research on new and innovative practices for Ecommerce software development is in its initial stages.
This research study analyzes the structure and functioning of an E-commerce organization, with specific emphasis on information systems development and the issues and challenges the IT organization faces in its environment. The purpose of this research is to identify the best structures and methods for developing software products and delivering customer projects in E-commerce software development environments.
The next section will discuss the guiding literature and model utilized in this exploratory study. To best uncover the complex interactions that lead to a successful E-commerce organization, a case study approach that focuses on the development of theory is applied. The case study methods are described after discussion of the guiding literature and model.
Thirty-nine in-depth interviews were performed in a medium-sized E-commerce B2B company with individuals ranging from software developers and testers to the executive management team of the company. Analysis of a representative sample of the interviews reveals three key areas for future research and eight specific research propositions underlying those areas. Each proposition is presented with a clear focus on the unique E-commerce characteristics. The paper concludes with a summary of the research propositions, managerial implications for each proposition, and future research directions.
An Initial Framework for E-Commerce Software Development
E-commerce and other high technology companies that operate in turbulent environments often struggle to structure their internal functions for software development and manage relationships with their software customers and market. For these companies, creating successful products requires good internal communications among technical, marketing, and sales units (Bonnet, 1986) as well as good external communications with customers (Dougherty, 1992; Brown & Eisenhardt, 1997). Studies of E-commerce firms state that one way to manage the fast paced development process is to synchronize software development work frequently (often daily), and then periodically stabilize the software into internal (alpha) or external (beta) releases (Cusumano & Yoffie, 1999). This software development process must also be an adjustable process with negotiated quality in development (Baskerville et al., 2001). For web-based applications, the process is further complicated due to the wide range of user profiles that must be satisfied (Murugesan & Deshpande, 2001), while at the same time maintaining the integrity of a product line for a software market (Donohoe, 2000).
In the E-commerce environment many companies are trying to juggle the need for projects to meet specific customer needs and the desire to create a fundamental product architecture that will produce more stable future growth. Many E-commerce software development companies begin by making products for a specific customer. This gives the company the cash flow necessary to keep the company running but it also leads to a situation whereby the products may not always be usable for new customers. Therefore, many E-commerce companies have moved to a software development environment where they simultaneously pursue product lines (the software components that are tailored to meet a market need in general) and projects (the software components designed to meet the needs of a specific customer). While the software product line approach has been practiced in some organizations for years (Batory, 1998) and the need for this approach was recognized quite early (e.g., Parnas, 1979), little guidance is available for deploying software product lines (Bass et al., 1997). The delicate balance between products and projects is often essential for companies to maintain sufficient cash flow to stay in business while building a product-line foundation for future growth and expansion. Such insights into software development in E-commerce companies and similar firms that produce software product lines, combined with initial discussions with this study's research site, led to an initial understanding of the E-commerce development environment consisting of key functional areas within such firms, their inter-relationships, and their relationships with the external environment (See Figure 1).
Figure 1 identifies two external influences (market and customer) and four internal organizational functions. The market oval refers to the set of firms who use or need E-commerce software as well as competitors who sell E-commerce applications; depending on the E-commerce company, this may be a general or a niche market. The customers oval represents individual companies who have unique information requirements for E-commerce applications. The internal organizational functions, represented by rectangles, are:
1. Business Strategy - The business strategy provides the rationale for all products and projects in the organization and reduces confusion in priority setting throughout the organization.
2. Product Planning and Management - Formal product line architectures, software and hardware, have proven very successful in the IT industry (Donohoe, 2000; Knauber et al., 2000). This function provides the planning and management for the organization's core assets. The function is charged with designing and maintaining product lines as sets of components that address the general needs of the market and at the same time can be adapted to specific needs of a customers.
3. Project Planning and Management- Flexibility and customer focus are primary considerations in planning and managing a customer project life cycle. Projects may involve the integration of one or more products into the customer's technology environment.
4. Software Development and Evolution - The functionality of commercial products is primarily embedded in software. Customer projects are also driven by the development of focused software modules. Thus, the effectiveness and efficiency of software development processes and methods are the underlying drivers for the organizational success of both product lines and customer projects.
The arrows in this model depict the direction of information flows among internal functions and external influences. Labels describe the information content of those flows. The dotted line arrows between external influences and business strategy indicate that the information flows may be indirect (e.g., competitors in the market introduce a new product) as well as direct communications (e.g., customer feedback formally solicited by the E-commerce firm). The model provides focus for this research study by identifying who to interview (from what functional areas within the company) and what questions to ask (e.g., about the interactions and communications between the functions and with the external environment).
IMAGE CHART 26Figure 1.
Research Methods - An E-Commerce Case Study
Due to the intriguing but little-understood nature of the E-commerce environment, a grounded theory approach is utilized to surface the organizational challenges faced in such an environment. The use of grounded theory was considered apt as it is more likely to uncover new issues and challenges that may not have been identified in earlier literature (Glasser & Strauss, 1967). The research approach outlined in Glasser and Straus and later extended and modified by Strauss and Corbin (1990 & 1998) was utilized to perform an in-depth case study of a single Ecommerce company. The context of the research study is defined as discussed below.
Site selection
A company that is implementing a product/project strategy in E-commerce is selected for this case study. In order to understand the issues a company experiences as it creates its strategy, structures, and processes for software development, a company that is in the process of defining its software development environment is preferable. Access to such a research site reduces the likelihood that the interviews do not accurately reflect the challenges faced by the company due to retrospective sense-making and inaccurate recollection of the process by the participants. The site that was selected was a medium-sized E-commerce company that provides products and services in the B2B market. The company's business model is to provide integration services to different partners in a value chain, using pervasive technologies, such as the Internet, to form highly coordinated trading communities. The company is a privately held company founded in the early 1990's with between 200-400 employees and approximately 500 customers'.
Data Collection
39 employees in individual one-hour sessions were interviewed to understand the software development challenges they faced and the challenges they perceived to be issues in the organization. One researcher spent several months as an observer at the company and participated in all interviews. In order to ensure breadth in data collection, individuals from all levels of the organization who represent the functions identified in Figure 1 were interviewed (including the CIO, CTO, product and project managers, software developers, testers, marketing managers, and sales managers). This enabled the collection of multiple interpretations of the organizational functions and activities. All interviews were conducted in person with either one or two interviewers present . A semistructured script was used for the interviews and was designed with open-ended questions to elicit detailed, candid responses. The framework depicted in Figure 1 provided the structure for the interview topics. This framework was, however, not shown to the interviewee until after the bulk of the interview took place in order to reduce biasing of the interviewee's responses. The participating company and all interviewed employees were assured confidentiality.
Data Analysis
Data analysis focused on information embedded in the interviews. All interviews were taped and transcribed for analysis. NVIVO (a software tool for qualitative data analysis) was used to facilitate the coding and analysis of the interview data. The coding scheme utilized initial seed categories (functions, recommendations, interpersonal atmosphere, personnel roles and job design, nature of organization, internal pressures, and external pressures) as well as many subcategories. The initial seed categories were selected based on a literature review of the variables (e.g., (Eisenhardt, 1989)) often reported in organizational design and software development research and the relationships identified in Figure 1. These categories were broad in nature and were meant to guide coding efforts, however care was taken to ensure that a priori relationships between categories did not heavily influence the emergent research findings (Eisenhardt, 1989). In addition to the micro level unit of analysis (i.e., the uttered sentences of the interviewees), macro-level overview tables were created to summarize comments.
Contextual knowledge of all interviews and the reflections and learning that took place via participant observation guided the micro level coding and analysis of ten representative interviews that were analyzed in full for this study. The ten interviews reflect the complete range of organizational roles (software developers, testers, project managers, product managers, executive management) and were selected based on the richness of content of these particular interviews. Two independent researchers coded the ten interviews. Each coder took multiple passes through each of the interviews in order to increase familiarity with the data and to uncover deep meaning from the data. The coding was done to ensure depth and breadth of understanding, not to quantify the qualitative findings. As such the first coder would code the interviews in NVIVO and the second coder would verify that there was agreement with the first coder's coding while extending it to include any additional codes that would add more depth to the analysis of the data. Whenever one coder was not in agreement with the coding of a passage of text the two coders met and came to consensus about the most accurate way to code the passage. Most passages were coded to two or more categories to aid in the sense-making process. Therefore, the coding schema represented multiple dimensions in which the data could be viewed. For instance, most data were coded to a specific activity such as product or project development and also coded to a descriptive category such as internal pressure due to turnover.
Through the analysis of the data set, eight Ecommerce software development challenges were discovered that address organizational structures, processes, and communication. For example, a passage that was marked for two activities, product planning and project planning and management, as well as the descriptive code of conflict, created a datum that, combined with other such passages, was used to develop the challenge about the conflict of goals between products and projects. Thus, patterns of data codes were aggregated to create eight broad challenges (i.e., we conceptualized similarities between expressed concepts that lead to the categorization of these concepts into the eight broad challenges) (Strauss & Corbin, 1998). The result of this stage of analysis is a proposed research model that categorizes the eight challenges and provides a set of research propositions. In the next section, we show the research model (Figure 2) and support it with quotes from the interviews. The research model and propositions developed from this study will allow researchers to take the next step of forming hypotheses to study specific E-commerce constructs based on more formal, focused empirical studies (Eisenhardt, 1989).
Resulting Research Model and Propositions
A thorough analysis of the coded interviews leads to the development of a set of challenges that are presented in the research model shown in Figure 2. Each challenge is substantiated by evidence gathered in the interviews. This section discusses the challenges, explores antecedents and impacts of the important issues, and develops the research propositions. The circumstances unique to E-- commerce 13213 environments make these challenges particularly visible and noteworthy.
IMAGE CHART 42Figure 2.
Organizational Structure and Inter-Unit Communications
Two pervasive issues are prominent in all of the interviews. Issues of intra-organizational communication (Challenge 1) and structure (Challenges 2 and 3) are critical in any business but have particular impact on organizations in today's 'fast pace and quick adaption' economy (Eisenhardt &Tabrizi, 1995).
Challenge 1 - Achieving effective communication in organizational flux. Effective organizational communication in a rapidly changing environment is very difficult. Knowledge of corporate vision, business strategies, product/service lines, customer projects, development priorities or anything beyond an individual's current work assignment is limited.
Timely communication throughout a rapidly growing E-- commerce company is extremely difficult. Organizational structure and communication paths are highly correlated and have been shown to have major impacts on organizational effectiveness (Galbraith, 1993; Seaman & Basili, 1997). At the studied company, it is often not clear who controls critical information in the organizational structure and how that information is disseminated to those who need it. Messages aimed at external constituencies often conflict with internal information and confuse software developers as to strategic directions and priorities. Frequently, informal channels of communication (e.g., rumors) take on more perceived validity than official channels (e.g., weekly newsletters). Lack of formal lines of communication is easily seen.
"There is mis-communication between groups because there's really no defined way to communicate between groups." (Product Architect)
Even when communication does occur, the quality of the information must be trustworthy.
"There's this uncanny eagerness to present information in a certain fashion. Let's say the development manager has some bad news. Well, he can position that anyway he wants. And most of the time it's, `I'm not going to give you all the information when I bring it up the line and for the really bad stuff, I'll point the finger at a different group." (Product Architect)
Effective communication does not necessarily mean too much communication.
"I don't know how to solve the communications problem. If you have highly effective small teams, they're focused on what it is they're supposed to be doing. If they spent all their time in meetings learning what other groups are doing then they wouldn't be getting their own jobs done." (Principal Software Developer)
The importance of communication is seen in the following quote from a software developer who is clearly frustrated by the lack of information on componentbased development in product-line strategies.
"And when there's not good communication between teams, you don't always have interoperable components. And when you don't have an over-guiding statement of, "This is where we're going and this is where all of us are trying to get to," then you don't know what your components may be involved with in the future."
For many of the interviewees at the research site, the failure of those at the strategic level to properly structure the work units to enable communication and to establish formal communication mechanisms has negatively impacted software development.
Research Proposition 1: Effectiveness of inter-unit communications is positively associated with E-commerce software development success.
Challenge 2 - Managing market versus customer goals. E-commerce organizations require a clear distinction between market-driven product goals and strategies and customer-driven project goals and strategies in order to support effective software development.
Software development is considered a task of high difficulty that creates high inter-unit dependencies; therefore it is essential to have adequate information flows between units (Curtis et al., 1988). Figure 1 identifies three specific inter-unit interdependencies that relate to software development functions in Ecommerce organizations:
1. Between software product line managers and software project managers, the product line architecture is an essential basis for software project implementation while, at the same time, customer requirements drive an improved understanding of product line needs;
2. Between software developers and software product line managers, the product line architecture provides the framework for product software development; and
3. Between software developers and software project managers, customer requirements for functionality and the customer's technologies guide customer project software development.
The model of the development environment presents a clear distinction between market-driven products and services and customer-driven projects. The historic sales-driven focus in E-commerce companies often leads to the perception that all software development work is directed toward customer-driven projects. The development of stable product offerings seems to be secondary to rolling out multiple, 'one-off customer solutions. This fact is clearly observed in the following statements:
"We are focused too much on each individual customer in developing custom solutions and that derails the overall development effort of a generic solution that is available for all customers." (Project Manager)
"As long as development is one hundred percent busy on customer requirements, there is no way I can ever get them market-driven and having them building something that I don't currently have a customer out here waiting to take. We want to make that switch. It's a hard switch for a lot of companies to make." (Product Manager)
The amount of formal separation within an Ecommerce company between the product unit and the customer project unit will vary among companies. However, evidence points to the need for such separation. It is an important indicator of maturity to be able to move from a complete customer project focus to a strategic mix of product and project foci, as seen in the following quotes:
"So quickly here we're going to have to get out of the mentality where core development folks are cognizant of the specific customer scenarios. We've got to get past that. I understand where we are today and the necessity to do that. But as we do this for one particular customer it must be reusable by many other customers with similar sets of requirements." (Executive Management)
"We get hung up on certain projects. Customer requirements turn out to be our overall product requirements and there's some mixture, which causes confusion. We really should have folks that are dedicated to building the product and other folks dedicated to taking that and modifying it to meet their own customer's needs." (Software Development Manager)
Research Proposition 2: A separation of product and project functions in the organization is positively associated with E-commerce software development success.
Challenge 3 - Positioning the product function. The organizational location of the Product Planning and Management function is a critical decision with no clear solution. Product managers must combine an acute awareness of the E-commerce market with technical skills in systems architecture and software development.
At the research site company, the location of the product function had moved in the organizational structure several times during the past several years. At the time of the study the Product Management Office (PMO) had just moved from under Marketing to a position reporting to the CIO. There is a clear diversity of opinion as to where product management naturally belongs. In fact, there are other sentiments in the company that the product function should be with Sales to be closer to the customer or under the CTO to be more aware of E-commerce technology directions. The following quotes from members of the executive management team illustrate the issues:
"Well as of about two weeks, Product Managers reported into Marketing. We've since moved that function to report into CIO. So effectively we have a much tighter core team of leadership across product strategy, product management planning, development, operations support and the customer facing delivery represented by Sales Manager."
"I think part of the reason for bringing this all under the CIO's domain is to be able to provide the linkages that are required to facilitate strategy, and strategy always is straddling the product planning and the project planning."
"I think we need to do a better job of keeping up with what the market is doing and our competitors are doing. We've made leaps, strides, and gains on that exact subject over the last, probably, six months. The fact is that we're still trying to figure out where the Product Management Office sits and what goes under CTO."
As evidenced in the following quotes, product managers must combine knowledge and skills in Ecommerce marketing, sales, software development, and technology.
"It's architecture and marketing, you know? Those are the two words." (Software Development Manager)
"You have to have a set of architects that you can trust I wouldn't want to have these architects come from big companies with ten million-dollar projects. Get those types of architects that understand the industry and yet understand technology." (Principal Software Developer)
As the company wrestles with the appropriate organizational location of the product line planning and management function, interviewees perceive this as a critical strategic decision.
Research Proposition 3: Appropriate organizational location of the product planning and management function is positively associated with E-commerce software development success.
Relationship with the External Environment
Two external influences are important to all companies: their market and their customers. Sometimes these influences may cause internal conflict within the firm (as in Challenge 2, above). In these interviews, the critical importance of the relationship with and focus on customer is evident (Challenge 4), especially during information requirements elicitation (Challenge 5).
Challenge 4 - Maintaining customer engagement. With customer satisfaction being a pervasive Ecommerce business goal, a well-defined `End-to-End' customer relationship process must exist. Critical gaps and unduly rigid interfaces must be eliminated and customer expectations managed.
Customer engagement with a well-defined process is essential to eliminate gaps and conflicts between marketing, sales, product, and development organizations. Correct customer expectations must be established initially and managed effectively throughout the engagement. Giving the customer visibility into development progress can enhance this goal. E-commerce environments need strong, effective processes to smooth the inevitable conflicts between aggressive sales teams and the development teams that must deliver the customer solutions. This tension is clearly seen in the following quote:
"There are people who trash the process because they're not working with the process, don't believe in it, or see errors that they're not willing to fix. They just want to mow over it and get to the customer; get what the customer needs now. And while that's admirable from a sense of pride and good customer service, in the end it doesn't really help us very much to improve the process because we're not going to have one or two customers in the future; we're going to have multiple customers. And if we don't have a process, we'll fail as an organization." (Software Development Manager)
The management of customer expectations on schedule, budget, and quality is a difficult task in Ecommerce environments since there are few internal measurement baselines (see Challenge 8) and the typical customer is pushing for rapid delivery. The findings in Baskerville et al., (2001) on negotiated quality and time-driven schedules are clearly supported in the following quotes:
"We develop something and the client pushes us to bypass our own internal quality assurance efforts so they can get the product sooner. And then they complain a month or two later that the quality is bad. It is a vicious cycle." (Project Manager)
"We don't have the time to meet the deadline and meet their quality standards at the same time. That raises everybody's stress level." (Software Development Manager)
"In my opinion, the wrong people are driving delivery schedules. I think delivery expectations are set by people who are not completely aware of the investment to meet that delivery schedule.' (Principal Software Developer)
Research Proposition 4: Successful management of the customer relationship, in particular the management of customer expectations, is positively associated with E-commerce software development success.
Challenge 5 - Unearthing the requirements. The elicitation and capture of customer requirements for Ecommerce applications are difficult but essential activities. Customers typically have ill-defined requirements due to inadequate E-commerce business plans and volatile technology environments.
What is a good requirement in E-commerce and how is it represented? These are not easy questions, particularly as standards and technologies change almost daily. Significant resources must be allocated to develop thorough, but flexible, requirements definitions before effective software development can begin. The set of requirements for a specific customer must be complete, consistent, achievable, and traceable throughout the software development process. Each requirement must be represented at the right level of abstraction to state what needs to be done without stating how it is to be done. Developing a stable requirements foundation for E-commerce customers is a particularly difficult challenge as recognized in the following quotes:
"Earlier this year we were doing work for a customer and they couldn't make up their mind what they wanted. So for about a month we sat around trying to guess what it was they wanted and it was very frustrating. But I don't think that was a reflection of this company, that was a reflection of an external customer that couldn't be controlled." (Principal Software Developer)
"Requirements have not been fully spelled-out In certain cases, there have been huge black boxes where - here a miracle occurs." (Principal Software Developer)
"We've concentrated extremely heavily on functional (requirements) and not really looked at some of the performance issues and other things. That one certainly jumps out at me." (Software Development Manager)
Another important observation is that requirements must evolve over time as the product/service matures with a better understanding of market and customer demands. The requirements engineering process must be iterative and adaptable to continual change.
"I think conceptually we have an idea of what the requirements process should be and I think that when we're executing it, it's working reasonably well. When we're engaged with the customer and we're responding to that customer situation by creating a solution and presenting that solution on the fly, or subsequently after the initial call, working with our solution teams and system engineers to fashion that solution back to the customer and in doing that identifying any gaps we may have and fulfilling all the requirements of that customer." (Executive Management)
Research Proposition 5: An iterative and adaptable customer requirements engineering process is positively associated with E-- commerce software development success.
New Technology Development Environment
The effectiveness and efficiency of software systems and the software development organization is the driver of success in the E-commerce marketplace. The software development function underpins both product development and customer project solutions. However, it is difficult to employ appropriate technologies and methods for E-commerce development (Challenge 6) when standards are uncertain and necessary knowledge and skills are lacking (Challenge 7). Equally important is the need for a focused measurement program (Challenge 8).
Challenge 6 - Leveraging E-commerce technology. Effective product-line strategies require the innovative use of the latest E-commerce technologies, to include system architectures (e.g., hardware and software), integration technologies (e.g., middleware), and component-based development (e.g., Commercial Offthe-Shelf (COTS)).
Formal hardware and software architectures underlie effective product-line strategies. E-commerce development organizations must make use of component-based software development in order to achieve the levels of productivity and quality essential for success. Having the foresight and discipline to employ software architectures and components effectively in product architectures is an important challenge (Kruchten, 1995).
Nearly all of the employees interviewed stated the need for clearly defined product architectures. They were also unanimous in their desire for effective component-based development methods as evidenced in the following quotes from principal software developers.
"The current Internet technology doesn't leave much time for a long development cycle as far as planning. That doesn't mean that it shouldn't occur, what it means is that you need a very effective and streamlined set of procedures to follow and well established infrastructure and tools to build on."
"We need to define the product architecture more clearly and we need to get it done soon. We keep developing these custom solutions which are not scaleable."
"We should be developing components that are reusable across our different products and services. That's the most critical thing that I see as a shortcoming that needs to be addressed."
"One thing that I think would make a difference would be more comprehensive and focused understanding of what we're trying to hit. We are always driven by what our individual customers want first. It certainly would help us focus; help us to get the right architectures and designs. It would help us to focus the teams, the people. Organize them so that they could be working in tandem on simple goals."
Research Proposition 6: Effective use of systems architectures, integration technologies, and component-based development is positively associated with E-commerce software development success.
Challenge 7 - Provisioning E-commerce standards and skill sets. Maintaining currency on E-commerce standards is a difficult challenge. Typically, individual programmers or small teams apply whatever standards, methods, and languages they find most effective on each project. Up-to-date training on the latest E-commerce skill sets is needed but is often lacking.
A level of software development maturity is indicated when an organization begins provisioning standards and skill sets in order to achieve consistency, communication, and quality control. However, knowing what standards to follow in the E-commerce world is not an easy task. Standards for 13213 trading partner agreements are under constant change with new standards proposals announced frequently.
The uncertainty that currently exists in standards for Ecommerce applications is a major challenge both strategically and tactically. Debates rage over design standards (e.g., UML), programming language standards (e.g., Java), and Internet mark-up language standards (e.g., XML). Thus, while most developers interviewed desired standards to guide their work, they recognized the volatility of the E-commerce world and the need to stay current on the skill sets needed to develop E-commerce applications. Ongoing training on skills needed for new products and projects is essential for developers to maintain their currency in the field. The following quotes demonstrate the difficulty of tracking and successfully applying software development technologies in E-commerce:
"I'd love to learn new technology. I'd love to learn JAVA. Now if we go XML I'd love to learn that. I don't know where we're lacking in the technology. I'm not sure." (Software Developer)
'A few of the people are using object technology with JAVA. I don't think there's a problem there but not everybody is using object technology." (Principal Software Developer)
"Most of the work that I've been doing in the last two years has been with JAVA and there are defacto standards out there. Of course, there are all kinds of design patterns that have been published for design." (Principal Software Developer)
The company is beginning to support training programs to develop essential E-commerce technical skills:
"A lot of the training happens informally. As we have a need, people take the time to train themselves. There has been more internal training on products and other technologies that we're using." (Principal Software Developer)
"I know a couple of individuals that are developers and we're retooling them into JAVA and other skill sets. And I'm actually glad to see that the company is taking that effort. I do, however, think there are areas where we need training."(Project Manager)
Research Proposition 7: Strategic and tactical selection of E-commerce standards and continuous, formal training of developers on the standards are positively associated with E-commerce software development success.
Challenge 8 - Measuring for improvement Measurement programs are needed to provide a foundation for improvements in product/service quality, developer productivity, and customer delivery schedules.
Measurement is essential for improvement. An effective organization requires a strong metrics program in order to improve product and service quality, developer productivity, and customer project delivery. Extensive measurement programs are often difficult to justify in E-commerce companies. However, a mature development organization depends on accurate and timely metrics to be successful. In particular, baseline measures for project estimation are essential in order to perform realistic project scheduling. Recent research has demonstrated the difficulty of estimating costs and schedules for Web development projects (Reifer, 2000) and COTS-based projects (Sedigh-Ali et al., 2001). New measures of project size and effort are proposed for these application types.
The following quotes point out difficulties in defining metrics for E-commerce environments:
"The measurements, I think there's something definitely lacking. I'm not sure if it falls under quality metrics or the productivity metrics but it might even be stability metrics of some of our potential customers. We don't have any metrics or we haven't tested them in a large-scale environment." (Software Developer)
"With (product), because it's so new it's taken a lot more time than it should have because we're still evolving it. The metrics are very hard to gather. One of the efforts under way right now is to figure out what it's costing us to deliver (the product) because before we had no clue. Time was being spent everywhere and it wasn't being put in granular buckets to know we spent this much on project management, this much on testing, this much on rework or whatever. What we just instituted over the last month was starting to lay down very granular cost codes so we could start tracking all that time to know how we're doing. A high priority item is to start looking at those metrics." (Executive Management)
The problems of defining product quality are illustrated by the following quote from an experienced project manager:
"I know what they're giving out to the customer, the customers internal and external. But whatever's given to the customer, I know what the quality is by the feedback, by the kind of problems we're having. If we're having problems with that product, then I'll know that the quality is low because there wasn't sufficient testing. So that's how I measure. I actually don't believe in being able to scientifically measure technical development. I don't see it being possible."
The interviewees are consistent in describing the difficulties in measurement in the E-commerce software development environment, but also the pressing need for such measurements.
Research Proposition 8: Measurement programs adapted to the unique nature of E-- commerce software development are positively associated with E-commerce software development success.
Discussion and Future Research
The goals of an exploratory case study are to provide a better understanding of an intriguing environment and to provide a foundation for on going research studies (Eisenhardt, 1989). In this case study, the intensive exposure to the day-to-day activities in a B2B E-- commerce company as well as the rich detail uncovered in the interview data have led to such an understanding of their software development environment. E-commerce software development poses important new challenges for the successful introduction of products and the development of effective customer solutions.
Based on a selected set of in-depth interviews from a single case study site, this paper describes and analyzes eight specific challenges in this context, and produces a research model and propositions to guide further research. One important research question discovered in this case study is: "What is the best way to organize product and project software development in an E-commerce business?" Table 1 provides a summary of the propositions with associated managerial implications.
While these challenges are not necessarily particular to software development in E-commerce, there are unique factors that make their study new and interesting in an E-commerce environment. Two key limitations to this research study and its findings must be noted. First, the model and propositions are based on a single E-commerce software development company that provides services and products to organizations that wish to participate in B2B marketplaces. Thus, no claim can be made to the generalizability of the findings. Second, the model and propositions are based on a qualitative analysis of the interview data. Both limitations underscore the need for future research to test our propositions with multiple Ecommerce development sites.
The practical implications of this research were significant for the E-commerce company under study and we believe add insights into the software development processes that occur in other similar companies. The analysis of the interviews provided a valuable assessment of the organization's software development environment. Modifications in organizational structures, processes, methods, and tools for software development have resulted from the presentation of the assessment information to the company's management team. Exposure to the findings of this study may further improve the software development practices at other companies, as they better understand the various implications and dimensions of concern faced when developing software in an E-commerce environment.
Additional research is required to enhance the research model suggested in this paper. Each of the eight propositions in this study must be further tested. Here, we begin to uncover what an E-commerce software development company must pay special attention to but the question of how to best address these issues needs to be elaborated.
Several research directions are underway to further investigate these findings. The exploratory case study will continue with a rigorous analysis of all 39 interviews. We continue to look for additional relationships that exist among individuals, their development roles, and organizational characteristics, such as culture, nature of work, and internal/external pressures. The discovery of clear relationships will provide a greater understanding of the software development environment in E-commerce companies.
IMAGE TABLE 140Table 1
SIDEBARAcknowledgments
SIDEBARWe acknowledge the great support and cooperation received from the anonymous company studied in this paper. The foresight of the management team to uncover and deal with difficult challenges and the openness of the employees made this research an exciting and fruitful endeavor. The manuscript was greatly improved by insightful comments from the Associate Editors and three referees.
FOOTNOTE1 Broad descriptive information is provided to inform the reader of the company's approximate size and longevity. Due to a confidentiality agreement with the company, more specific data cannot be released.
2 The second interviewer, who participated in approximately onethird of the interviews, was a company employee.
REFERENCEReferences
REFERENCEBaskerville, R., Levine, L., Pries-Heje, J.,and S. Slaughter. (2001). "How Internet Software Companies Negotiate Quality," IEEE Computer, Vol. 34, No. 5, pp. 51-57.
Bass, L., Clements, P., Cohen, S., Northrup, L., and Withey, J. (1997). "Product Line Practice Report", Technical Report, CMU/SEI-97-TR-003, June 1997.
REFERENCEBatory, B. (1998). "Product-Line Architectures." Invited presentation, Smalltalk and Java in Industry and Practical Thinking, Erfurt, Germany, October 1998.
REFERENCEBonnet, D. (1986). "Nature of the R&D/Marketing Cooperation in the Design of Technologically Advanced New Industrial Products." R&D Management, Vol. 16, pp. 117-126.
Booch, G., Rumbaugh, J., and Jacobson, I. (1999). The Unified Modeling Language User Guide, Addison-Wesley, Inc., 1999.
Brown, S. and Eisenhardt, K. (1997). "The Art of Continuous Change: Linking Complexity Theory and Time-paced Evolution in Relentlessly Shifting Organizations." Administrative Science Quarterly, Vol. 42, March, pp. 1-34.
REFERENCECurtis, B., Krasner, H., and Iscoe, N. (1988). "A Field Study of the Software Design Process for Large Systems," Communications of the ACM, Vol. 31, No. 11, pp. 1268-1287.
Cusumano, M., and Yoffie, D. (1999). "Software Development on Internet Time," IEEE Computer, Vol. 32, No. 10, pp. 60-69.
REFERENCEDonohoe, P. Ed. (2000). Software Product Lines: Experience and Research Directions, Boston MA: Kluwer Academic Publishers.
Dougherty, D. (1992). "Interpretive Barriers to Successful Product Innovation in Large Firms." Organization Science, Vol. 3, pp. 179-202.
REFERENCEEisenhardt, K. (1989). "Building Theories from Case Study Research," Academy of Management Review, Vol. 14, No. 4, pp. 532-550.
Eisenhardt, K. and Tabrizi, B. (1995). "Accelerating Adaptive Processes: Product Innovation in the Global Computer Industry." Administrative Science Quarterly, Vol. 40, pp. 84-100.
Galbraith, J. (1993). Organizing for the Future: The New Logic for Managing Complex Organizations, San Francisco: Jossey-Bass.
REFERENCEGlaser, B. and Strauss, A. (1967). The discovery of grounded theory: Strategies of qualitative research. London: Wiedenfeld and Nicholson.
lansiti, M. (1995). "Shooting the Rapids: Managing Product Development in Turbulent Environments." California Management Review, Vol. 38, pp. 3758.
REFERENCEKnauber, P., Muthig, D., Schmid, K., and Widen, T. (2000). "Applying Product Line Concepts in Small and Medium-Sized Companies." IEEE Software, Vol. 17, pp. 88-95.
Kruchten, P. (1995). "The 4+1 View Model of Architecture," IEEE Software, Vol. 12, No. 6, 4250.
REFERENCEMahadevan, B. (2000). "Business Models for InternetBased E-Commerce: An Anatomy," California Management Review, Vol. 42, pp. 55-69.
Murugesan, S., and Deshpande, Y. Eds. (2001). Web Engineering: Managing Diversity and Complexity of Web Application Development, Berlin: Springer-Verlag.
Parnas, D.L. (1979). "Designing Software for Ease of Extension and Contraction," IEEE Transactions on Software Engineering, Vol. SE-5, No. 2_
REFERENCEReifer, D. (2000). "Web Development: Estimating Quick-to-Market Software," IEEE Software, Vol. 17, No. 6, pp. 57-64.
Royce, W. (1998). Software Project Management. A Unified Framework, Addison-Wesley, Inc.
REFERENCESeaman, C., and Basili, V. (1997). "Communication and Organization in Software Development: An Empirical Study" IBM Systems Journal, Vol. 36, pp. 550-563.
Sedigh-Ali, S., Ghafoor, A.,and Paul, R. (2001). "Software Engineering Metrics for COTS-Based Systems," IEEE Computer, Vol. 34, No. 5, pp. 4450.
REFERENCESoftware Engineering Institute. (1995) The Capability Maturity Model Guidelines for Improving the Software Process, Addison-Wesley, Inc.
REFERENCEStrauss, A., and Corbin, J. (1990). Basics of Qualitative Research: Grounded Theory, Procedures, and Techniques, Newbury Park CA: Sage Publications.
Strauss, A., and Corbin, J. (1998) Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory, Sage Publications, Thousand Oaks, CA, 1998.
AUTHOR_AFFILIATIONAlan R. Hevner
University of South Florida
AUTHOR_AFFILIATIONRosann W. Collins
University of South Florida
AUTHOR_AFFILIATIONMonica J. Garfield Bentley College
AUTHOR_AFFILIATIONAbout the Authors
AUTHOR_AFFILIATIONAlan R. Hevner is an Eminent Scholar and Professor of Management Information Systems at the University of South Florida. He holds the Salomon Brothers/Hidden River Corporate Park Chair of Distributed Technology. Dr. Hevner has published over 100 research papers on information systems development, software engineering, distributed database systems, healthcare information systems, and telecommunications. He has consulted for a number of Fortune 500 companies.
AUTHOR_AFFILIATIONEmail: ahevner@coba.usf.edu
AUTHOR_AFFILIATIONRosann Webb Collins is Associate Professor of Management Information Systems at the University of South Florida. Her research focuses on global information systems, systems development, and systems development, testing and use. Her publications include Crossing Boundaries: The Deployment of Global IT Solutions, and articles in MIS Quarterly, Information Systems Research, The Information Society, and other MIS and information science journals.
Email: rcollins@coba.usf.edu
AUTHOR_AFFILIATIONMonica J. Garfield is an Assistant Professor in Computer Information Systems at Bentley College. Her research focuses on organizational structures to support IT development, the use of IT to enhance creativity, and knowledge creation. Her work has appeared in Information System Research, Journal of Strategic Information Systems and Journal of Management Information Systems.
Email: mgarfield@bentley.edu