Sep 30, 2008
Training Effectiveness...
http://www.allbusiness.com/management/912850-1.html
HEADNOTE
Training users is critical to the success of ERP implementations. An important aspect of training is documentation in the form of training manuals. However, the effectiveness of the training manuals will depend on their perceived usability. In this study, data on users' perceptions of ERP training manuals, more than two years post-implementation, are analyzed for usability dimensions of task support, learnability, navigation, and presentation.
PROBLEMATIC ERP IMPLEMENTATIONS are often associated with inadequate user training (Brown and Vessey, 2003; Roberts et al., 2003; Scott and Vessey, 2002). In a recent study of 30 manufacturing firms, user training was their top ERP problem (Duplaga and Astani, 2003). Training is consistently an under-budgeted item and is often the first item cut in the budget (Slater, 1998), despite Gartner's finding that each hour of effective training is worth five hours to the organization because well-trained users (1) reach the required skill level in less than a quarter of the time, (2) require less assistance from peers and help desks, and (3) spend less time correcting errors (Aldrich, 2000). Organizations spend as much as 50 percent (Davenport 2000) to as little as 5 percent of their ERP project budget on training (Wheatley 2000). Gartner research asserts that companies allocating less than 13 percent of project costs to training are three times more likely to have their ERP projects fall short of business and project goals compared with companies that spend 17 percent or more on training (Aldrich, 2000; Burleson, 2001)...
Sep 25, 2008
Two Great Wastes and Underutilizaton of Human Potential
Two Great Wastes™:
Not Listening
Not Speaking
We need a story that is embraced and retold that champions the success of teams who operate in a setting of respect and dignity speaking freely while engaging in deep listening.
Not listening has been cited as the source of the tragedies of the NASA Mars Climatic Orbiter and the
Not speaking deprives others of wisdom, perspective, and insight. Not speaking is culturally reinforced at young ages. We learn that speaking up can lead to punishment. We stifle ourselves out of fear.
Both not speaking and not listening become habits in our life and in organizations. That is the good news. The habit can be changed. The initiative for change can come from anyone taking an act of leadership.
Greg and I claim listening is the master skill of the leader. A corollary to that skill is creating the circumstances for others to speak. The only thing keeping us from bringing forth that leadership is the current story about the exercise of power and control on projects and in organizations. We must change our story of how we are most effective. We need a story that is embraced and retold that champions the success of teams who operate in a setting of respect and dignity speaking freely while engaging in deep listening. Let's battle the Two Great Wastes...
Here is the link to their paper:
http://www.iglc2004.dk/_root/media/13105_079-howell-macomber-final.pdf
Sep 19, 2008
So You Want To Be a Requirements Analyst?
Be it explicitly or not, someone always performs the role of requirements analyst on a software project. The official title may be requirements engineer, business analyst, system analyst, product manager, or simply analyst, but someone needs to translate multiple perspectives into a requirements specification and communicate with other stakeholders. Perhaps most importantly, the analyst helps determine the difference between what customers say they want and what they really need—and that’s easier said than done.
The Principal Conduit
The requirements analyst’s primary responsibility is to gather, analyze, document and validate the needs of the project stakeholders. As the principal conduit through which requirements flow between the customer community and the software development team, you’ll play a central role in collecting and disseminating product information, whereas the project manager takes the lead in communicating project information.
Requirements analyst is a project role, not necessarily a job title. One or more dedicated specialists can perform the role, or it may be assigned to any of a number of team members: the project manager, product manager, subject matter expert, developer or even a user. Nevertheless, a talented analyst can make the difference between project success or failure. In his book, Software Cost Estimation with Cocomo II (Prentice Hall PTR, 2000), Barry Boehm notes that seasoned analysts can reduce a project’s required effort by one third compared to similar projects with inexperienced analysts, and projects with highly skilled analysts require half the effort of those using the least capable analysts.
The Analyst’s Tasks
Straddling the gulf between vague customer ideas and the clear specifications that will guide the software team’s work, the analyst must first understand the users’ goals for the new system and then define functional and quality requirements that allow project managers to estimate, developers to design and build, and testers to verify the product. You can download a generic job description for a requirements analyst from http://www.processimpact.com/goodies.shtml. Here are the typical activities that you’ll perform while wearing the analyst’s hat.
Define Business Needs. Your work begins when you help the business sponsor or the product manager define the project’s business requirements. The first question to ask is, “Why are we undertaking this project?” Business requirements include a statement of the organization’s business objectives and the ultimate vision of what the system will be and do. Working with the people who hold this vision, you’ll help them express it by completing a vision and scope document template.
Identify Project Stakeholders and User Classes. The vision and scope document helps you identify the product’s important user classes and other stakeholders. Next, work with the business sponsors to select appropriate representatives for each user class, enlist their participation and negotiate their responsibilities. Write down the contributions that you’d like from your customer collaborators and agree on an appropriate level of participation from each one.
Elicit Requirements. Requirements for a software product don’t just lie around waiting for someone to collect them. A proactive analyst helps users articulate the system capabilities they need to meet their business objectives. Users naturally emphasize the system’s functional requirements, so steer discussions to include quality attributes, performance goals, business rules, external interfaces and constraints. It’s appropriate to challenge assumptions, but don’t try to force-feed users your own beliefs.
Analyze Requirements. Look for derived requirements that are a logical consequence of the customers’ requests, as well as hunting for those implicit requirements that they expect but haven’t verbalized. Spot the vague, weak words that cause ambiguity and confusion. Point out conflicting requirements and areas that need more detail. Specify the functional requirements at a suitable level of detail for the developers who implement them. A website being built incrementally by a small, well-synchronized team can get away with limited requirements documentation, but a complex embedded system to be outsourced to an offshore supplier needs a precise, detailed software requirements specification (SRS).
Write Specifications. Effective requirements development leads to shared understanding and creation of a system that addresses the customer’s problem. You’re responsible for writing well organized specifications that clearly express this shared understanding. Employing standard templates for use cases and the SRS accelerates requirements development by reminding you of topics that you need to discuss with users.
Model the Requirements. You’ll need to determine when it’s helpful to represent requirements with nontextual media, including graphical analysis models, tables, mathematical equations, storyboards and prototypes. Analysis models depict information at a higher level of abstraction than does detailed text. To maximize communication and clarity, draw analysis models according to the conventions of a standard notation such as the Unified Modeling Language.
Lead Validation. You must ensure that the documented requirements satisfy customer needs and that they’re clear, complete, correct, feasible, necessary, traceable, unambiguous, verifiable and so on. Analysts are the central participants in peer reviews of requirements documents. To ensure that requirements are interpreted correctly, you should also review designs, code and test cases based on the requirements specifications.
Facilitate Prioritization. You’ll broker collaboration and negotiation among the various user classes and developers to ensure that the right people make sensible decisions.
Manage Requirements. After establishing the requirements baseline, your focus will shift to managing those requirements and verifying their satisfaction in the product. Storing the requirements in a commercial tool designed for this purpose can help. You’ll want to track the status of individual functional requirements as they progress from inception to verification in the integrated product. Collect traceability information from team members to connect individual requirements to other system elements. This data will aid in managing changes to the baselined requirements within a change control process and tool.
Soft Skills
An effective analyst combines strong communication, facilitation and interpersonal ability with technical and business domain knowledge and the right personality for the job. Patience and a genuine desire to work with people are key success factors. Here are 10 soft skills that you’ll need to succeed.
1. Listening. Active listening involves eliminating distractions, maintaining an attentive posture and eye contact, and restating key points to confirm your understanding. You need to grasp what people are saying and also to read between the lines to detect what they might be hesitant to say.
Learn how your collaborators prefer to communicate and try to avoid imposing your personal filter of understanding on what you hear the customers say. Watch for assumptions that underlie both what you hear from others and your own interpretation.
2. Interviewing and Questioning. Most requirements input comes through discussions, so an analyst must be able to ask the right questions. For example, users naturally focus on the system’s normal, expected behaviors. However, every programmer knows how much code is needed to handle exceptions. Ask questions such as, “What should happen if...?” or “Could
reveal and clarify uncertainties, disagreements, assumptions and unstated expectations. Donald Gause and Gerald Weinberg describe “context-free questions” in Exploring Requirements: Quality Before Design (Dorset House, 1989).
3. Analytical. You’ll need to be able to operate at various levels of abstraction. Sometimes you must drill down from high-level information into details. In other situations, you’ll need to generalize from a specific need that one user described to a set of requirements that pertain to a whole class of users. Critically evaluate the information gathered from multiple sources to reconcile conflicts, separate user wants from needs, and distinguish solution ideas from requirements.
4. Facilitation. Requirements elicitation workshops are a common technique; to succeed, they require a neutral facilitator. You’ll need strong questioning and observational skills to help groups build trust and to improve the sometimes tense relationship between business and information technology staff. In Requirements by Collaboration: Workshops for Defining Needs (Addison-Wesley, 2002), Ellen Gottesdiener provides a wealth of advice for the workshop facilitator.
5. Observation. If you conscientiously watch a user perform his job or put a current application through its paces, you can detect subtleties that the user might not mention and thus expose new areas for requirements discussion.
6. Writing. Your main deliverable will be a written specification for customers, marketing, managers and technical staff; for this task, you need a solid command of the English (or other natural) language. Strive for clarity; avoid ambiguous words and phrasing, grammatical errors and overly idiomatic expressions.
7. Organization. You’ll be faced with a vast array of jumbled information gathered during elicitation and analysis. Structuring all the rapidly changing bits into a coherent whole demands exceptional organizational skills, along with patience and tenacity.
8. Modeling. From the venerable flowchart through structured analysis models (data flow diagrams, entity-relationship diagrams and the like) to contemporary UML notations, diagrammatic tools should be included in every analyst’s kit. Some of these techniques will be useful when communicating with users; others, with developers. You’ll often need to educate other stakeholders on the value of these techniques and how to read them—and you’ll find that these tools are useful ways to represent information even when you’re not discussing a computer system.
9. Interpersonal. You must be able to get people with competing interests to work together, and you should feel comfortable talking with individuals in diverse job functions and at all levels of the organization. You might also need to work with distributed teams whose members are separated by geography, time zones, cultures or native languages.
10. Creativity. The analyst is not merely a scribe who records whatever customers say. In his article, “
Domain, Business and Task Knowledge
Enthusiasm alone won’t take you very far in requirements gathering; breadth of knowledge gained through experience is the only way to hone your ability. Start with a solid understanding of contemporary requirements-engineering techniques and how they fit in various software development lifecycles. Analysts need to know how to thread requirements development and management activities through the entire product lifespan. A sound understanding of project management, risk management and quality engineering can help prevent requirements issues from torpedoing the project. In a commercial setting, you’ll benefit from knowledge of product management concepts and the way enterprise software products are positioned and developed.
Application domain knowledge is a powerful asset for an effective analyst, minimizing miscommunications with users. Analysts who understand the application domain often detect unstated assumptions and implicit requirements. They can also suggest ways that users could improve their business processes. Such analysts sometimes propose valuable functionality that no user thought of. Conversely, they do a better job of detecting gold-plating—that is, excessive or unnecessary functionality—than does someone who’s unfamiliar with the problem domain.
Grown, Not Trained
There’s no standard educational curriculum or job description for a requirements analyst, which is why most come from diverse backgrounds. If you migrate into analysis from a career as a system user, you’ll need to balance your extensive knowledge of the business and work environment with supplemental training in software engineering and how to communicate with your technical counterparts. You’ll also have to work against any tendency to believe your user experience is all-encompassing, to focus excessively on the user interface, or to ignore input from real users of the new product. On the other hand, if you’re a former developer, you’ll need to beef up your understanding of the business domain and guard against lapses into technical thinking and jargon.
Whatever your background, training and mentoring in the soft skills that the best analysts master, such as effective listening, negotiating and facilitating, helps new analysts of all stripes uncover users’ unspoken desires.
Sidebar: Gathering Data
Try the following techniques to get the goods on requirements.
• Interviews
• Facilitated requirements workshops
• Document analysis
• Surveys
• Customer site visits
• Business process analysis
• Work flow and task analysis
• List of external events and corresponding system responses
• Competitive product analysis
• Reverse-engineering of existing systems
• Retrospectives performed on previous projects
1 This paper was originally published in Software Development, July 2003. It is reprinted (with modifications) with permission from Software Development magazine.
Sep 15, 2008
Business Meeting Etiquette
As implementers, since we are continuously engaged in meetings of one sort or another, I think the following article by Donna Reynolds provides some good tips, which are common knowledge but needs to be imbibed as an habit, by practice.
Business meeting etiquette is basically good common sense, but one that takes a little practice. Certainly, we can all identify what not to do when planning and/or attending a meeting, but often what we really need is a set of guidelines as to how to do this successfully.
Attending a Meeting:
- Be on time. Always arrive a few minutes before the meeting is set to begin. This indicates respect for the person planning the meeting and shows that you are organized.
- Be prepared. Before the meeting, be sure to read any related material or review policies and procedures that will be addressed. You will be much better able to provide valuable input.
- Bring a notebook and pen. Even if you don't take a single note, this will show that you are interested in the agenda and serious about your role at the meeting.
- Participate. When the chairperson asks for feedback and you feel that you have something to contribute, be sure to do so. Ask questions as well.
- Be polite and attentive. Never engage in cross-talk in a meeting and be courteous to the person who has the floor. Listen to what is being said and resist the urge to argue with anyone.
- Conduct yourself professionally. Meetings are a great place to let people know that you are serious and have something to offer. Use this opportunity to demonstrate your knowledge and understanding.
- Thank the chairperson. It's such a little thing, but thanking the person who organized the meeting is not only good etiquette, it is also a sign of respect.
Running a Meeting:
- Plan ahead. If you are responsible for calling a meeting, plan ahead before sending out the meeting notification. Make sure that all interested parties are invited.
- Set a clear agenda. In your meeting invitation, clearly state the agenda of the meeting. List the action items and request that attendees come prepared to address these issues. Attach related documentation for review and request input.
- Set a time limit. In today's business environment, everyone is busy. By setting a clear time limit, you are showing that you respect your coworkers' need for time management as well as your own.
- Dress professionally. You want to be taken seriously, and appearance is important. Even if it is "casual Friday," wear appropriate business apparel.
- Encourage punctuality. Never be late to your own meeting! Set an example and plan to be in the room a few minutes before the start time.
- Manage the meeting. Stick to the agenda and keep an eye on the time. Politely discourage cross-talk and make sure that every person has an opportunity to speak. Move the agenda along, but not so fast as to miss key points. If the meeting goes off-topic, remind the group of the agenda at hand and suggest that unrelated matters be addressed at another time.
- Avoid engaging in petty bickering or arguments. Remain calm and diplomatic, no matter how heated the discussion may become.
- Summarize. At the end of the meeting, sum up the action items and if necessary, request another meeting.
- Follow-up. Once the meeting is over, follow up with all attendees. Send a list of action items, resolutions and issues that remain open. Thank people for taking the time to attend, and request feedback.
Sep 9, 2008
Sep 8, 2008
Issues and Experiences with Short implementation projects
... We have been implementing all the Oracle 11i modules (Service, Financials, Projects, Manufacturing, Order Management and Purchasing) all in the span of 3 months. While we have been able to map all the business processes successfully and been able to demonstrate the end to end business process within Oracle, there have been some great learning experiences which can be of use in other short duration projects which have a large scope encompassing several modules.
Data conversion: While defining the data templates for the data that needed to be converted is one part of the exercise involving consultants, getting all the proper data from legacy systems, cleaning them up and formatting them to fit the template is quite a task. Technical personnel at the client's end who understand the data and the legacy systems and who are conversant with manipulating and extracting this data is extremely important to ensure that the time-lines can be met in these short duration projects. Dedicated personnel need to be assigned from the client's end for this task at least in major areas like: Item Master, Cross Referencing of items (when you have different product names all referencing the same inventory item), Templates and categories for the Item master, Sub-Inventories the accounts associated with each and the type of sub-inventories, Bills and routings for all make items, Price lists and modifiers, Warranty data (contracts), Install base items with existing and expired warranties, Customer Master, Vendor Master, Price Lists, and of course financial information. If Projects are being implemented then mapping the existing projects data into the data model within Oracle and transforming the data can be a cumbersome task, if the company has a large number of active projects.
User Acceptance: User acceptance and resistance can be an issue, but this is more prevalent when the customer is installing E-Business suite for the first time, or if users are being exposed to Oracle 11i for the first time as in the case of most CRM implementations where even though the client has been running Oracle 11i, the users in Service and Sales have not been exposed to the modules and thus are not aware of the navigation and do not understand the Oracle Lingo. For these users we need to conduct navigation training and expose them to the end to end process flows and transactions occurring in Oracle. Watching a screen capture video of the process flows can do the trick. Oracle SE comes with some key process flows but doesn't cover all of them. Creating these videos can be a good investment as this will help users gain a higher level of comfort with the application navigation and thus lower the resistance barriers to change.
Mapping the Business Processes to the features and functionality within Oracle: While this pretty early in the equation from a consultant's point of view, in this specific case it has posed lesser problems than the above issues. We have been able to achieve a great degree of success by adopting a series of CRP sessions with increasing complexity of scenarios structured around all the key business flows. As we had little customization in this particular exercise, complexity of scenarios revolved around more customer familiar data which brought up the first issue.
An interesting point though which most consultants may be familiar but nevertheless ignored CRP sessions conducted with actual data from client tend to be more effective and produce more enthusiasm among users than when we use seeded data or the VISION Demo database.

