2015
hybris Project Patterns Atanas Aladjov
Today, even a trivial e-commerce project becomes a challenge, when using an evolved highly customizable platform such as the hybris Suite.
2014
What if we look at a hybris project as being a sequence of activities, which repeat over and over again – like patterns? Then, for each difficulty we face, we could find a solution ‌
Praise for hybris Project Patterns
Praise for hybris Project Patterns For the best part of 15 years, I have had the pleasure of working with Atanas or following him in the building of his impressive career. When he joined me and my team to start work in Northern Europe as a trainer consultant, I could not have fathomed he would develop himself into the knowledge buster in the field of e-commerce and specifically hybris. Starting as a gifted trainer, Atanas patiently explained his theories all over Europe. Moving on through various consulting companies, Atanas kept improving himself and moved gradually from the nitty-gritty technical programming towards an overview of systems and how things could be made easier and more solid. Eventually he decided to do it alone, and although Time2Know had already been established, Atanas had to become the entrepreneur he is today. Through sheer determination and courage (it’s not easy for a Bulgarian smarty pants in a Calvinistic country such as The Netherlands is) he build relationships and continued to patiently and emphatically tell his ideas to anyone who wants to hear it. And there it is: it turns out that quite a lot of people want to hear it. So it’s no surprise that there was a book in the making. Finally Atanas has written it all out, in a simple manner, easy to understand for even the most unlikely people (I am one of these). It’s not a book in the traditional sense: it doesn’t need reading in a consecutive order. You may want to go back and forth through the tips and practices that Atanas has recorded. The book works just as his mind does: its mapped out in a mindmap. Thanks to Atanas’ hard work and determination, we now have the pleasure of improving ourselves with his knowledge and experience. It will help teams immensely to focus better by using a product information management system (PIM) and to implement a patterned approach to hybris projects. Recently Atanas joined my team to share his knowledge on e-commerce projects with us and since my co-workers can deliver better quality in our projects and bring sustainable, high performance solutions to our customers. It is a pleasure and an honour to know Atanas. I wish him all the success in the world with Time2Know and his quest to make our lives easier! ~ Paul Kool, Owner of New Penguins
Testimonials
Testimonials “Atanas is one of the few hybris experts that combines deep technological know-how with practical know-why of hybris. He is fluent in both processes and architecture. Atanas is a very agile and friendly co-worker that mingles seamlessly with the organization. Every time I call upon him, he is of GREAT value to me on hybris projects.” ~ Jan Andries Mulder, UX & Product Strategist, eLab - A. S. Watson Group
“Atanas worked for a year on our hybris new platform project. He’s been a key player to drive functional phases – in Conception as well as in Build – thanks to his excellent knowledge of the solution. He’s been a positive partner, always trying to find out the best way to achieve our strategic goals. Atanas is reliable and implicated.” ~ Valérie Utges, Internet IT Director, Yves Rocher
“Atanas has played a crucial role in supporting us during the bid process that resulted in the win of multi-million dollar deal for a top fortune-500 customer. His in-depth understanding of hybris, business processes and requirements management and his clear way of communicating helped us to quickly deliver a proposal that eventually got us the contract. Atanas has a remarkable combination of professional experience and knowledge from literature. His recommendations for books and articles have set me on the right track many times, it’s hard to find a day in my professional life where I haven’t used the knowledge he has taught me.” ~ Romke Jonker, Solution Architect Arvato Systems, North America
“Atanas is a great listener and inspiring person. Inspiring because of his creative solution thinking. And his excellent hybris knowledge helped us very much in our hybris project, where we were facing a lot of challenges. His advise brought us where we are today - a successful webshop.” ~ Zenna Olfers, eCommerce Program Manager, Fabory - a Grainger company
Testimonials
“In a complex situation, Atanas brought – in a very short time – his ability to understand the issues we experienced and invent possible solutions. He used his deep knowledge of hybris platform to build a solid and convincing action plan. The result of his work was a significant increase of the Client’s confidence in the team to achieve the project objectives.” ~ Lionel Marcouire, Project Director, Cdiscount, Groupe Casino
“Atanas worked with my team on a global hybris B2B e-commerce implementation at one of our industrial clients. His work was always of highest quality and on time. We had great help of his skills on how to best use the hybris commerce platform to greatest advantage. “ ~ Mikael Pettersson, Nordic Lead for Interactive Delivery, Accenture
“Atanas is a skilled professional on e-commerce matters and more especially on hybris software. I have had the pleasure to work with Atanas during different projects and he was always considered as an asset contributing directly to the success of the project. He shares his knowledge and expertise, in the proper way, which drives the overall improvement of the project team. Besides, he is always willing to bring more value to anyone and proposing improvement actions. Thank you, Atanas for everything you have provided to us!” ~ Yannik Milleau, Entrepreneur in Digital Commerce
“For the past 2 years, Atanas has been engaged in my region to support various hybris implementations. He has been providing expertise in various areas such as leading business workshops, coaching Business Analysts, defining commerce project scope. Not only Atanas can help in gathering and defining Client’s requirements in the most efficient way, he brings many years of experience in business process- and project management. Moreover, he can efficiently define and implement the appropriate methodology for the success of a project.” ~ Thomas Amblard, Director Services France, BeLux & South Europe, hybris France SAS
hybris Project Patterns by Atanas Aladjov
Colophon
hybris Project Patterns Š 2014 Property of Mobilepaza EOOD. All rights reserved. Many of the designations used by manufacturers and sellers to distinguish their products are clamed as trademarks. Where those designations appear in this book, and the author was aware of a trademark claim, the designations have been printed with initial capital letters or all in capitals. The author has taken care of the preparation of this book, but makes no expressed or implied warranty of any kind and assumes no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information contained herein. This publication contains references to the products of hybris AG. hybris, the hybris logo, the hybris Omnichannel Suite, the hybris Accelerators and other hybris AG products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of hybris AG in Switzerland. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. hybris AG is neither the author nor the publisher of this publication and is not responsible for its content. hybris AG shall not be liable for errors or omissions with respect to the materials. The only warranties for hybris AG products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. This book is not for sale. For permission information and authorization to copy items for corporate, personal or educational use, please contact Atanas Aladjov at a.aladjov@time2know.net.
Provided to you by Time2Know Time2Know Meerkoetlaan 13 1343 AW Almere, The Netherlands contact@time2know.net www.time2know.net Sponsored for you by MobilePlaza Mobileplaza EOOD Vazrazhdane District, 46 “Opalchenska� Str., floor 7 Sofia 1309, Bulgaria
Powered by New Penguins
Page Reference
Why and What
Executive Summary Why hybris Project Patterns?
Set the Base for Success The Client Overall Consulting Guidance hybris Functional Consultant Workshop Virtual Product PIM Awareness Domain Methodology Software Methodology
Doing the Right Thing
Platform Expectations Young Partner Zero Efforts Glossary Requirements Gathering User Experience Design Planning Communication
Doing the Thing Right Internal Process Alignment System Actors Pages Inventory Integration Points Inventory Internationalization Back Office Usability User Enablement
Epilogue
Next Steps Inspiration Sources
Table of Contents
Why and What Set the Base for Success Doing the Right Thing Doing the Thing Right Epilogue
Gratitude
Gratitude This book was born out of necessity: I wanted to collect all the practical bits and pieces, which would allow a professional team to excel in a hybris project. For the project deficiencies I had witnessed, it was my desire to record (all) possible solutions and share them with others. I was able to prove the solutions repeatedly, but wanted to challenge them also with other hybris practitioners. The writing started 3 years ago and I only recently dared to call the bunch of articles, I had stocked, “a book”. Most of the articles are available on my website www.time2know.net, but a book is something people can hold, scribble over and use as a guide. In my endeavor I was not alone… I offer a heartfelt thanks to my friend and sounding board Paul Kool, who did not let me give up the fragile idea of publishing a book. I owe him my professional start and years of caring support. He and the designer Linnah Schut, from New Penguins, made the existence of this book possible – in colors, flesh and soul. A special thank you to my agile coach Mike Cohn who patiently answered tons of my questions about agility, lean-ness and … writing articles. Without his tuition and tips, I would not be able to consolidate my publications in one comprehensive creation – this book. I owe a great thank you to my colleague and friend Romke Jonker – an excellent mind – for spending endless brainstorming sessions with me and reviewing some sections of the book. Many thanks, also to Jan Andries Mulder, a collaborator and a friend, who frequently challenged my ideas and beliefs. From him I acquired the first practical lessons on e-commerce and merchandizing. Gratitude, Jonathan Moeller, for teaching me a lot about consulting and entrepreneurial thinking. Our discussions contributed significantly to my personal development and professional growth. I must not forget to thank my past and present Clients for everything they teach me – for the inspirations, challenges and solutions, which are now the mere essence of this book. There’s no way to thank my family enough for supporting me in this writing: my wife Angelina – who gave me courage to publish the book and proposed the initial book design, – and our two kids Andreas and Adriana. They sacrificed evenings and weekends without me, giving me the precious freedom to write and finish this book. As of today, I can dedicate all my time to them.
About the Author
About the author Atanas Aladjov is the founder of Time2Know, through which he provides education and consulting on Agile software development, e-Commerce and Master Data Management. With more than 15 years of experience, Atanas has been engaged in diverse e-Business programs, where data, information and User experience have intertwined in a modern mix of B2C, B2B and B2E scenarios. Atanas specializes in guiding companies adopt agile practices and become lean as a way of becoming high performance business organizations. Atanas is a hybris Contractor Partner. His passion is to help hybris partners build quality solutions, through a structured approach and care for the Business Client. In the last years, Atanas has been acting as a project coach, a principal hybris consultant and a functional team lead. Moreover, Atanas is a Certified Product Owner, and possesses professional certificates in UML, Java and Microsoft technologies. Time2Know has been found with one sole purpose – to attract and share knowledge. It has started in 2006 as an education company, producing more than 40 ICT courseware titles and e-learning modules. The firm has been a loyal partner to recognized training centers and international software enterprises.
For more information, visit www.time2know.net Atanas maintains a blog at time2know.net/blog He can also be contacted by email at a.aladjov@time2know.net
Dedication
To all hybris practitioners, That includes YOU
Why and What WHY a hybris Book?
Executive Summary
Why and What
WHAT is in the Book? For WHO is this Book? HOW is the Book Organized? HOW to Use the Book?
Why hybris Project Patterns?
Today, even a trivial e-commerce project becomes a challenge, when using an evolved highly customizable platform such as the hybris Suite. What if we look at a hybris project as being a sequence of activities, which repeat over and over again – like patterns? Then, for each difficulty we face, we could find a solution ‌
| 23
Executive Summary
WHY a hybris Book
“
Do not follow where the path leads, rather go where there is no path, and leave a trail ~ David Perkins
The hybris community is still in its infancy – young and hungry for knowledge, but daring to succeed. At present, the hybris company has a large volume of partners and customers, who benefit from the various versions of the hybris software Omni-channel Suite. Globalization of languages and data, complex Customer touch-points and Organizational transformations put forward new demands on the realization of e-business programs, where complexity goes beyond the regular software project. Today, even a trivial e-commerce project becomes a challenge, when using an evolved highly customizable platform such as the hybris Suite. And the complexity does not come from the direct business requirements. It often stems from the assumed project commodities, which every project should possess, like, a “careful sales process”, a “right level of consulting”, “correct project setup”, “knowledge of the hybris platform”, “awareness of e-Commerce practices”, “understanding the organizational changes when embracing a PIM solution”, and so on. Nowadays, Technology does not pose a real challenge in constructing a software product, because the maturity of the current technologies allows us to achieve great results and innovate constantly. In the current book you will find little about technical topics, because solutions to them are normally found in the best practices documentation of hybris. In addition, every hybris-savvy company has a good bunch of practices, which master the technology.
Why and What
Executive Summary
24 |
Executive Summary
Why and What
The true challenges, in hybris projects, are from organizational, methodological and soft-skills nature.
As with any other complex software platform, the hybris Suite compels a certain level of expertise in order to be suitably presented, understood and adopted. It is for this very reason that a hybris project requires a hybris skillset for every project role – an exclusive expertise, which allows coverage of all solution’s aspects and extracts the highest value for the client. The project success, to a large extend, depends on the skills of the hybris Partners in delivering high-quality solutions, the maturity of the development teams and the adopted common practices. It is a fact, that Partners face a steep learning curve in implementing hybris solutions. As a result, one can observe the development of questionable in-house project practices, adhoc solutions and even, consulting anti-patterns. Companies encounter those challenges in different phases of the project life cycle – in various steps and magnitudes. Now, there is a momentum to guide the fine hybris community in the right direction – to fuse minds and spirits, talents and objectives. Together, we can combine our expertise and produce a rich collection of Consulting Guidelines, which recommends best practices in project delivery.
Projects require structured assistance and a methodology. It is my belief that an effective project strategy should not only be User-, or Requirementscentric – it should be, first of all, Human-centric. It should enable transparency, trust and value, leveraged by suitable guidance and discipline. Because, only with those, a true progress with measurable results can be observed.
For a long time, it has been my intention to share experience and knowledge about hybris projects by using a format, which is easy to grasp and follow. My desire was to create a Consulting Guide for hybris Partners and hybris Clients, which would allow them to succeed in their hybris projects. Hence, the idea of a book came to mind…
| 25
WHAT is in the Book The articles in this book analyze hybris projects and offer an inventory of reoccurring project deficiencies. The goal is to suggest suitable solutions to each of them, via proven practices and constructive thinking. The reading provides guidelines for Consulting practices, skills and habits, for every phase of the project – from Vision to Reality, from Pre-sales to User Enablement.
In the course of writing, I focused on topics like: • • • • •
A pattern approach to e-Commerce and Product Information Management (PIM) projects Analysis of the overall software process in creating a hybris solution Strategies in organizing hybris projects Project challenges we face and feasible solutions Agility in thinking and doing
The follow up chapters refer to well-known methodologies and common consulting practices. However, the objective is not to invent new or redefine existing methodologies, but rather to utilize their valuable elements, consolidate them and identify possible solutions for the prominent difficulties we face.
For WHO is this Book This reading is dedicated to the ever-growing hybris community – the professionals, who participate in hybris project ventures and are engaged in the whole delivery process – at Clients’ or Partners’ side.
Why and What
Executive Summary
26 |
Executive Summary
Why and What
Hence, this book is for all of you: • • • • • •
hybris Functional Consultants, who guide a project with specific hybris functional expertise and sense of business value. hybris Technical Consultants, who devise the architectural design and realize the implementation of the project, by using the most of the underlying hybris Suite. Solution Architects and pre-sales specialists, who chart the future solutions and explain the benefits of the hybris platform at the start of the project lifecycle. Project Leads, who drive the overall project in a structured and methodological manner, being aware of possible pitfalls and risks. Business stakeholders and decision makers who should be aware about project difficulties and learn possible actions to prevent and overcome them. hybris Partners, who can share knowledge and wisdom in better consulting practices toward happy Clients and successful projects.
This book commences a journey where Business Client, Partner and hybris form an ultimate alliance towards successful implementation projects and renovated business models. In this journey, the Quality of Consulting is at the center.
HOW is the Book Organized To express the ideas as clear as possible, the book is organized in parts and subordinate chapters. However, each chapter can be used as a stand-alone topic and read separately. As a result, the book offers a rich collection of essays, addressing individual project challenges. The book can be read from a cover to cover, of course, but a reader can pick and choose those topics, which appeal most and apply directly in practice.
| 27
HOW to Use this Book Instead of suggesting instructions about how to read this book, I would rather quote the agile coach Mike Cohn, who suggests that:
“
The best way to read a book is to use it. Don’t just read it.
The book offers a good amount of ideas, tips, blueprints, templates and concepts about prospering in a hybris project. Therefore, I encourage you to try them in your next project endeavor. But also: improve them, scale them, share them with others … This way, you will craft your own pattern approach towards hybris projects.
Why and What
Executive Summary
| 29
Why hybris Project Patterns?
“
A key of patterns is that they’re rooted in practice ~ Martin Fowler
For the last few years I have been observing a decent number of hybris projects – from start to end – stretching from concept to realization. It could be my own personal experience, but I have hardly experienced an easy “sunshine” project without difficulties and downsides. Even more: I noticed that the problems occur over and over again, in every project – like patterns. Subsequently, I started studying them and recording thoughts on how to solve them. Thus, came the idea of compiling a list of patterns that arise in hybris software projects – describing common issues and suggesting suitable resolutions, or better – avoiding the problems in the first place.
Prelude The project complications, I observe, are not only technical – on contrary, the technical topics are frequently well handled by a squad of hybris-savvy technicians. I would consider the technical problems as “mild challenges to overcome” in comparison to the other sources of project issues. In fact, most of the things that “go wrong” happen before and after the development – from pre-sales and scoping all the way to delivery and maintenance. Those issues are related to the way the project is shaped, consulted and lead. Next to the technical and business domain expertise, a great deal of the success depends on mastering the soft-skills within the project; skills like patience, diplomacy, humility, storytelling, presenting, entertaining, drawing, sketching, negotiating, guiding, leading, motivating, and so on. Similarly to the repeating problems, the corresponding solution patterns are from various natures, but often, they are organizational, methodological and soft-skills.
Why and What
Why hybris Project Patterns?
30 |
Why hybris Project Patterns?
Why and What
A (personal) View Over Patterns As technologies mature and the hype and dust they create initially settles, the playing field becomes clearer: a set of best practices (as well as worst practices) and patterns emerge. A pattern is basically a “template solution” – a way of solving similar problems that appear times and times again, and that has proven to offer a correct and efficient solution. The term “pattern” has been with us for a long time – it was first used by Christopher Alexander, an architect (in the traditional sense) looking to establish whether quality was something subjective or there were common, objective traits of quality when building structures. Patterns became widespread as a concept when the so-called “Gang of Four” (Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides) published their “Design Patterns: Elements of Reusable Object-Oriented Software” book, which described a set of basic patterns widely used in the software engineering world. Patterns are, by their own nature, generic. Just like a generic description of how to build a cathedral does not depend on its location and the stones used, so patterns are not bound to a specific technology, language or platform. Patterns are closely related to best practices because they constitute “tried-and-true” solutions that carry a valuable set of benefits extensively attempted in real-live circumstances. Using these patterns in the appropriate situation is a guaranteed way to improve the design of a project – benefiting from the experience of the creators of the pattern and the people who have applied it.
Think of a pattern as the equivalent of a chess opening. Chess openings are the distilled experience of thousands of chess players – a sequence of instructions that are deeply analyzed and guaranteed to leave you in a good starting position for developing your game. When chess masters play chess, they use chess openings blindly and mechanically, without any further thought: they just follow the script, knowing that many brilliant minds before them have analyzed the sequence and they need not repeat this analysis … and even if they did, it is unlikely that they would arrive to something better (especially when under pressure).
Although many people are talking about patterns, there is a little agreement about standardizing them. Here, in this book, I share a personal view of patterns and their applicability in e-commerce hybris projects.
| 31
Pattern Format The pattern format used in this book is simple. Each pattern has a name. As Martin Fowler rightfully states, the name of the pattern is an important identifier, since it allows building up an expressive dictionary, which can be used in projects. Indeed, it feels comfortable when someone exclaims:
“
Your people can improve the Glossary, in the Workshop about a product Data Model
and others would recognize that lingua. The narrative about each pattern opens with a brief introduction that presents the context in which the pattern emerges. Next, is the problem – a short statement, describing situations, which lead to project traps, anti-patterns, bottlenecks and risks. The problem is paired with one or more guidelines about how to resolve the repeating issue at hand. The remaining part of a pattern is an elaborated description of the guidelines. Supported by authentic case studies and examples the guidelines will help you identify a realistic approach towards good practices and rewarding results. Even though patterns can be used independently, very often one pattern is a prerequisite for another or benefits from a preceding one. Pattern relations are important because they ensure the completeness of the whole approach. Therefore, in this book you will find description of project patterns and their interdependence with others.
Why and What
Why hybris Project Patterns?
32 |
Why hybris Project Patterns?
Why and What
Endless Opportunities A rather special feature of patterns is their variability. Even though project situations are similar, they are never exactly the same. Hence, use the patterns from this book as recommendations, rather than prescribed recipes. And, adapt them to your environments, teams and context. Identify new patterns and grow your expertise. The situations, I write about, have been inspired by the projects I observed and joined. While the solutions I propose are mostly inspired by empirical experience and Agile practices. I would refrain from claiming that the patterns described here are “all there is to know” in a hybris project. I believe the field is too big to be captured in a single writing – the patterns will evolve and multiply in time. Rather, I would like to encourage you to use the practices here and find – with your personal experience – your own unique solutions.
Why and What
Set the Base for Success The Client
Software Methodology Domain Methodology
Overall Consulting Guidance
Set the Base for Success hybris Functional Consultant PIM Awareness Workshop Virtual Product
This part of the book outlines the fundamental principles without which a hybris project would be unthinkable. The patterns herein describe core elements of an effective e-commerce hybris project. Those are the prime patterns that give you solidity and centeredness, so you can further discover variety and achieve confidence‌
The Client
“
Let me introduce The Client.
We have come to value … Individuals and Interaction over Processes and Tools ~ The Agile Manifesto
That would be the One who is daring to change their organization in attempt to improve vital business processes. That is a person or a team of Corporate pioneers, who decides to pursue a vision towards renewing their present software landscape. The Client has initiated a challenging project and has engaged You to guide them in succeeding with this exciting endeavor. And it is You – possessing all the necessary skills to support that venture and transform the Client’s vision into a fruitful realization. But how to start with your Client? Problem
Being passive, powerless to guide, unable to adapt upon change, failing to understand, inattentive – all deceptive Consulting habits, which stand in the way of building the much desired chemistry with the Client.
Guideline
Learn to know the Client. Guide with knowledge and patience. Listen to understand, before prescribing a solution. Keep things simple. Deliver tangible results in short frequent rounds. Be loyal, agile and loving.
Related Patterns Overall Consulting Guidance, hybris Functional Consultant, Workshop, Domain Methodology, Software Methodology, Communication
Set the Base for Success
The Client
| 37
38 |
The Client
Starting a Relationship Working with a Client is like building a relationship.
Set the Base for Success
All is set into motion with the first contact and the mental preparation for it. The initial gathering is a medium to present yourself and establish a level of faith to continue ahead. Every next meeting is only a confirmation that the new bond exists and evolves. The relationship with the Client gets stronger with every contact, Workshop, Communication and achievement.
When engaged with a Client, I chose to follow 3 simple ethics: Know, KISS and Love. Through the years I have learned that applying those principles creates solidness and trust, centeredness and reliability. With those at hand I feel comfortable to approach any commercial project and apply the patterns that follow in this book.
Know Your Client (better) Early in a relationship arise the moments of knowing and understanding each other. The Client expects the Consulting party to comprehend their business and help them resolve the present-day difficulties. Understanding the drivers in the Client’s company – the corporate culture and maturity – allows a Consultant to integrate quickly and identify the way ahead. But knowing the business can be a long process, which takes serious proactivity and alertness. The Client is often emotional about their upcoming software program. In the end it is the human nature to expect, to dream, and to believe that the “new” thing will bring some goodness and harmonization. Emotions and feelings charge the whole project from start to finish. The English language recognizes around 3000 words about feelings, like happy, content, upset, blissful, moody, joyful, blue, peaceful … And their existence is justified to describe the myriad nuances of human emotions. Understanding and empathetically listening to at least a fraction of those is already a step forward towards effective Communication with the Client.
The Client
| 39
So, you may say:
Still, being a Consultant frequently brings you in the spot light – during a discussion or a Workshop. You are supposed to explain, entertain, sketch, convince, present, draw and propose a way ahead. At some point of time, it becomes hard to actually make a pause and … listen. Listen with the intent to understand the other side.
Knowing starts with understanding. Understanding begins with listening. The paradox is that a Consultant is supposed to talk and advice but, actually, a decent Consultant listens more, than actually speaks. Demonstrating listening and compassionate understanding opens the gate to mutual confidence and collaboration. A true comprehension of Client’s requirements leads to better definition of the solution and therefore, building the right level of expectations. Essentially, only when establishing a level of trust one can prescribe a reliable solution, which can find soil for adoption. Advising about how to utilize the hybris ecosystem, means first to understand what value it would bring in the context of the Client’s Organization. After the understanding comes the true advice. It is for that reason that most of the hybris projects start with a phase of Understanding the Business. During that phase the Consultant should do a lot of listening in order to make an informed proposal. And here is an interesting fact: listening with intent to understand often produces higher results in finding the best solution, because it allows you – as a Consultant – to think, collectively with the Client, outside the clichés and established rules – about alternatives and hidden opportunities, thus finding much better solution patterns.
Set the Base for Success
“
Nothing new under the sun: listen and understand – how simple that could be?“
40 |
The Client
KISS Your Client In my practice, I have observed primarily two types of Clients:
Set the Base for Success
One who claims:
“ “
I know what I want,
and the other, who says:
I think I know what I want.
In both cases, the Client expresses their requirements in a way, which reflects their corporate culture and existing working habits. Hence, together with the business people, validate that what is requested is indeed what is needed. It takes time, but it is time well invested. To mitigate the complexities of a new project, introduce the KISS principle to your Client.
“Keep It Simple, Stupid” is a strategic attitude, which teaches us to keep things simple and avoid over-complications, when discussing the Client’s requirements. Therefore, guide the Client towards simplicity. It allows you both to start quickly and evaluate the results. But simplicity demands proactivity. Left alone to find “the right way” and discover “the best solution” is a treacherous path for a Client. They know their business and needs very well, but they don’t necessary know the best ways to achieve their goals. To keep it simple, take the initiative yourself as well as the responsibility to make things happen. In digital commerce, a simplicity often means to stay close to the platform: the hybris Suite bids a powerful set of features, which offer to the Client rich omni-channel functionality and mature workflows.
Simplicity will prove your capabilities as a Consultant in bringing rapid results during a project. It contributes to the common understanding when it comes to complex matters. Through this approach, prioritize and start small. This would let you keep a fast pace with visible outcome. With each production cycle, iterate and improve. Demonstrate your progress and request feedback. Applying your Domain- and Software Methodology will help you find the simplest path to the highest value.
The Client
| 41
Love Your Client
This is the moment when you listen with patience before advising and preaching. When you are capable of repeating over and over again the most suitable solution for the Client. That is when you care to challenge their demands 5 times with “Why?” in order to elicit the most rational decision. It culminates when you can give all of your energy to save the Client when seeing them fall.
Once loved and respected, the Client would be able to collaborate and prosper under your swift guidance. Transparency and confidence will flourish to result in a hearty business alliance. For that, genuinely interact with the Client, explaining processes and tactics. Treat the Client as a valued partner, by promoting Communication both ways. Make them feel as part of the creation team. Build trust – alert the Client about large-scale changes, good or bad. Empower the relationship with attention and passion. It is known in Nature things thrive on energy. There is an order and progression towards evolution in the great chain of being. In the physical development, some things just... exist = rocks (minerals) exist + grow = plants (flora) exist + grow + move = animals (fauna) In the mental development, however, some things... exist + grow + move + think = human beings (Homo Sapiens) In the spiritual development, there are those capable of thought, who can also... exist + grow + move + think + experience enlightenment = the wise beings (Homo Numinous) exist + grow + move + think + experience enlightenment + exhibit compassion = the loving beings (Homo Agapens)
Set the Base for Success
In a healthy relationship there comes the sublime moment of experiencing something more than knowing and understanding…
42 |
The Client
When being in a relationship with a Client, we can choose which thing to be – a rock or a wise being. My personal choice would be to stay as high, as possible in the evolutionary ladder. As, in my opinion, only by being a loving being, you can bring the Client to greater levels of productivity, innovation and progress. Set the Base for Success
The relationship evolves with each encounter and grows stronger in time. Expressing an attitude that involves compassion, transparency and love results in similar emotions towards you. While starting a new venture with the Client always remember who they are for you, and who you are for them. In a healthy relationship, the Client will reflect – as a mirror – the loving being, which You truly are.
Set the Base for Success
Overall Consulting Guidance
| 45
Overall Consulting Guidance ~ anonymous
Consultancy starts from the very inception of a project – at the first gathering with the Business Client – when a vision and highlevel objectives are shared. Experienced hybris partners have learned that even during the pitching phase, an accomplished e-Business Consultant with broad understanding of Software Development principles and online strategies is vital in shaping the conceptual final solution. The involvement of such a skillset guarantees certain completeness and thoroughness of the desired software approach and deliveries. Problem
Projects often commence without a recognized overarching Consulting in mind. They are started in a traditional manner, where teams are setup with fine-grained roles, but lack overall consulting power.
Guideline Engage a Principle e-Commerce Consultant to guide the project vision and determine the boundaries of the future solution. Related Patterns Client, Workshop, Software Methodology, Domain Methodology
Set the Base for Success
“
A Consultant is a Subject Matter Expert who has done most mistakes in a certain domain.
46 |
Overall Consulting Guidance
The Importance of a hybris Principle Consultant Frequently, a hybris project is incorrectly perceived only as a system-integration project.
Set the Base for Success
In fact, a hybris project is a complex e-Business endeavor spanning from overall business consulting, to solution designing, going through collaborative integration with other systems, business process adaptation, all the way to corporate transition management. A project team habitually consists of Project Management, Business Analysts, Solution architects, Technical leads, QA crew and a Development Team. All these roles are there to ensure relevant coverage of the corresponding project tasks.
Equally important, a project should benefit from a general consulting capacity, which extents from start to end, keeping the “red-line” of the project objectives. hybris refers to this project role as a Senior Consultant. Hence, I found important to advice project management to secure a Principle Consultant in their teams, who can oversee the complete business program and direct the implementation project within that program.
Core Values and Responsibilities A Principle Consultant would be able to review the global project objectives – from an e-Commerce / MDM point of view – and project them in a feasible solution. Her role, usually, is to focus on high-priority activities, such as: • • • • • • • • • • •
Guiding the project vision together with the Client Keeping the red line of the Client’s corporate objectives Determining the boundaries of the future solution Engaging with the conception of the project organization Directing the selection of Domain Methodology Advising on selection of Software Methodology Crafting the high-level prioritization and planning of functionality Participating in drafting the high-level architecture Advising on major processes like Change Management, Transition Management, etc. Contributing in the selection of tools and collaboration media Acting as a Project Coach
Overall Consulting Guidance
| 47
Set the Base for Success
Combining technical and functional consulting talents is only but a good start. Care and passion, soft skills and ethics, high moral and person-oriented principles, make the hybris Consultant a trusted advisor, leading a Business Client to a successful project with enduring results.
hybris Functional Consultant
| 49
hybris Functional Consultant
~ Stephen R. Covey
It takes both inspiration and vision to create an Idea about the future solution. The people who take over the Idea and distill from it implementable requirements are the Functional Consultants, also known as Business Analysts (BA). It has been proven that depending on the BA skills, you would get either “a” solution or a “great” solution. You can choose which one you prefer. I would merely share few ideas how to cover the difference…
Problem
Projects often rely only on general BA capacity and underestimate the need of a skilled hybris functional Consultant. This, effectively, leads to underestimating the need of having people who know the platform inside-out and lack functional guidance for the Business.
Guideline
Ensure the project features a specialized hybris Functional Consultant, who would guarantee proper functional introduction and utilization of the hybris platform.
Related Patterns Client, Workshop, Domain Methodology, User Enablement, Platform Expectations
Set the Base for Success
A Software solution, as other meaningful things, is constructed twice – first, as an Idea, and second as a Realization.
“
Begin with the end in mind
50 |
hybris Functional Consultant
The Importance of a hybris Functional Consultant And here we are: at the beginning of the project. Next step would be to gather the team and start from the requirements. Set the Base for Success
For the hybris Business Client, a major drive to select hybris – as a future base of their (e-) Commercial strategy – is the fact that hybris provides “a lot by default”. Moreover, one of the main objectives in the project is to stay close to the default proposition and “keep it simple” – because the hybris suite is solid, proven and offers valuable business usability. This assumes utilization of the underlying framework as-much-as-possible. Hence, it comes natural, that a Business Client would want to receive guidance how to map their requirements to the hybris features.
Often, I observe that hybris Partners and Clients focus on assembling teams with strong technical hybris skills, but forget to furnish the team with a functional consultant with hybris skills. The common belief is that an all-purpose BA would be able to handle the requirements and feed them to the development street. Frequently, a generalist BA would start describing features and workflows, with little knowledge of what the hybris Suite offers. Thus, the hybris-specific “functional” expertise is neglected, and with it all that the hybris Accelerators and Back-office workflows can offer. As a result, out-the-box use cases and features get re-defined, causing swelled project specifications and – later – unnecessary custom development. As suggested in the pattern Overall Consulting Guidance the role of the Consultant goes beyond the simple advisory and is targeted towards a more guided approach where hybris is put in perspective. A hybris-savvy Functional Consultant would be able to match – in early stages – the Client’s requirements with the hybris functionality. She can recommend workflows and features, which support the requirements, and help establishing the level of completeness needed for a PIM/e-Commence project.
hybris Functional Consultant
| 51
How to Discover a Good Candidate? Acquiring sufficient hybris skills requires steep learning curve and experience, which involves mastering several disciplines. Finding the right person for the job might be a challenging task, given the magnitude of skills required ‌ Here is a petite recipe of how to find the right Functional profile for a hybris project.
BA
E-commerce BA
hybris BA
Figure 1: Range of skills required for a hybris Functional Consultant
First, a good functional candidate should have a BA background in Requirements management and Business Analysis, so that she would be able to construct functional specifications grounded on business needs. Moreover, this person should possess basic Consulting abilities like presentation and story-telling skills, didactical and negotiation talents, which would allow her to engage the Business people in Workshops and collaborations.
1
Second, the candidate should have solid E-Commerce / PIM expertise in order to explain and apply core concepts, used in regular e-commerce projects. In this aspect, knowledge in End-User experience, B2B and B2C strategies, Marketing principles and Data Governance is critical. Writing functional specs with those in mind makes the Requirements Gathering a controlled and guided process. Hence, mastering a certain e-commerce Domain Methodology is essential for this skill level.
2
Set the Base for Success
The more experienced the hybris Functional Consultant is the more a project can benefit from the built-in hybris offering – hence saving specification and Visual Design efforts, usage descriptions and implementation of features.
52 |
hybris Functional Consultant
Set the Base for Success
Finally, the professional, should have a decent experience with the hybris platform – at least from a capability point of view. This includes – but not limited to – having knowledge in fundamental hybris concepts, ability to explain default workflows and perform demonstrations. The capacity of doing gap analysis between desired versus default hybris functionality is critical for this skill level.
3
Without those qualifications a Functional Consultant would have hard time to guide and advice in a complex hybris project. One can imagine the evolution of the needed abilities as shown on the sketch: where each inner skill-set is a fundamental prerequisite for the outer one.
Naturally, searching for the right profile does not stop here, and – depending on you ambitions – the selection criteria could extend further in choosing even a finer hybris BA competence, like the one below.
BA
E-commerce BA
hybris BA
good hybris BA
Figure 2: hybris Functional Consultant with extensive project experience
Core Values and Responsibilities To summarize, if we list the main duties of a hybris Functional Consultant, those would be: • • • • • •
Acting as an agile Product Owner Participating in discovery and scoping Workshops, where requirements are discussed Advising on out-of-the-box functionality – concepts, features and workflows Demonstrating default platform functionality, by setting the right Platform Expectations about hybris Explaining functional gaps (desired vs. hybris standard) and suggest solutions Creating functional specifications aligned with the selected Domain Methodology
• • • • • •
| 53
Prioritizing requirements based on a business value, time-to-market and complexity Being able to configure hybris suite and prepare Proof-Of-Concepts Defining Acceptance criteria for the implementable requirements Reviewing the delivered functional features Designing and Creating of User guides, as a part of the User Enablement process Participating in delivering of Trainings, as a step in the User Enablement process
What we infer, with a certainty, is that a hybris project requires a competent hybris BA. Such as constructing bridges requires specific building skills, a hybris project requires certain hybris functional expertise to succeed. The good news is: it depends on you, to ensure that such an invaluable profile exists in your team.
Set the Base for Success
hybris Functional Consultant
Workshop
| 55
“
Workshop /ˈwəːkʃɒp/ noun: a meeting at which a group of people engages in intensive discussion and activity on a particular subject or project. ~ Webster Dictionary
Large number of stakeholders, complex requirements, distributed teams and elaborated business setups – all factors that make one project a real endeavor full of desires, surprises and strategies. How do you channel the interactions of the parties involved? How do you structure discussions with all individuals that have a vested interest in the project? What would be the best way to collaborate, create, innovate or produce?
The hybris community is still in its infancy – young and hungry for knowledge, but daring to succeed. At present, the hybris company has a large volume of partners and customers, who benefit from the various versions of the hybris software Omni-channel Suite.
This is where Workshops come to rescue.
Problem
Complex project setup, complicated requirements, distributed business teams, cultural differences – significant project factors, which obscure the communication, the flow of information and the process alignment.
Guideline
Plan a series of Workshops to establish a medium for inspirations, collaboration and decision-making.
Related Patterns
Client, Requirements Gathering, Communication
Set the Base for Success
Workshop
56 |
Workshop
In the initial enthusiasm of the project, organization of work becomes a major drive for the overall delivery. Experienced Project Managers know that organizing their teams, channeling the discussions and enabling interactions are the right ingredients towards successful implementations. Set the Base for Success
In respect to collaboration, the most effective manner to convey information to and from the teams is the face-to-face conversations. Business and development need to work together, on a daily basis, to supply the information required when building the new application.
Rational behind Workshops An old proverb teaches:
“
If I give you my apple and you give me yours, we would still have one apple each. But if I share with you my idea and you share with me yours, we would both have two ideas!
A workshop is a form of a gathering, which enables people to brainstorm, to generate ideas or to clarify existing ones, regarding the project goals. Use the workshops to set up certain formality in your Communication with the Business Client. The workshops will be a place where you would understand their industry, establish a common vision and guide them towards a suitable solution. It is the workshops where you can build trust and confidence. Therefore, it becomes essential to utilize all aspects of the workshop in order to form a constructive dialog with measurable outcomes.
To ensure higher effectiveness of the meetings, in few projects we defined also certain “house rules” about conducing the workshops. These were additional guidelines we wanted to institute in order to emphasize our goals and desire to stay on track - like the ones below:
nts quireme ntified re e id rm fi Con add new • tation to p m te l Contro • ents nt for requirem importa what is n o s u c Fo • s busines en points e o Close p ” to som • ay “NO s to K It is O • ents requirem isions al to dec Stay Loy •
| 57
Set the Base for Success
Workshop
Figure 1: Examples of “house rules” for a Workshop
Workshop Strategy and Planning Information gathering and management needs structure in order to flourish. A good way to start is to plan your workshops. Here is a fail-safe technique to enable your workshops. In collaboration with the team: • • • • • • •
Create a proposal how you foresee the overall information exchange process Identify major topics for discussion Recognize information sources – people or documents Identify profiles of people who need to participate Indicate time-frames Signify expected results and deliverables from each meeting Outline a strategy for future workshops and discussions
Finalize your efforts by drafting a Workshop Plan, based on the items above.
58 |
Workshop
Respecting the timeline of a project, one of the first workshops I conduct with the Client is a Project Kick Off – for consolidating our understanding of the current project. So, together, we:
Set the Base for Success
• • •
Summarize the vision, Share high-level objectives, Define overall expectations of the future solution.
During the Kick Off meeting we would usually present the “workshop approach”. We explain that the initial Workshop strategy will evolve into a reliable Workshop Plan, once accepted by all parties. As with all forecasting activities – what matters, is not the plans, but the continuous planning. Hence, after the opening proposal, we would still adapt the Workshop Plan and improve it to achieve the final goal – collaboration
Here is an example of an early Workshops planning for a common e-Commerce project with the corresponding topics: Workshop 1 – Product Information
Workshop 2 – Get information
Workshop 3 – Select & Order
Get information
Select & Order
Receive, Use & Get Service
Suppliers
Online Marketing
E-Commerce
Customer Service
PIM
E-commerce
Online Marketing
Users
Warehouse
Content Management
Order Management
Warehouse
Channel Management
Users
Admin
Content Management
Consumer journey Enterprise processes
Workshop 4 – Receive, Use & Get Service
Figure 2: Possible planning of workshops in a hybris project
The example reveals a certain approach of addressing core functional areas, related to Consumer and Enterprise processes. Their dependency and relations need to be properly explored in a series of well-planned workshops.
| 59
You may notice that some of the topics on the example are planned more than once. It is a normal practice to iterate over particular topics, in order to guarantee comprehension. By applying such a strategy, you will realize that the key objective here is to guide the Business Users and prepare the ground for the Requirements Gathering process.
Before, During and After Preparation of the workshops is as important as the expected outcome of them. Having a plan is merely a part of the success. Unprepared and misguided discussions can frustrate participants and turn your workshop into a work-shock. Therefore, to optimize the results of your workshops, define a list of achievements to be accomplished before, during and after the workshops. The goal is to enable a modus of “working-together�, so tackle that goal by identifying activities, responsibilities and deliverables for each workshop phase.
Before
During
After
time Figure 3: Workshop lifecycle
Set the Base for Success
Workshop
60 |
Workshop
Here is an example of such an approach for preparing a single workshop. Naturally, this tactic should fit in the overall workshop planning.
Set the Base for Success
Phase
Input
What
Who
Deliverables
Before
List of desired requirements
Read requirements document
All
-
Take position about the listed requirements – YES / NO
Business Team
Notes and remarks
Think about the open points
Functional Team Functional & Technical Team Business Team
List of open points Initial Feedback on input List of additional requirements -
Check if we miss a requirement
During
List of new requirements
Solicit additional input from Business & Stakeholders
List of desired requirements
Go topic by topic and read through the proposed requirements Agree / reject requirements
All
Resolve open points If open points remain, appoint a decision-maker for the next round Summary & next steps Consolidate the answers
All All
Initial feedback
After
List of agreed requirements
Decisions
Specify requirements in a document Resolve remaining open points Send update for consolidation
Figure 4: A list of activities and their deliverables for each workshop phase
Business Team
All Functional Team Functional Team Business Team Functional & Technical Team
List of approved requirements List of decisions List of Tasks and Responsibilities Meeting notes
Specification
Update of progress
Workshop
| 61
Workshops Ingredients
Provided that every workshop is a meeting between people, it commonly has the following elements: • • • • • • • • •
Name Agenda, with clear goals Participants, who have interest in achieving the goals Date, Time and Duration Context, in which the goals could be achieved, like “Consumer Shopping Experience” Input, which is required to commence the workshop i.e. research documents, studies, opinions, decision, financial data, reports, etc. Discussions, which help to take decisions and achieve the goals of the meeting Deliverables, matching the goals, such as documents, decisions, agreements, etc. Next steps, to define continuation
If properly guided, the workshops unlock rapid progress in projects and unite people, nurturing high levels of confidence and understanding.
The best way to have a good idea is to have a lot of ideas. Workshops enable brainstorming and inspirations. In our hybris project, one agenda point became a permanent element to the workshops – the Demo. When discussing a particular topic, initiating the meeting with a demonstration of the supported by hybris features, serves as an expectation catalyst! The Demo allows Business people to understand the capabilities of the platform and envision the realization of their requirements. Frequently, business processes shown during the demo inspire the Client to re-consider their current working approach and align it with the best practices offered by the hybris suite. Very often the Demo has the “Wow” effect, because it makes the future solution close and tangible.
Set the Base for Success
Now that we have seen what is to be done before, during and after the workshop, let us zoom into the workshop event itself.
62 |
Workshop
Having all the right ingredients, consider the following example of a theme-oriented Workshop:
Workshop “Shopping Cart Processes” Set the Base for Success
Date / Time:
29.FEB.2015 09-11AM
Participants:
S. Wills – Lead Marketing, Business Client X. Mini – BPM Architect, Business Client J. Smith – Product Owner (PO), hybris M.Brown – hybris Expert, hybris Partner
Partner Topic
Duration (minutes)
Who
Introduction & Objectives
5
PO
Agenda
5
PO
Demo – shopping cart
30
hybris Expert
Discussion: Shopping Cart page
30
Business Client / PO / hybris Expert
Discussion: Mini Cart pop-in
20
Business Client / PO / hybris Expert
Open points
15
Business Client / PO / hybris Expert
Summary of achievements
5
PO
What is next ?
5
Client / PO
Figure 5: Example for a workshop agenda with essential workshop elements
Workshop is at the Centre The workshop is your rudimentary planning element. Further actions and processes would depend on it. Workshop is a central pattern for all future activities because it facilitates Communication, inspires and motivates. It provides a structure of a working process and leverages transparency. All other patterns would rely on workshops for organizing their aspects and operational habits.
Workshop
| 63
Workshops do not always need to be formal. They could also be in the form of spontaneous face-to-face brainstormings where people discuss work in progress.
Particularly applicable when having a multi-cultural aspect in your organization, use the workshops to streamline the communication and empower the trust between the teams.
Set the Base for Success
The point is to get into the habit of preparing, performing and following up each discussion with your team or with the Client. This brings essential quality in your work.
Virtual Product
“
The product information is the single most influential content for raising purchase intentions ~ Kimberly Struyk
To begin, let us start with a few WHYs.
Why is a Merchant motivated to invest in online and offline strategies? Why are Consumers attracted to stores, online sites and markets? Why does your Client commence the adventure of this project? Why are you involved in this project venture? The answer to all these questions is: The Product! The Product is the heart of the Enterprise’s business and a main source of revenue. The prime reason we are engaged in a commercial project is that the Enterprise is in a possession of a Product and desires to offer it to other parties. Consider the following facts: • • •
In an e-Commerce project, selling a Product is a fundamental goal. In an MDM-PIM project, managing and using a Product is an essential objective. In an e-Procurement project, purchasing a Product is a primary intention.
The Product is a principal concept in these kinds of projects. Hence, it is imperative that all folks involved in the project understand what the Product is – what are its ingredients and how to make it a profitable asset for the Enterprise.
Set the Base for Success
Virtual Product
| 65
66 |
Virtual Product
Set the Base for Success
Problem
People often accept the Product as a given without understanding the elements, which make the product sellable and attractive. Even on the business’ side, the unawareness of what a Product actually is makes all the business requirements, around the Product, superfluous, weak and sometimes, irrelevant.
Guideline
As a Consulting party, explain the main ingredients of a commercial Product and what makes it appealing for Consumers. Indicate where the Product information can be improved and how it affects the Consumers. This comprehension will challenge the existing business requirements and unveil new profitable strategies when offering the Product.
Related Patterns
Client, hybris Functional Consultant, Workshop, PIM Awareness
Merchant - Consumer Relation Since dawn of times, people have been seeking products, which other people offer for sale, trade or exchange. The product has become the primary touchpoint between a Consumer and a Merchant – online and in-store, by paper ads and telesales, through commercial media and point-ofsales, via smart devices and mobile apps. The opportunities to acquire a product seem infinite! In the electronic market, what we sell, buy and exchange is a computer-generated representation of a real physical item, residing in stores and warehouses. Or, it could be, a digital asset, living in electronic banks, registries, data systems. Behold, the Virtual Product!
Virtual Product
| 67
Set the Base for Success
„Virtual Product“
Merchant
Consumer
Figure 1: The Virtual Product as a touchpoint between a Merchant and a Consumer
Nature of the Product Products are notorious with their diversity, facets, shapes, looks and complexity. The real product is a sophisticated object possessing a number of characteristics and behaviors. In this context, the characteristics are attributes, belonging to the products – for example, product name and description, size and variations. Correspondingly, the behavior of the Product is its reaction to other entities, like Consumer, Order or another Product. For example: • • •
In relation to a Consumer, a Product can be “owned”, “purchased”, “returned”, “recommended to a friend”, and so on. In respect to an Order, a Product can be “ordered”, “offered as a gift”, “discounted”, etc. When a Product is related to another Product, the first could be “a part of” or “a container of” the second, also an “accessory” or a “replacement”.
It becomes evident that moving from physical stores and fairs to the cyber marketplaces changes the representation of a product: from being a very tangible thing to becoming a multi-facetted set of electronic chunks, stored in a networked technology cloud. Practice reveals that the product information is a primary factor for multichannel success, where a channel is any location, which is used by a Merchant to contact the Consumer – a website, a mobile device, a street ad, a TV commercial, and so on.
68 |
Virtual Product
If well designed, the product information needs to follow the Consumer in her online or offline experience. Websites and ads should guide the Consumer about the right Product by using primarily the Conviction as a conversion tool.
Set the Base for Success
Consumers increasingly demand more product information on all accessible channels. In most cases, the Consumer is dealing with the virtual equivalent of the real product. That creates a prominent challenge for the Merchant to craft an attractive offer based on electronic artifacts like descriptive texts, appealing media, attractive pricing, targeted campaigns, etc. Mastering the Product information-creation requires understanding of Consumer needs and Social Trends. Therefore, serious work needs to be done in the background in order to create attractive Product Information. It is common, nowadays, that Merchants seek the help of creative agencies and storytellers to create a unique irresistible image of their commercial offers.
Depending on their purpose, specialized systems represent differently the Virtual Product. For example, Enterprise Resource Planning (ERP) hubs typically host inventory product information, pricing algorithms and stock levels. Product Lifecycle Management (PLM) systems represent the products mostly from an engineering point of view, focusing on the lifecycle of the product, factory aspects, longevity, obsolescence and supply-chain stages. And, it would be the Product Information Management (PIM) solutions to address the needed product data that makes the product accessible and sellable for Consumers – offering also marketing and promotional tools for cross- and up-sell, discounts and surcharges, flexible categorization and classification of product items.
Nature of the Product You may ask:
“
What makes a product desirable?
Let us first explore a list of features, which constitute the product information. When we realize what the Product consist of, we can decide how to make it more attractive to Consumers.
Virtual Product
| 69
• • •
Core: primary, essential information; mostly engineering data, without which the product cannot exist as a production entity Commerce: information, which makes the product sellable; as such it employs marketing techniques to promote better the product and increases the chance for purchase Community: Consumer generated information – a powerful stream of data, which, if properly harvested and managed leads to much greater measurable commercial results.
Product Name, SKU Customer / Market price Recommendations Taxonomies Availability, stock info Comments and Ratings Descriptions Catalogues and categories Personalization / profiling Engineering info Offerings / sales periods Popularity (# views) Base price Discounts and promotions Transactions (# orders) Images, graphics Similar products, cross-/up-sell Tagging, social bookmarking Variants of products Product comparisons Personal content i.e. “my experience with the product” Accessories / spare parts Replacement products Data sheets, manuals Competitors products Feedbacks, i.e. incidents, problems Marketing documents Bundles and configurable sets Sharing Educational info Customer feedback analysis (BI) Referrals Language versions Sales information, press Loyalty programs Certificates, Links References, editorial content Affiliate content
Core
Commerce
Community
Figure 2: Aspects that define the product information
Each of these aspects is managed by the Merchant and offered to the Consumer. The combination of product features and their careful manifestation to the Consumer is what defines the Product as tempting and sellable.
Set the Base for Success
We can group the product information in three aspects: Core, Commerce and Community, where:
70 |
Virtual Product
Set the Base for Success
Interesting to observe is that the information of the first two aspects – Core and Commerce – is ultimately information created by the Merchant for the Consumer – like a “one-way” communication with a Sender and a Receiver. With this fashion of offering, how the Consumer perceives the product information is little know of, due to the single-directional nature of the information. Most companies invest only in the first two aspects, while the real Commerce innovators look more and more into the third aspect – the “Social side” of the Product. It is the third aspect that brings this important bit of product information, which complements the Merchant’s data – the data generated by the Community of Consumers, via their networks and social affiliates. For that reason, in our projects, we spend sufficient time with the Client to explain the importance of the product information – all its aspects and diversity. We show successful case studies and depict them in the context of our project.
Product Information Challenge The information representing a Product is rarely static – it often evolves and transforms. This is frequently a forgotten fact, but due to its significance, it needs to be kindly reminded to the Business Client. And, here is why … In the present dynamic world, the industry is always on the run, facing challenges and fluctuations. Company reorganizations, renewals of corporate intranets and partner portals, booming online channels and flourishing social media, employment of new technology – all examples of critical moments in our business life, which change our visions and business behavior. Usually such events impact corporate processes and roles of people, who are involved in them. Very often the critical moments are accompanied with data restructuring – organizational, financial and logistical. In the case of commercial companies, the data changes are directly related to product data changes.
Virtual Product
| 71
However, being aware of these issues, gives the Enterprise an advantage in coping with the product data changes and related processes effectively.
Event
Effects and Consequences
A company merger between two commercial units …
… generally involves, among other things, alignment of processes and product assortments, therefore requires rethinking of existing product structures and their clever merge.
Introduction of new product lines…
… adds varieties in existing product hierarchies, catalogs and offerings, which often entails redesign and further consolidation of product data.
Enabling new commercial channels…
… is always supported by a review of how the existing products can be published in the new channels. It is not a secret that companies are opening new job positions, like Channel Coordinator, to cope with the peculiarities of these online demands.
International rollout of products…
… certainly requires thorough analysis of the suitability of product data to the specifics of each local market. Topics like “internationalization” and “localization” become high in the list for consideration.
Presence in Social media…
… forces the product providers to consider the accommodation of additional product-related aspects like user reviews, independent test reports, blog post, recommendations, “Like”, “Send to a Friend” and so on.
Consolidation of data sources…
… is undoubtedly related to the question of unification and standardization of the hosted product information. Harmonization of all sources is a major hurdle for each productcentered project.
Realization of a Multichannel strategy…
… demands careful audit of the existing multichannel capabilities in the Enterprise and refining the product data, in order to ensure consistent product information in each channel and customer touch-point.
Figure 3: Events that affect the product information
Set the Base for Success
Consider the following list of events, which influence the product information:
72 |
Virtual Product
Corporate investors, being in constant quest of finding a maximum value for their investments, frequently ponder over questions related to product data changes, like:
Set the Base for Success
• • • • • • • • • • • • •
“How does our product data look like?” “What is the organization of our product information?” “Where does the data come from?” “In what formats?” “Where does it need to go?” “Who will be using it?” “Who internally and externally has a vested interest in it?” “Which processes need to be adapted and how?” “What are the global and local specifics of product information?” “Do we need translation of content?” “How often does the product information change “Who will manage it and what skills are required?” “Which tools can be used?”
Having in mind those queries, in projects we organize a dedicated Workshop to discuss potential challenges, which the Client faces, in respect to product information and product data changes. The results are often astonishing – the Client soon discovers new sources for product data and fresh inspirations for making the products more appealing. Understanding the Enterprise’s core business concept – the Product – gives the whole project a new perspective: a harmonized view of the product essentials. This comprehension leads to the identification of clever tactics to make the product attractive for Consumers. As with all good things, it starts with a set of features for the product information and a first-cut vision about the final result. What matters after that, is a professional approach and realization of this vision in order to optimize the investment of the Business Client, in the best possible way.
Set the Base for Success
PIM Awareness
| 75
“
Product data is inherently variable, and its lack of structure is generally too much for traditional, pattern-based data quality approaches. Product and item data requires a semantic-based approach that can quickly adapt and ‘learn’ the nuances of each new product category. With this as a foundation, standardization, validation, matching and repurposing are possible. ~ Andrew White, research VP at Gartner, Inc.
Goods that are sold online are virtual representations of real products and services. Therefore, it is the in the hands of online merchants to make the Virtual Products attractive enough, and offer them at the right time, to the right audience, in all possible ways. It becomes clear that the online success depends on the quality of the virtual product. Have you ever wondered where the product information of a commercial website comes from? What makes that information complete, representative, trustworthy, relevant and shareable? How can we guarantee the harmony in product data?
Problem
An Enterprise has chosen hybris as a fundamental e-Commerce platform to power up their business and harmonize product-related processes. Frequently business users and project members are unaware of the real nature of a hybris solution, which is: to provide an intelligent platform for managing the core asset of the Business – the Product.
Set the Base for Success
PIM Awareness
76 |
PIM Awareness
Set the Base for Success
Guideline
In its heart, the hybris platform offers an elaborate Product Information Management (PIM) module. Therefore, it is imperative that people realize the power they have in their hands and learn to appreciate the potential it delivers for their company. It is the duty of the Consulting party to explain the purpose, the benefits and the rational of having a PIM system in a PIM project.
Related Patterns
Client, Workshop, Virtual Product, Glossary
PIM Essentials Consumers and Companies purchase online already for a couple of decades. From the dawn of the online market, merchants are striving to engage and entertain customers, using the ever-growing virtual web. With the raising demands of the online Buyer, the e-Commerce solutions need to adapt, employing modern technologies, innovative marketing techniques, even the Social Web. The Client has chosen hybris as a fundamental e-commerce platform to power up their business and harmonize product-related processes. In the hybris platform the PIM module is a core functional block. In practice, PIM establishes global repository for consolidating, referring and managing all product-related information. PIM then publishes or syndicates that information to any user or application that needs it, in formats they require. As an informational hub, PIM is regarded as the “source of product truth” intermediating between existing corporate systems, which originally create and host product information. PIM ensures consistence and completeness of product content. Therefore, it complements PLM, CMS and ERP applications, which commonly do not handle product attributes and rich marketing descriptions very well. Due to high complexity, product information requires continuous care, maintenance and enrichment. PIM challenges the existing data structures and organizational readiness for commercial activities. As a result, corporate processes are redefined – with PIM in mind – to harmonize and automate the daily business of an enterprise, embracing a product management challenge.
PIM Awareness
| 77
The Wiki entry says:
PIM solutions are most relevant for use by medium to large-sized firms in retailing, consumer goods and manufacturing”. Recently, an attempt to explain PIM to a Client evoked:
“
Well, you need to talk to our CRM manager.
For comparison, at the moment of writing, a Google Adwords keywordsearch shows results of 1726k (per month) for the word “PIM” and 3390k for “CRM”. Hence, the popularity of PIM is still about to be seen. Given the poor content of many sites, the lack of good product presentation and the difficulty in maintaining commercial channels it is not surprising to witness the raise of significant attention towards PIM solutions. Since hybris is a PIM platform, it is imperative that people realize the power they have in their hands and learn to appreciate the potential it has for their company. It is the duty of the Consulting party to guarantee this understanding is achieved through a series of Workshops.
The product information is of a great worth when it is made available to consumers, dealers, sales reps and so on via channels like printed publications, online content, social networks and interactive devices. PIM enables the publication of the product data to those media. Provided that the spectrum of channels can be wide, PIM ensures the cross-channel quality and consistence of information, thus earning the satisfaction of the consumers.
The PIM Aspects PIM is the foundation of e-Commerce and Multichannel enablement. The true value of PIM emerges through aggregating, standardizing, and validating the product data contained in existing data sources. As a platform, PIM offers a central repository that all users can access with confidence. As a set of process, PIM delivers workflows that connect
Set the Base for Success
“PIM is still a young market segment. It only started gaining broader attention among customers in the second half of 2004, as market analysts and the media began taking a closer look at this type of solution.
78 |
PIM Awareness
people and systems to automate main business processes. And with that comes the ability to serve Consumers better thanks to complete, timely and accurate product information.
Set the Base for Success
In this sense, the hybris solution is no different – the PIM module serves as a platform for consolidating product information, easily accessible by users. At the same time it offers a rich set of customizable processes, which enable those users to perform their daily work, related to the product date governance. A comprehensive PIM solution usually considers three important aspects: 1. 2. 3.
Become a single versions of product truth Enable people and automate processes Leverage product information to a wide range of channels
Let us look into the details of each.
Aspect 1: Single Version of Product Truth The hybris platform, as a reliable PIM solution, represents a dedicated virtual hub for Product Information. It takes into consideration all sources of product information, including flat files, existing systems, legacy content, corporate data resources, enterprise online services, and so on. It. Therefore, the platform offers a rich pallet of integration interfaces to facilitate data import from those data sources. An essential prerequisite for the import process is the design of a data model of the product information. As a result, in a typical PIM project, a serious analysis of the product data is performed before commencing the import process.
EPR
PLS
XLS
TXT
... .
XML
CSV
CMS
| 79
DAM
…
-----------------------abcd
1. External and Internal Information Sources Figure 1: PIM serves as a single version of product information
Being a single source of product truth, a PIM application complements existing systems, namely, all-purpose content are still kept in the company CMS, product-lifecycle data can remain in PLM systems, and manufacturing data can reside in ERP systems, under the jurisdiction of the original data owners. Hybris facilitates a strong level of integration with various sources of product data. As a result, the hybris PIM “understands” well the sources that record the data, as well as the relationships of that data. That vision should be made clear to the project team members, because they should be able to understand the role of hybris as a middle-man, when it comes to consolidating product information. It is worth mentioning that product data does not only come from systems and legacy sources. A valuable input for product content is the Consumer community – the online shoppers themselves – who, via blogs, reviews and personal experience, act as a correcting measure for product quality. As seen in the pattern Virtual Product – the Consumer’s feedback (the Community aspect) contributes significantly to the overall product information.
Set the Base for Success
PIM Awareness
80 |
PIM Awareness
Set the Base for Success
Product Name, SKU Customer / Market price Recommendations Taxonomies Availability, stock info Comments and Ratings Descriptions Catalogues and categories Personalization / profiling Engineering info Offerings / sales periods Popularity (# views) Base price Discounts and promotions Transactions (# orders) Images, graphics Similar products, cross-/up-sell Tagging, social bookmarking Variants of products Product comparisons Personal content i.e. “my experience with the product” Accessories / spare parts Replacement products Data sheets, manuals Competitors products Feedbacks, i.e. incidents, problems Marketing documents Bundles and configurable sets Sharing Educational info Customer feedback analysis (BI) Referrals Language versions Sales information, press Loyalty programs Certificates, Links References, editorial content Affiliate content
Core
Commerce
Community
Figure 2: The community aspect of the Virtual Product
A common question we often get, in the initial project phase, is:
“
Does hybris PIM always copy the existing data?
The answer is: “Not necessarily”. A PIM system can host data from external sources, but it can also only refer to it, meaning the platform can keep references to the same product information, without physically hosting it. Remember that PIM is a source of truth, but not necessarily the container of the data. This discussion often leads to identifying flexible architectural topologies when it comes to representing data from the external sources – by copying or by referencing. Thus, a portion of the product data can be literally stored in the hybris PIM, while other elements, like product media, can be hosted on another platform.
Aspect 2: Enable People and Precesses Having a consistent repository of product information is only a prelude towards commercial utilization of the same product information. Product Managers and Marketing personnel have a vested interest in a PIM solution, due to their intent to manage, enrich and publish the product information.
PIM Awareness
| 81
2. Automation & Workflows
2. People & Processes
EPR
PLS
XLS
TXT
... .
XML
CSV
CMS
DAM
‌
-----------------------abcd
1. External and Internal Information Sources Figure 3: PIM enables people and automates processes
From an enterprise point of view, with a PIM in place, personnel who create, manage, enrich, or publish information about products can be sure they are working with the most current and accurate sources of information. These users represent product managers, content managers, compliance personnel, copywriters, catalog and Web designers, customer service agents, e-commerce managers, and others inside and outside the enterprise. Because they are working with virtual representations of the data, they can create and manage a variety of hierarchies, ontologies, attributes, and publishing formats to meet their specific requirements, without actually modifying the original source data. In addition, PIM systems used by wholesalers and distributors often include a user interface that allows each of their suppliers to directly upload and manage their own product information. It may also include tools that let their dealers and retailers access the product information for their particular requirements, such as to post their own Web site content or to produce their own local catalogs and flyers.
Set the Base for Success
A fundamental principal in implementing a PIM solution is to identify separation of concerns for each party interested in product data, hence define user roles and responsibilities to work with the sensitive product information.
82 |
PIM Awareness
To support the specific workflows of certain users, hybris provides various User interfaces for data management – the hybris cockpits. The cockpits are dedicated to certain user profiles – like Product managers or Content managers – and streamline the working processes of those profiles, by offering predefined workflows and access to relevant data. Set the Base for Success
For example, the Product Cockpit is a dedicated front-end environment for corporate Product and Catalog Managers. It allows access to the critical product information and all associated data, like catalogs, classifications, media, prices, restrictions, and so on.
A PIM system can validate the data flowing into the repository and can trigger certain actions or workflows based on defined business rules – for example, to ensure that additions, changes, and deletions are expedited, with no conflict with one another, and are properly reviewed and approved. In addition to product data and associated information, a PIM system should ideally offer DAMlike capabilities to manage product-related assets such as images, multimedia, documents, and other unstructured data. It will frequently include plug-ins to desktop publishing software so that content from the PIM repository is dynamically linked with catalog artwork. Up to date, hybris offers a rich set of model-able workflows to automate key business processes of people and systems, which engaged with the product information.
It is not a secret that adopting PIM requires opening of new company profiles or re-establishing existing processes. In their search for the right multi-channel strategy, enterprises are increasingly considering the creation of a new profile, that of the “Multi-Channel Manager”, for example. Universities, such as the University of Applied Science, Wedel in Hamburg, are even creating dedicated courses. Moreover, organizational processes – like approval flows, user enablement, content creation and translations, publication criteria, and so forth – need to find their representation in the PIM solution, as well, because those are related to the essential product data and its management.
PIM Awareness
| 83
Online consumers are more demanding than ever and the next competitor is just a “clickaway”. The ultimate goal of each commercial organization is to sell and promote its product assortment anytime, anywhere, to everyone... The cross-channel influence is significant. A recent study shows that the modern buyer informs from various offline media, researches on the Web, to finally purchase at a physical store. PIM leverages product information to various channels, thus making it available for users, partners, sales reps, call center agents, and so on. Consistency of information is an important factor, because it guarantees that all channels expose the same information with equal quality. This, in return, increases the loyalty of the customer base. In his book “Shopping 3.0” Cor Molenaar exclaims that:
“
Consistent communication thorough all channels is a precondition for cross-channel strategies implementation.
The spectrum of channels is vast and a primary duty of a PIM is to enable the cross-channel quality and consistence of information.
Set the Base for Success
Aspect 3: Leverage Product Information to Channels
84 |
PIM Awareness
3. Online and Offline channels POS
Set the Base for Success
B2C
B2B
Dealer
Partner
B2E
DVD
Adds
2. Automation & Workflows
2. People & Processes
EPR
PLS
XLS
TXT
... .
XML
CSV
CMS
DAM
‌
-----------------------abcd
1. External and Internal Information Sources Figure 4: PIM promotes the product information to all channels
While physical stores, print catalogs and fliers, websites and call centers are still critical to success, latest reports reveal that true sales channels have more than doubled in a short amount of time. The multi-channel approach is evident in the strategies of companies of all calibers. Moreover, each channel comes with its requirements and specifics, benefits and added value.
PIM Awareness
| 85
In our projects one of the discussions we carry out with the business team is to identify the channels, which expose product information.
Finally, we stress upon the fact that channels should be inter-consistent, meaning, to expose the same quality of product data. This inter-consistency is a foundation for the Omni-channel objective that the Client wants to achieve. Further strategies like personalization, targeting and marketing campaigns build upon the multi-channel basis. Therefore, identifying the right pieces of the multi-channel vision boosts the advancement of the other corporate activities.
As a Summary PIM complements the existing corporate investments in data systems, by enhancing product information, versioning it and most importantly, structuring it. Investments made in PIM, assume that organizations revise their internal processes and unify their resources in order to nurture reliable product information – commercial or internal. Furthermore, bringing internal awareness of the PIM potentials establishes a solid base for each e-Business strategy and development growth. Being between the front-facing technologies (such as e-Commerce and mobile front-ends) and the backend platforms (like ERP, CMS and CRM), the PIM is the connecting layer that has the agility to manage all data from the desired sources toward the consumer-facing channels. Moreover, PIM ensures that the product information is equally complete and representative on each commercial channel – online or offline. This knowledge should be shared with the business team so as to establish proper expectations about hybris, but also to align the understanding about what the hybris PIM genuinely is.
Set the Base for Success
Next step would be to analyze the common and specific workflows for managing and displaying this information to Users.
Domain Methodology
| 87
“
By three methods we may learn wisdom: First, by reflection, which is noblest; Second, by imitation, which is easiest; and Third by experience, which is the bitterest. ~ Confucius
The Client’s business domain is complex and specific – characterized by the culture of the company and the nature of their business model. It is known – a software project requires certain expertise regarding the business domain it affects. Subject Matter Experts are always welcomed when it comes to strategic consulting, supervision or business modeling. Executing a project is much easier when it follows a well-defined and proven methodology. Based on empirical experience, a methodology establishes processes and responsibilities, which can be applied over and over again. Following a methodology would increase effectiveness and would give you sufficient comfort when approaching complex project matters. Problem
Projects commence with insufficient or unstructured knowledge of the business domain at hand, such as, Master Data Management (MDM), Product Information Management (PIM), Retail, Mobile, Telco, e-Commerce, and so on. Leading a project with such an approach naturally outcomes to an obscured Requirements process and incomplete solutions.
Guideline
Distill MDM / e-Commerce best practices within your company or borrow existing ones. Use this methodology as a redline during the whole project in order to leverage your strategy, planning and prioritization.
Set the Base for Success
Domain Methodology
88 |
Domain Methodology
Related Patterns Client, Workshop, PIM Awareness, Overall Consulting Guidance, hybris Functional Consultant, Requirements Gathering, Glossary, System Actors Inventory
Set the Base for Success
Understand the Importance of a Domain Methodology According to dictionaries, a methodology is “a system of methods�, regarding rules and practices about how to achieve certain objectives or implement software solutions. Methodology is needed because people want guidance! In the early days of the hybris project, when the working habits are not yet settled and the Business Client is looking at you to commence the venture, what stands out is the ability to demonstrate that you can understand their business and know how to streamline the work that follows. Along with the hybris platform knowledge, a project should feature decent domain skillset in order to organize the requirements process and guide the Business team. Surely, expertise in e-Commerce and PIM proves to be a great advantage towards understanding of the business.
In the context of hybris projects, a domain methodology can embrace several business realms like e-Commerce, Supplier Management, Customer Information, Product and Editorial Content and so on. Next to their specifics, each domain defines a certain Glossary of terms, which could be used to identify a common vocabulary throughout the project.
Select a Relevant Domain Methodology for Your Projects At the start of the project select the Domain methodology you want to use. Ensure the Business users and your team are aware of it, because the methodology would define your mutual way of working, Requirements Gathering approach and deliverables.
Domain Methodology
| 89
Come to the site
Get info
Preview Products & Evaluate
Select
Buy
Receive, Use & Get service
Return to the site
Sell
Deliver
Post sales & Retain
Consumer journey Merchant Enterprise processes Purchase / Manufacture
Create awareness
Attract
Inform
Figure 1: Overview of user experiences - for the Consumer and the Merchant
The Consumers follows the guidelines of the Merchant’s website to Learn, Select, Buy and Evaluate products. Correspondingly, the Merchant User follows certain company workflows to Create, Popularize, Sell, Deliver and Service products. A worthy e-Commerce methodology should be able to capture all the processes involved in both User experiences – this will give you a key advantage in templating the structure of every e-Commerce project to come. Such a methodology should feature the following benefits: • • •
It takes into considerations the User Experiences and depicts a complete set of common processes used in modern e-Commerce implementations. It is designed as a Consulting tool – a common structure of activities, to help advising a Business Client or a Prospect in implementing an ample e-Commerce platform. It should answer questions like “How complete are our requirements?”, “What is needed?” and “What is the complexity?”
Most notably, a methodology allows you to organize the entire working process.
Set the Base for Success
For example, in the domain of e-Commerce, each User experience can be seen as a pattern of processes and workflows. On one hand, we have the Consumer, who is interested in learning about or buying products. On the other hand is the Merchant – who offers products and services. Both Users follow distinct sequence of processes to achieve their goals.
90 |
Domain Methodology
Have a Global Vision At first, your Domain Methodology should provide a strategic bird-view over the major processes, involved in the domain. Set the Base for Success
For example, in the e-Commerce domain, both Consumer- and Merchant user experiences can be summarized in high-level Functional Domains, similar to the ones below:
Consumer Functional Domains Get Information & Evaluate
Receive, Use & Get service
Select & Buy
Enterprise Functional Domains Supplier Management
E-Commerce
Online Marketing
Point-Of-Sales
User Management
Product Information Management
Mobility
Customer Service
Content Management
Order Management
‌
Figure 2: A suggestive framework of domain processes for Consumer (in blue) and the Merchant (in orange)
The Consumer journey represents the processes that Consumers follow when they visit the commercial shop of the Merchant. Three functional domains summarize the three main phases of the Consumer journey, namely the pre-sales, sales and post-sales.
Come to the site
Get info
Preview Products & Evaluate
Get Information & Evaluate
Select
Select & Buy
Figure 3: Consumer journey (in green) and its domain processes (in blue)
Buy
Receive, Use & Get service
Return to the site
Receive, Use & Get service
Domain Methodology
| 91
Purchase / Manufacture
Create awareness
Inform
Attract
Suppliers
Sell
Deliver
Post sales & Retain
Online Marketing PIM E-Commerce Content Management Order Management
Warehousing
…
User Management
Customer Service
Customer Service
Figure 4: Merchant’s Enterprise processes (in green) and their functional domains (in orange)
Finally, both User experiences and their functional domains can be mapped together, as shown below:
Come to the site
Get info
Preview Products & Evaluate
Select
Get Information & Evaluate
Purchase or Manufacture
Create awareness
Buy
Inform
Suppliers
Sell
Deliver
Online Marketing PIM E-Commerce Content Management Order Management
Warehousing
… Customer Service
Figure 5: Domain processes - putting it all together
Return to the site
Receive, Use & Get service
Select & Buy
Attract
Receive, Use & Get service
User Management Customer Service
Post sales & Retain
Set the Base for Success
Likewise, the Enterprise Back-Office Functionalities, concerning the Merchant Users, can also be represented with a set or functional domains. The Enterprise Functionalities depict routines that are performed by a Company to support the processes of hybrid-channel Consumer experience.
92 |
Domain Methodology
In the context of hybris projects, a domain methodology can embrace several business realms like e-Commerce, Supplier Management, Customer Information, Product and Editorial Content and so on.
Set the Base for Success
Next to their specifics, each domain defines a certain Glossary of terms, which could be used to identify a common vocabulary throughout the project.
Zoom Into the Details Your domain methodology should further define the details of each functional domain. Breaking down each domain into building Functional Blocks allows you to put the required processes in perspective and zoom into the details of a concrete project. Here is a possible breakdown of functionalities for one of the e-Commerce Consumer processes – “Get Information & Evaluate”: Gather information
GIE 1
Browse & Find product
GIE 2
Learn about products
GIE 3
Global Navigation [GIE 1.1]
Keyword search [GIE 1.2]
Search result page [GIE 1.3]
Newsletter [GIE 1.4]
Product category navigation [GIE 2.1]
Keyword product search [GIE 2.2]
Faceted navigation [GIE 2.3]
Saved search profiles [GIE 2.4]
Product advisor [GIE 2.5]
Bill of Material [GIE 2.6]
View category page [GIE 2.7]
View Product Lister [GIE 2.8]
Product cross & upsell [GIE 2.9]
Product recommendation [GIE 2.10 ]
Product promotions [GIE 2.11 ]
Recently ... products [GIE 2.12]
View product detail [GIE 3.1]
3.1 Content on product detail page
Compare products [GIE 3.2]
Editorial Content
GIE 4
General Content [GIE 4.1]
Company information [GIE 4.2]
Select product variant [a]
View store inventory [b]
View product reviews [c]
View upsell / cross sell products [d]
Comparison box [e]
View 3rd party product data [f]
View media gallery [g]
View product manuals & guides [h]
View certificates [i]
View relations with other products [j]
View bundles and product sets [k]
Send to Friend [l]
Press content [GIE 4.3]
Marketing content [GIE 4.4]
Online shop information [GIE 4.5]
Social links [GIE 4.6]
Printer friendly content [GIE 4.7]
Figure 6: Example of detailing out the Consumer functional domains
Similarly, the Enterprise processes can also be chunked into smaller building units, as displayed below for the “e-Commerce” Back-Office domain:
| 93
Product Access
ECO 1
Category navigation [ECO 1.1]
Global Navigation [ECO 1.2]
Faceted Search [ECO 1.3]
Keyword Search [ECO 1.4]
Product finders/selectors [ECO 1.5]
Product Topology [ECO 1.6]
Promotions & Merch
ECO 2
Discounts [ECO 2.1]
Promotional vouchers [ECO 2.2]
Promotions [ECO 2.3]
Teaser Management [ECO 2.4]
Behavioural targeting [ECO 2.5 ]
Campaigns [ECO 2.6 ]
Set Builder [ECO 2.7 ]
Gifts & Samples [ECO 2.8 ]
Offline sales
ECO 3
Dealer/store locator mngm [ECO 3.1]
Appointment management [ECO 3.2]
Service management [ECO 3.3]
Lists Mngmt
ECO 4
Product configurator mgmt [ECO 4.1]
Wish list management [ECO 4.2]
Gift list management [ECO 4.3]
Order templates [ECO 4.4]
Request for proposal mgmt [ECO 4.5]
Scan to order mgmt [ECO 4.6]
Stock notification mgmt [ECO 4.7]
Pre-order management [ECO 4.8 ]
Checkout process
ECO 5
Basket mgmt. [ECO 5.1]
Product reservation [ECO 5.2]
Cost Calculation [ECO 5.3]
Customer validation [ECO 5.4]
Delivery methods [ECO 5.5]
Payment methods [ECO 5.6]
Payment & ECO 6 confirmation
Credit check [ECO 6.1 ]
Credibility check [ECO 6.2]
Online payment confirmation [ECO 6.3]
Credit line management [ECO 6.4]
Confirm order [ECO 6.5]
Order inbox [ECO 6.6]
Product set on sold [ECO 6.7]
Order attachment [ECO 6.8]
Email Message Handler [ECO 7.1]
Error Message Handler [ECO 7.2]
Hints Message Handler [ECO 7.3]
Fireable & Fired Promotional Msgs [ECO 7.4]
Confirmation Messages [ECO 7.5]
Handlers
ECO 7
Figure 7: Example of detailing out the Enterprise functional domains
You can further elaborate on each of the functional domains that represent your methodology, thus, creating a solid know-how about your competence of the domain. Once this is shared with the Business Client, it builds a sense of trust and comfort that you know how to realize the solution of their vision. Besides, such an approach ensures that the information is exhaustive and guarantees certain level of completeness. Consequently, the Client can oversee the whole scope of the solution and buy-in some ideas of areas, which have been forgotten or neglected.
In our hybris projects we often go one step further, by detailing our building blocks into a set of requirements. As expected, this technique bids the advantage of identifying concrete needs, outlining risks and even, estimating the desired features. Here is an example of one functional block, divided into requirements:
Set the Base for Success
Domain Methodology
94 |
Domain Methodology
Functional Block
Requirement
Product Comparison
As a Consumer I want to see a toolbar so that I can view products for comparison. As a Consumer I want to select a product for comparison - in a grid view and in a list view.
Set the Base for Success
As a Consumer I want to view a comparison page, which displays a table with the comparison attributes and their values. As a Consumer, I need to be able to deselect product out of the comparison page. As a Consumer, I want to be able to select the comparison attributes for various product categories.
Imagine if you are able to define common requirements in such a manner and be able to demonstrate the full extend of your domain knowledge! This would give you a tremendous head-start when approaching a new project, because it serves as a blueprint for your overall consulting work. In the context of an average project, for each requirement, you can further make the effort to work on the following aspects: • •
• • • •
Make a Gap analysis whether this feature is out-of-the-box for hybris List beneficiaries of the needed feature and start a System Actors Inventory Identify complexity of the requirements Get average estimation of efforts Register associated risks Annotate if the requirement is for a Front End or a Back End environment
The result will be yet another pattern approach regarding project scoping.
Apply Your Methodology in Planning and Prioritization Having a tool like a Domain Methodology is only the beginning. You can employ it further to outline the organization of the Requirements Gathering Workshops. If we take the suggestive Consumer and Merchant processes, consider the following planning of Workshops with Business users in hybris projects:
Domain Methodology
Workshop 2 – Get information
Workshop 3 – Select & Order
Get information
Select & Order
Receive, Use & Get Service
Suppliers
Online Marketing
E-Commerce
Customer Service
PIM
E-commerce
Online Marketing
Users
Warehouse
Content Management
Order Management
Warehouse
Channel Management
Users
Admin
Content Management
Consumer journey Enterprise processes
Workshop 4 – Receive, Use & Get Service
Figure 8: Suggestive workshop planning around business domain’s requirements
Here are few tips about how to apply a Domain methodology in organizing your Workshops: •
• •
• •
Group and name your Workshops thematically – this gives a sense of preliminary prioritization based on modern e-commerce processes for Front- and Back-End. Following a Customer-centric approach, start from the Consumer experience and define primary goals. Respectively, identify the supporting Enterprise functional domains, which ensure the availability of information for each corresponding Consumer domain. Organize one or multiple Workshops with the Client, based on the groupings. Iterate and improve the knowledge on requirements by planning more Workshops, until you exhaust the complete scope.
As seen, expertise in the Business domain is a major success factor in sculpting the hybris project. Using a Domain Methodology that matches the Client’s business proves to be a reliable source for inspirations, structure and progress. Important considerations when selecting a methodology is not only the methodology’s features, but also the cost of using it, the types of problems to which it is best suited, its limitations, and the appropriate training available for your teams.
Set the Base for Success
Workshop 1 – Product Information
| 95
Software Methodology
| 97
Software Methodology ~ Alistair Cockburn
hybris projects are complex endeavors, which initiate with strategic Business goals and a solution foresight, passing through phases of analysis, design, realization, rollout and maintenance. Hence, being a highly visible corporate initiative – with serious output – a project requires solid understanding of the complete software development cycle. It is my observation that hybris projects are often started exclusive of a clear vision about the development process to be used, its phases and expected deliverables. Since various people work on the project and every individual has own sense of software development, soon the project becomes a playground for individuals, instead of a cooperative game with strict rules and regulations. Problem hybris projects occasionally commence without a well- defined Software Development approach, development stages, process responsibilities and artifacts. Even if individual project members know software approaches, the lack of electing a single methodology, results in chaos and a misguided Client. Guideline
Select a Software Development methodology, based on your company’s practices and preferences. Use this methodology during the whole project to structure the realization phases. Utilize the associated, with the methodology, blueprints and appoint responsibilities.
Related Patterns Client, Overall Consulting Guidance, hybris Functional Consultant, Workshop, Requirements Gathering, Glossary
Set the Base for Success
“
Agile Software Development is a cooperative game
98 |
Software Methodology
Recognize the Significance of a Software Methodology
Set the Base for Success
Developing software seems so natural for some organizations that frequently their projects start with the assumption that everyone is aware of how to do it. Repeatedly, the people responsible for the project execution fail to recognize that project members might have different – sometimes even opposite – understandings about how to create software solutions. This is especially noticeable when working with subcontractors, partners or remote teams. Also, when entering a hybris project, the Consulting party is supposed to work with a Client, who might have their own software methodology and practices. Identifying a single Software Methodology is a key factor for the project’s success, because it defines the rules for engagement. SDLC, OOP, RAD, RUP, DSDM, XP, TDD, FDD, Scrum, Kanban, AUP are all great examples of sound Software Methodologies and paradigms used for software production. Each methodology suggests a number of phases and disciplines for building software. It recommends project roles and responsibilities. Moreover, it advocates certain deliverables and their relations. Finally, with no exception, the methodologies supply templates, processes and best practices to achieve optimal results. All these artifacts can largely contribute to the project Glossary in attempt to define a working language within the project.
Choose a Relevant Software Methodology for Your Projects Consider selecting a Software methodology early in the project – at the inception, together with the selection of the Domain Methodology. Share your selection with the Client, in order to set the basics of your future Requirements Gathering, forecasting and estimation disciplines.
Software Methodology
| 99
Agile approaches – like Scrum and Kanban – rely on iterative software production, where each increment delivers working high-quality software. An increment includes all the steps of requirements analysis, design, implementation, testing, and integration – a full assembly lifecycle. Agile methods employ adaptive estimations and planning. They promote quick and flexible response to change. When properly done, this approach elevates the confidence within the Client organization, because it allows early feedback, followed by the flexibility to re-prioritize the requirements in each production cycle. Martin Fowler, a British software engineer, author and international public speaker on software development and agility, suggests that:
“
You should use iterative development only on projects that you want to succeed.
Actually, presenting a Software development approach to the Business Client often happens as early as the pre-sales cycle: already in the Request For Proposal (RFP) process. A serious RFP response should include – among other things – a well-defined proposal about how business requirements will be approached and managed in order to transform them into a living solution.
Most of the RFP questionnaires, we have seen, contain sections referring to the preferred or suggested Software methodology. Besides, it should not come as a surprise if a Client has preferences towards one or another software approach. So, be prepared not only to answer this point of the RFP, but also to match your software development style with the project specifics.
Set the Base for Success
It is recommended to consider applying an agile methodology for hybris projects.
100 |
Software Methodology
Apply the Methodology
Set the Base for Success
It is the project management duty to ensure that all team members follow the selected methodology: the project steering body takes the prime responsibility to educate the team and guard the processes, prescribed by the methodology. A software development approach can be embraced by project teams and used “as is” or be adapted according to company’s predilections and policies.
In my career life I have not encountered a single professional who had not known or made use of at least one Software methodology. The point is not only to know, but also to use and apply. As Steven Covey, author of the admired book “The 7 Habits of Highly Effective People”, points out:
“
To know and not do is, actually, not to know.
Therefore, in a project, make sure that all involved people know and understand the selected software development approach. Organize Workshops with the project staff to agree on the methodology phases, responsibilities and deliverables. Then, make the necessary that the methodology is actually applied in the overall process. Remember, that exploiting the methodology requires discipline, and is, hence, an obligation of each project member, including the Client personnel.
Set the Base for Success
Doing the Right Thing Platform Expectations Communication Young Partner
Doing the Right Thing User-Experience Design Planning Requirements Gathering
Zero Efforts
Glossary
A simple way of distinguishing efficiency and effectiveness is the Steven Covey’s maxima, “Efficiency is doing things right, while Effectiveness is doing the right things.” This is based on the principle that selection of goals of a process is just as important as the outcome of that process. This part of the book is about finding the right things to do for a successful project. Once you define WHAT the right things are, you can further proceed with HOW to do them properly. So, don’t lose time – discover what those things are within the next pages …
Platform Expectations
| 105
Platform Expectations ~ Stephen R. Covey
When commencing a hybris project one of the biggest challenges we face with business people is the inaccurate expectation about the hybris Suite. Frequently, this discrepancy comes due to different participation of people within the Client Company – the people who decide on purchasing the platform suite are not necessarily the same individuals who partake in the solution construction afterwards. The people involved in the purchase have been sufficiently informed in order to have the right conditions to decide.
The people participating in the implementation process need to have, at least, the same amount of information, in order to provide suitable input to the development teams. Problem The choice of the hybris Suite – as a future Corporate platform – is not always well understood by the business people, who are involved in the project. This brings inadequate expectations of the platform abilities and its true capability. Guideline Initiate your projects with a discussion about hybris’ values – summarize clearly the platform’s capacity to support the business objectives. Set the people’s expectations in the proper direction. If possible, suggest an introductory hybris training. Related Patterns Client, Overall Consulting Guidance, Virtual Product, PIM Awareness, Workshop, Domain Methodology, Internal Process Alignment
Doing the Right Thing
“
We see the world, not as it is, but as we are – or, as we are conditioned to see it.
106 |
Platform Expectations
“hybris - What is it Actually?” Due to its versatility and spectrum, the hybris Suite is often equated to a “Replacement of an existing ERP”, “Ultimate Data Hub”, “Our new corporate CMS platform”, “An MDM solution” or “A new generation of ESB”. Under- or overestimation of capabilities produces unrealistic intent to use the platform features.
Doing the Right Thing
Based on limited awareness, we have witnessed expectations that the hybris Suite can deliver – out-of-the-box – everything in the e-Business realm – including domains like Product Lifecycle Management, Consumer and Company Governance, Order Administration, Media and Content Management, but also … e-Procurement, Warehousing, Fulfillment, Supplier and Contract Management, Data Quality Metrics, Sourcing, and so on. And the list of domains grows larger and wilder depending on the context in which the Client resides and the challenges they face in their business. It is because business people simply expect that the new solution will remedy all current deficiencies and challenges. The fact that the hybris software can fulfill most of those aspects does not mean that it offers them all, neither it covers their complete scope. And, despite a successful commercial sales-round, the platform is often perceived as a “something-in-the-middle” with unclear understanding of its genuine potential. In search of the ultimate enterprise solution, business people tend to hyperbolize the possibilities of the Suite. Moreover, we notice misaligned anticipations about the project organization, business collaboration and final usage of the system. All this, of course, leads to distorted expectations – a sensitive topic, which requires proper Overall Consulting Guidance.
Platform Expectations
| 107
Rarely we encounter a project, where everybody is clear about the hybris Suite and its applicability to their business. Looking for ways to create a good level of awareness, we started initiating our projects with a short discussion about hybris’ principles and relevant project expectations.
• • • • • • • • • •
Important hybris concepts Value of Product Information Management (PIM) and Product structures Various models in hybris – product, user, content, order, etc. Core architectures and deployment scenarios A notion of hybris User Interfaces (cockpits) – usefulness and practicality Essential workflows in the Back Office Project roles and team setup Expectations around business users involvement How the project will involve in-company activities around content creation, Internal Process Alignment and Change Management High-level steps in a successful roll-out of the system
In the same Workshop, we make a light demonstration of a default hybris installation, so that business participants can get a feeling about the platform “as is” – to familiarize with the user experience, out-of-the-box functionality and available software modules. We apply our Domain Methodology: during the meeting, we relate to the Client’s business domain as close as possible. We make associations between the hybris’ and the Client’s worlds. This helps tremendously in setting the right anticipation about the future solution. Hence, consider commencing a hybris project with a short discussion about hybris virtues, where you open a transparent dialogue about expectations. It allows business people to further acquaint with the platform – its usability, diversity and strength. This approach allows affiliating those expectations with the authentic potential of the Suite.
How About an Introduction Training? Another popular form of early expectation management, at the start of the project, is a fullfledged hybris Training, explaining concepts and features of the platform.
Doing the Right Thing
We kick-off the project with a dedicated Workshop, where we highlight:
108 |
Platform Expectations
Experimenting with this approach, revealed the conclusion: it is advisable for a Business Client to invest a couple of days for an introduction about the Suite. Spending one or two full days of familiarizing with hybris is seen as a capitalization, in terms of comprehension and knowledge gain.
Consider offering a hybris Training at the beginning of the project, not only at the end.
Doing the Right Thing
It is a common belief that Training and Education are activities for the late project phases. Challenge this belief and put first things first: use a training as an enabler of awareness and understanding. On that ground, build skills and expertise. Caring about people’s expectation pays many-fold. Using the above approach guarantees that the Client has a clear view over the platform and a proper perspective about the future solution. Hence, setting the correct expectations right from the start becomes vital for the final outcome of the project.
Doing the Right Thing
Young Partner
Young Partner
“
| 111
Youth is easily deceived because it is quick to hope. ~ Aristotle
After the acceptance process, a young hybris partner could potentially take on a project.
Doing the Right Thing
Hybris AG has a strict policy of admitting a company as a hybris partner. Various trainings and regulations are a part of the partner-enabling program.
Nevertheless, it has been proven that training and certification are not sufficient to start implementing a serious e-commerce solution, even if it is based on the late hybris Accelerator prodigy or the core hybris modules. There are more factors that play decisive role for becoming a successful and effective partner.
Problem
“Young” hybris partners often fail to build robust hybris solutions due to lack of real-life hybris experience and a structured project setup, suited for hybris implementations.
This leads to bad modeling practices, low quality code, and budget-bleeding projects. The final result is: unhappy Business Client and broken business relations. Guideline
Establish a proper guiding process by seeking help from the hybris Company or a more experienced Partner.
Related Patterns Client, Overall Consulting Guidance, hybris Functional Consultant, PIM Awareness, Workshop, Domain Methodology, Software Methodology, Glossary, Requirements Gathering, Communication, User Enablement
112 |
Young Partner
Note of Attention In the context of this pattern, “Young” does not refer to a “small” or “under-developed” firm. Rather, it is a reference to a company with limited or no practical experience in hybris implementations.
We have seen cases of large multinational companies, which make serious investments in developing hybris skills. Doing the Right Thing
However, in terms of hybris project maturity and real-life expertise, those companies are still toddlers. And being a toddler is not a problem, when you have a proper guidance. The challenge is: “How to start?” It is noticeable that inexperienced hybris partners, tend to initiate their hybris projects with a traditional development setup – employing limited understanding of the underlying platform.
“
We’ve done software projects before, so we can do it here as well
That mentality is inadequate to manage a project, which requires specific knowledge in hybris and the related business domains, like e-commerce, B2C, B2B and Product Information Management (PIM). Furthermore, if a young partner fails to realize their lack of knowledge and skills, soon they face the bitter lessons of a cripple project. Still, they would not know how much they don’t know yet, because – if they lack experience – they cannot envision the whole complexity. Consequently, they would have hard time to recognize when to start looking for help and what help that might be. There are also cases where a young partner has already the awareness of their moderate hybris expertise. Then, the company habitually has concerns like: • • • •
“Are we able to make a solid sales pitch around hybris, if we don’t master the platform yet?” “Can we accomplish quality results if we don’t posses qualitative experience?” “We have brilliant tech people, but can they develop in hybris?” “How can we estimate a budget (on the first place), when we’ve never developed such a solution with hybris?”
Young Partner
•
| 113
“Are we able to offer reference of our hybris work to our clients, when we have no previous experience?”
The answer to those anxieties lies in a proper Guiding Process. Depending on the business model, the guiding can be fulfilled by: the hybris Company, as part of the partner-enabling program or another, more experienced, hybris Partner
Start with Confidence You have won a hybris project. Now is the time to get started. Here is a checklist of steps on how to commence and be confident that you have the skills to perform: 1. 2. 3. 4. 5. 6.
Identify your Core Team Select your Domain Methodology Select your Software Methodology Select your tools Propose an initial plan of approach how to handle a hybris project Engage hybris Professional Services for consulting and reviews
This checklist has helped me support a number of young hybris partners or put difficult projects on track. The goal is to find the most important aspects of a hybris project and organize the whole team around them. There could be more activities, which allow you to start. Hence, depending on your organization and experience, use the checklist as a guide, rather than as a prescription. When you review the list within your company, an important point is to be utterly critical about what you have and what you do not. Because if you do not possess some of those elements, you still have the time to acquire them – better early, than late! Most of those activities are described in dedicated patterns. Here, I would provide brief summaries of each.
Doing the Right Thing
• •
114 |
Young Partner
Step 1: Identify Your Core Team The Core Team is crucial for the stability of the project. A Project Manager, a hybris Functional Consultant and a hybris Technical Consultant are the ultimate core team – they will ensure uniformity and structure in the project. Moreover, they would be the ones to take the next important steps from the checklist and serve as mentors to the rest of the team. Project Manager
Doing the Right Thing
Figure 1: The Core Team acting as a solid center of every hybris project
Core Team
hybris Functional Consultant
hybris Technical Consultant
The Project Manager will drive the overall project in a structured and steered manner, being aware of possible pitfalls and risks. A hybris Functional Consultant will guide a project with specific hybris functional expertise and sense of business value.
hybris Technical Consultants will devise the architectural design and realize the implementation of the project, by using the most of the underlying hybris Suite. A Principal Overall Consultant, who can act as an overarching mentoring power for the project, can also support the core triplet – especially in situations when the core team has limited experience with complex e-Business projects. Project Manager
Core Team Principal Consultant
Figure 2: A Principal Consultant can be an invaluable help for the Core Team
hybris Functional Consultant
hybris Technical Consultant
Young Partner
| 115
Here is a simplified comparison table for the main consulting profiles, which would shape the backbone of your project: Principal Consultant
Functional Consultant
Technical Consultant
Determines the boundaries of the future solution
Recommends on out-‐of-‐the-‐ box functionality
Advices on out-‐of-‐the-‐box technical solution
Prioritizes requirements based on value and complexity
Defines modularization and deployment architecture
Demonstrates out-‐of-‐the-‐box functionality
Demonstrates out-‐of-‐the-‐box functionality
Defines high-‐level prioritization and planning of functionality
Defines Acceptance criteria for the solution requirements
Advises on major processes like Change Management, Content Creation, User Enablement
Reviews the delivered functional features
Defines the blueprints of integration points with existing systems
Participates in selection of tools and collaboration media
Creates User Guides
Acts as a Project Coach
Participates in delivering end-‐user trainings
Engages herself with the conception of the project organization Advices on selection of a Domain methodology Advices on selection of a Software methodology Drafts high-‐level system architecture
Keeps the red line of the corporate objectives
Acts as an agile Product Owner or a Senior Business Analyst
Explains gaps and suggests workflows
Is able to configure the hybris Suite and prepare Proof-‐of-‐ Concepts
Writes Functional Designs
Acts as a Technical Architect
Proposes technical architecture of the solution
Is able to customize the hybris Suite and prepare Proof-‐of-‐Concepts
Writes Technical Designs
Realizes the technical architecture
Implements the blueprints of integration points with existing systems Reviews the delivered code
The suggested list is not exhaustive; consider complying with your company traditions in finding the right profiles. Do not forget: those profiles should have a certain knowledge level in hybris, in order to guide the rest of the team and the Business Client. For more information on consulting roles, have a look at the patterns Overall Consulting Guidance and hybris Functional Consultant.
Doing the Right Thing
Guides the project vision together with the Client
116 |
Young Partner
Step 2: Select Your Domain Methodology The Domain Methodology would give you an organized set of processes and practices related to the project theme – e-commerce, PIM, Mobile, Telco, Retail, Insurance, and so on. Likewise, it will recommend a certain prioritization of requirements, and their related complexity.
A word of caution: Do NOT start your project without a Domain Methodology. Knowledge and experience in the business domain is imperative for the success of the project. Doing the Right Thing
If your company does not posses knowledge of certain domains, make sure that you find elsewhere knowledge expertise and apply it from “day one”. For example, if the project requires e-Procurement functionality, ensure that you furnish such expertise for the project – right from the beginning. Refer to the pattern Domain Methodology for further ideas on this topic.
Step 3: Select Your Software Methodology Your company has already developed a great number of software projects, following a certain software methodology. Regardless if you embrace Agile, Waterfall or a corporateowned methodology, make sure you use one such approach in the project. The selected software process will dictate the phases of the project and the related deliverables.
Young Partner
| 117
Avoid commencing a project without a clear vision about which software process the teams would follow. Professional people come with difference backgrounds and expertise, so do not assume that everybody has the same level of knowledge of how to build software.
Remember, a Software Methodology comes with certain practices. If you allow people to use different methodologies, soon you will have chaos of myriad practices and no harmonization between them whatsoever. Code built under those conditions is unreliable and fragile – when you put all things together, you might be “enjoying” the next software Frankenstein … Read through the pattern Software Methodology for more thoughts related to this subject.
Step 4: Select Your Tools Tools help you do your job. Note: tools cannot do your job. However, without tools we would not have high production. Tools come in various flavors for editing, building, documenting, planning and managing the project.
Everybody knows tools. Nonetheless, select tools, which your team masters and are in common use. This will enable the team to construct with comfort and efficiency. Tools need to support the daily work, and also to guide team members in processes and techniques. Few examples: •
• •
Employing a suitable Application Lifecycle Management (ALM) tool will aid the team to follow a preferred Software Methodology, structure the requirements, plan the work and trace overall progress. Having a solid Continuous Integration (CI) environment will guarantee the right construction and quality of the produced software. Establishing a common Collaboration platform will enable your team to communicate with ease, preserve deliverables and capitalize the good practices.
Doing the Right Thing
Instead of guessing and hoping, better take the lead and select a single software-creation strategy for the project, which suits the culture of both the Client and your organization.
118 |
Young Partner
Step 5: Propose an Initial Plan of Approach (PoA) The initial plan defines the rules for engaging the project teams. It establishes responsibilities, priorities and expectations for the complete project. For prioritization, the plan should be inspired by the preferred Domain Methodology. Planning the phases of the delivery process should follow the selected Software Methodology. Here is an approach that the initial project plan should consider:
Doing the Right Thing
Start with the core data models and integration points. Next, build the solution’s foundation on standard hybris features. Further, extend the default features with high-value custom features. Continuously build new features until the end. Indicate a Testing Strategy and Code building strategy. Involve in the planning supportive activities like Content Creation, Change Management, User Enablement and a Roll-Out policy.
Looking at common guidelines for a successful project, like the Agile Manifesto, it is recommended to define the plan in such a way that it ensures: • • • • • • •
Creating working software from each development iteration Engaging the Client’s users in each iteration for validation and feedback Keeping it as simple as possible Having a clear backlog of development and other tasks Working as a team and performing daily status meetings Building code continuously Allowing for changes and adapting accordingly
Step 6: Engage hybris Professional Services for Consulting and Review For a young partner, it is advisable to engage the hybris Professional Services for consulting and evaluation. The expertise provided from the “kitchen” is important when the project requires high-level of customization and assessment of architectural decisions. Concept- and code-reviews are common demands from the Business Client. Those activities can also be handled by dedicated hybris personnel.
Involving the hybris Company does not need to be only during the project. It can be done before the start, as well. During the pre-sales cycle, a consulting session with the hybris Company can evaluate the potential of the Partner to take on a project.
Young Partner
| 119
Additionally, a proper training program – for that particular Partner – should be considered, which corresponds to the upcoming project challenges. For example, if you expect to use certain e-Commerce B2B features, make sure your team follows the matching hybris training.
Your Next Steps
Here are few tips how to proceed: 1. 2. 3. 4. 5. 6. 7.
Select the rest of your project team, based on your corporate style and contract agreement with the Client. Introduce Workshops or other forms of organized collaboration activities Identify the Communication channels – internally and with the Client’s teams Introduce templates for your deliveries – specifications, inventory of items, processes, artifacts, visual design- and code-guidelines, and so on. Initiate a Project Glossary, to ensure a common vocabulary among the teams Start with the Requirements Gathering and System Architecture … and so forth …
Those steps should allow you to continue the project with confidence.
Remember, that climbing a wall does not mean that you will achieve great results: you need to climb the right wall, using the right way of climbing. Therefore, as a hybris Partner, make sure you have a strong approach towards the specifics of hybris projects. If needed, seek a proper guidance and excel with each step, in every single day.
Doing the Right Thing
You are not done … The previous activities merely set the foundation for a project. Once you establish this foundation, continue working with the teams on a daily basis to inspire and support them.
Zero Efforts
“
In theory, there is no difference between theory and practice. But, in practice, there is. ~ Jan L.A. van de Snepscheut
Every software project is unique. Even if we follow renowned design and implementation patterns, common practices and guidelines, each project requires understanding, exclusive care, and customizations. The hybris Suite offers myriad of features and configuration abilities. Therefore it is a highly flexible platform, which serves as a blueprint for possible solutions. The platform covers most of the needs a high-volume web shop or a PIM hub would require.
MIND THE GAP
However, the platform itself is not the final solution. There is always a need of adjustment, configuration or custom development. One of the faulty perceptions, we see, is that if a feature is out-of-the-box then it must be zero effort to acquire or use it. Hence, during the Request for Proposal process, companies – in attempt to lower bidding price – estimate those features as “0 man-days” i.e. no effort involved. Especially prominent, this problem is seen with Young Partners.
MIND THE GAP
Projects experience the same difficulty also during the Inception and Construction phases, when teams evaluate workload for the implementable requirements.
Problem
Features, which seem to be “out-of-the-box” are estimated with zero efforts and are not accounted for in the overall workload or the budget.
Guideline After understanding the Business’ requirements, perform a careful gap analysis and suitable estimations. Pay attention to features, which seem out-of-the box because they might require additional efforts. Be prepared to demonstrate the default features and point out possible adjustments.
Doing the Right Thing
Zero Efforts
| 121
122 |
Zero Efforts
Related Patterns Client, hybris Functional Consultant, Virtual Product, PIM Awareness, Workshop, Young Partner, Platform Expectations, System Actors Inventory, Internationalization
Gap Analysis
Doing the Right Thing
A big motivator for the Business Client to decide on purchasing software is the benefits, which they acquire. Mapping Client’s requirements to the capabilities of the software is an important exercise, which influences the outcome of the acquisition.
On average, during the initial presales rounds, our Clients are happy to realize that the hybris Suite is capable of covering – as out-of-the-box – around 60-70% of their requirements. This is an indicator, which we achieve by a thorough Gap Analysis. The higher this percentage is, the more convinced the Client becomes in their purchasing decision. Before and during the project, a Consultant should be able to qualify the gap between desired functionality and the default hybris offering. Having in mind that even the most trivial hybris feature might require simple label change or a translation, a minor tweak, a deployment step or validation job – the effort around all that is not nil.
Zero Efforts
| 123
•
•
•
•
Managing user roles in hybris is a core platform feature. Nevertheless, exploiting that feature requires the creation of client-specific user roles, before using them. After their creation, the user roles need to be associated with access privileges. It comes handy also to create one or two default users, to validate the desired user roles, as explained in the pattern System Actors Inventory. Supporting catalogs and categories in hybris does not mean that the platform “knows” about the Client’s specific categories; someone must create or import them, give them names, adjust attributes, localize, link to Products, define synchronization rules, and so on. Having a media as a product feature requires somebody to make this media available or upload it in the system, on the first place. Thus, that would require using an automatic import of media or a manual process, which, in turn, demands analysis and realization. Internationalization, which is a foundation for multi-national sites, is a standard platform mega-feature. However, before benefiting from it, the team should define languages, study number and metric formats, currencies and locales, link catalogs to web sites, and so on…
And these seemingly innocent changes still require certain efforts and time to accomplish, not to mention the analysis and discussions around. Therefore, if you need to estimate 10 such features, consider that 10 times (almost) zero is not always a zero. Gap analysis is not only a “one-off” effort. Rather, it is a continuous exercise, because in the lifecycle of a project, requirements change and evolve. Thus, remaining agile upon change, we should be prepared to re-do the gap analysis when needed. Moreover, we often advice the Client to remain close to the default behavior of the hybris Suite in order to fully benefit from the power of the hybris software.
Adjust the Expectations During the gap analysis, justifying the effort workload is essential for gaining the trust of the Business Client. Therefore, next to the gap analysis, demonstrate the default capabilities of the platform and identify possible modifications.
Doing the Right Thing
Here are few examples from our projects:
124 |
Zero Efforts
As with the other project difficulties, this one also affects the expectation management of the Client: the “out-of-the-box” discussion often comes to light when the business users expect to use the “default” features “now” and “immediately”. To cope with this misbelief, as a Consulting party, make sure you explain what “default” really means through your estimations and client-enablement discussions.
Usually, in early Workshops with the business teams, we demonstrate default hybris installation and have a healthy discussion about standard offering vs. desired functionality. Doing the Right Thing
Note that this demo is different than the demo the Client normally follows during the sales phase – because it links directly to Client’s own business case and specific requirements. We use this approach to go beyond the demo basics and discuss further details. After a couple of sessions, the business people are well aware of what is “default”. Further on this topic, managing the Platform Expectations of the Client is the obvious answer, but this is not necessarily an easy task – particularly, if the Client is led to believe (from their own research into hybris) that the functionality should be out of the box and cost-free. The Client would well consider the hybris Company as “The” authority on the issue. Hence, by giving out a different message, as a Consultant, you may be risking your own credibility – the Client may wonder if it is a trick to get more budget out of them, or doubt your competence and suspect that the real issue is a lack of expertise on your side. Well, this topic is a real challenge, due to its delicateness: on one hand you have the hybris Suite’s release notes about what is out-of-the-box, on the other hand, as a skilled hybris Practitioner, you have the expertise (and experience) that particular features still require efforts. Therefore, consider approaching this scenario as follows: Make an open discussion with the client, explaining why you consider that even some default features demand efforts. In complement to your valid explanations, this approach actually proves your knowledge in hybris and further shows how Business’ requirements can be linked with hybris features. After making your estimations, engage the hybris Company to validate them – this approach has been used in several occasions, when the client has been in doubt about the estimated efforts. That also invites hybris to recognize the proposed efforts and confirm them.
1 2
Doing the Right Thing
In all cases, regardless of the approach, the formula is: stay transparent and honest – this will gain you more credibility and respect than anything else!
Glossary
How often have you found yourself speaking the same language with others, using same terms, yet, still talking about different concepts?
“
“Meow” means “woof” in cat. ~ George Carlin
An initial phase of a project can be a mystifying experience when trying to reach a common ground of understanding while using specific business terminology. Apparently, giving common terms a different semantic, may lead to more questions, rather then to answers. Comprehension is vital in all phases of the project lifecycle.
Problem
When entering a new project in a little-known business domain, you might find it challenging to grasp the business lingua, at first, and blend into the discussions.
Likewise, the Business Client also find themselves in a less comfortable zone of this novel software – called hybris – and struggle to comprehend new terms, concepts and ways of working. Guideline
Define a project Glossary.
Related Patterns Client, hybris Functional Consultant, Virtual Product, PIM Awareness, Workshop, Requirements Gathering, Domain Methodology, Software Methodology, System Actors Inventory, Page Inventory, Integration Points Inventory, User Enablement, Internationalization
Doing the Right Thing
Glossary
| 127
128 |
Glossary
Consider the following terms, commonly used in e-commerce projects: • • • • •
Doing the Right Thing
•
“Content”: Is that product information, CMS editorial texts or User data? Or, all of those? “Product”: Is this a Sellable item? A Service? A Concept? A Virtual entity? An SKU? “PCM’”: Is that an abbreviation to Product Content Management, Product Cockpit Management, or else? “Customer”: Is that a User? A Company? An Internal business unit? “Internationalization”: Does it refer to an adaptation of various languages and locales? Or it signifies, perhaps, a complete strategy of launching a multilingual, multicultural, hybrid-channel corporate solution? “Campaign”? Does it identify a promotion? A bunch of discounts? Or a well-planned marketing tactic to target Consumers? I remember a project where, at the start, we were discussing the notion of a “Product Catalog”. While we – the Implementing party – were referring to a ‘concept’ in hybris, which defines logical organization of products, the Client was signifying an overall business program – called “Product Catalog” – which involved the Global Corporate organization and its overarching strategy!
To avoid comments like “… That is all Greek to me …”, ensure that you make certain efforts in building up a common understanding of terms and practices, used in the project. It is imperative for a Consultant to understand the business jargon. Likewise, a Consultant should be able to guide the Client into the terminology used within the hybris environment, because the software comes with its own definition of concepts. Finding a balance is not easy, since it requires taking the Client out of their comfort zone and introducing new terms and workflows, yet keeping the day-to-day business language. Using the Client’s vocabulary allows business users to understand the new platform and adopt the solution with ease. Nonetheless, preserving the hybris terminology gives people a quick head-start into already established best practices, a common market vocabulary and a language used by the hybris’ user interfaces. Building that shared understanding starts with a common dictionary.
Glossary
| 129
The solution to this challenge is simple: create a Project Glossary, right at the start of the project. This allows both parties – Business and Consulting – to map their mental worlds to a shared vocabulary of the new software.
A glossary term could include: name and pseudonyms description format (type, measurement, unit) relationship to other terms range of values or validation rules
In the course of the project, we plan dedicated Glossary Workshops, which enable all teams to align their working language. Domain Methodology and Software Methodology represent invaluable input for the Glossary, by offering words and phrases that are commonly used in similar projects. Moreover, activities like Persona- and Page-discovery, Requirements Gathering and Legacy System Analysis contribute largely to the Glossary, by defining terminologies used in various phases of the project. hybris also offers a Glossary of Terms in their online documentation. We reuse hybris’ terms, which are applied in the project. We also enrich the list with expressions stemming from the business’ specifics. Besides, other benefits of having a Project Glossary are also: • • • • • • •
To define a simple clear language for the Requirements Gathering process To name core concepts of the System Architecture To give names of entities, described in deliverables like System Actors Inventory, Page Inventory and Integration Points Inventory To designate code artifacts To label development iterations and releases, such as “Sprint 8: “Brand Content” ” or “Release X: “Personalization & Mobile” ” To establish unified language for the various Users Guides and Trainings, related to the User Enablement process To enable new-coming project members comprehend the core concepts of the project
Doing the Right Thing
• • • • •
130 |
Glossary
Today, for every project we run, we create a Project Glossary as a recognizable delivery artifact, which serves as a firm foundation for our communication, requirements language, Workshop grammar, user guides and training. Remember: the Glossary defines the letters of your project alphabet. Learn the letters and you would be able to comprehend. Then, teach the letters to others and you will be capable of interacting and delivering with ease.
Doing the Right Thing
Doing the Right Thing
Requirements Gathering
| 133
Requirements Gathering ~ Atanas Aladjov
When a project is failing to deliver the promised feature-set or the expected quality we normally look at the Development team or the QAs to make accountable. At the end, those are the last lines of the production factory and therefore, a first place to look for reasonable explanations.
Nevertheless, often, after digging under the surface of the development process, we realize that the QA has tested what had been expected and the developers have implemented what had been specified. Hence, actually, what went wrong had happened long before the Coder touched the keyboard…
Problem The prime reason for most failing hybris projects is a weak Requirements Gathering process – the activity, which is supposed to uniformly identify the Business’ needs and provide the “source of requirement’s truth” for the final delivery. Guideline
Define and implement a strong requirements process in the project. Make sure you follow the selected process with care and discipline.
Related Patterns Client, hybris Functional Consultant, PIM Awareness, Workshop, Domain Methodology, Software Methodology, Glossary, Communication
Doing the Right Thing
“
Defining a process will not solve the problem. Living the process will.
134 |
Requirements Gathering
The Importance of Requirements With no exception, all Software Methodologies, define the Requirements Gathering process as the most important one in crafting the fate of the soon-to-be software system. The reason is simple: this is the activity where we establish a foundation of the future solution; we exercise our knowledge of the business domain and define the expectations for success. Consider this: A specification of one single requirement is used as a primary input for the follow up steps and deliverables in the software process. In practice, an individual requirement specification impacts a number of activities and artifacts, for example: Doing the Right Thing
Who
Activity
Resulting Deliverables
Developers
Estimate the workload of software production
Estimations
Produce code
Software code, Unit tests
Write technical documentation
Technical specification
Plan testing activities for functional acceptance
Test plan
Evaluate the realization of the requirement, based on a list of success criteria for the same requirement.
Test cases
Execute Test cases
Test run reports
Trainers
Design education materials
User Guides,
Client Users
Validate the final result i.e. the promised working software “as expected” during a UAT process
Functional Tests,
Plan and develop Change Management tasks
Organizational change chart,
Testers
Training material
Client Business Managers
User Acceptance Test reports
Education process, Update of working processes, Communication strategy, Content plan
That is why creating requirements is a high-responsibility task, which can determine – to a large extend – the fortune of the project. Evidently, if – for one or another reason – we fail to provide this input the right way, soon we will find ourselves amidst unhappy Client, frustrated developers and demotivated testers.
Requirements Gathering
| 135
On the other side of the scale, if we guarantee that this process runs smoothly, we enable the well-being of all consecutive activities and dependent artifacts.
This vision about the requirements and their effect on the whole development process should be shared with everyone involved in the project.
In my opinion, this first discussion is one of the most important interactions where we set a common base for our mutual work and we learn how to value every next step in the long process to come. So, spending an hour to review the Requirements process proves to produce valuable long-term understanding and commitment from everybody.
Why is it Hard to Have a Grip on the Requirements Process? The answer lies in the nature of the requirements and the ability of people to make the requirements “good enough to implement”. Let us have a quick look at the process. Commonly, the Client provides a list of needs at the start of the project. This list is usually written in free prose, possibly containing vague statements and unclear benefits. Here are few examples:
“ “ “
The system should support logging functionality Import of data should happen in regular intervals The new mobile platform must support all features of the current system
It would be hard even for the most experienced development team to implement software, based on this input.
Doing the Right Thing
For that, we usually hold a dedicated Workshop discussion with the Team and the Business Client about this topic, so that all parties can understand the importance of the Requirements and appreciate the consequences.
136 |
Requirements Gathering
Therefore, it is the role of the hybris Functional Consultant to understand the raw requirements and turn them into clear statements. This effort will result in valuable business features and implementable software. Possible clarifications on the above statements can result in requirements like:
Doing the Right Thing
“ “ “
A registered user must be able to login The system should offer a batch import process from ERP, running every 2 hours The new mobile platform must support existing features, namely X, Y and Z
Refining the requirements by adding users, making precisions and writing in active voice improves significantly the comprehension. The corrections made so far are more than visible, but is this clarification really enough to start building software? Not yet! Even if we employ best practices in defining requirements, we still miss details, benefits, expectation conditions, workflows and exceptional scenarios that can influence the outcome of each desirable feature. And – indeed, the Devil is in the details! The details are where most of the projects collapse. Getting right the details seems to be a giant mountain to climb for most project teams. In answering this challenge, approach the Requirements Gathering process in 3 steps: 1. 2. 3.
Identify high-level functional themes Identify implementable units of work for each functional theme Provide details for each implementable unit
Let us inspect each step in depth…
Step 1: Start with the Big Picture Identify high-level functional themes and cluster all business needs into larger logical groups, like Functional and Non-functional Blocks. Note that this exercise requires certain experience in constructing hybris solutions.
Requirements Gathering
| 137
The identification of those blocks could be feature-driven and follow a certain End-User experience (like registration process, checkout process) or be based on common digitalcommerce practices.
Simultaneously, I would employ our e-Commerce Domain Methodology to cross-check, whether the desired feature-list is compatible with contemporary standards and trends. This not only allows me to grasp the “big picture”, but also to discover if there are significant gaps in the listed requirements, which would prevent the creation of a decent solution. Here is a mind map of a possible requirements grouping for front-end features in a B2C website:
E-Commerce B2C
Get Information & Evaluate
Select & Buy
Receive, Use & Get Service
Gather information
Find where to buy
Personal details & preferences
Browse & Find products
Select & add to list
Manage orders & returns
Learn about products
Cart Management
Manage loyalty
Editorial Content
Checkout
Manage wishlist
Re- & Pre-order
Provide feedback Receive support Receive service Support content
Figure 2: Suggestive organization of front-end requirements in a B2C context
Doing the Right Thing
During the initial requirements discovery phase, my first step would be to map the list of Client’s requirements to larger functional themes, called also “high-level Use cases” or “Epics” (in the Agile practices).
138 |
Requirements Gathering
And here is a suggestive mind-map for MDM/ PIM back-office processes:
PIM Setup Input Management Catalog Management Classification Management
Product Lifecycle Supervision Structural Mutations
Doing the Right Thing
Specific Mutations
Product Information Management (PIM)
Mass Mutations
Product Data Maintenance Localization Import / Export
Product Data set up
Activation / Deactivation
Output Management
Archiving/ Decommissioning
Output Planning & Governance PIM Admin
Figure 3: Suggestive organization of back-end PIM requirements
Terminology used for the requirements is essential. Therefore, make use the project Glossary when working with requirements, in order to ensure the proper use of definitions and concepts.
Step 2: Identify Implementable Units After the high-level logical split, the next step is to identify smaller implementable units of work, which can be offered to the Development team for realization. The implementable unit should deliver concrete business value and offer measurable success criteria.
Requirements Gathering
| 139
In our projects we define requirements directly in the form of Agile user stories. A user story is a simple coherent description of a feature, expressed from a User point of view, to identify a certain capability of the system.
• • • • • •
I – Independent: self-contained, in a way that there is no inherent dependency on another user story. N – Negotiable: up until they are part of an implementation iteration, can always be altered, exchanged and rewritten. V – Valuable: must always deliver value to the end user of the feature. E – Estimable: one should always be able to estimate the effort behind the implementation of a user story. S – Small: small enough as to become possible to plan and prioritize with a decent level of certainty. T – Testable: must provide the necessary information to make test development possible and measurable.
This approach already offers the advantage of considering the major implementable units, which would conform to the Client’s requirements – with a proper level of confidence that we have not missed significant functionality.
Hence, during the identification of the implementable units, ask yourself: • • • • • •
What is the added value of the feature? Is it understandable and clear? For who is it important and who will use it? Who will administer it? How can we test it? Does it depend on other features?
Those techniques are thoroughly described by most of the Software Methodologies, hence the point here is: Do not forget them. Employ your knowledge into simplicity and clarifications.
Doing the Right Thing
When writing user stories we comply to the Bill Wake’s INVEST principle, namely, that the user story should be:
140 |
Requirements Gathering
Step 3: Zoom Into the Details Regardless if you are using traditional S.M.A.R.T. Use Cases or Agile User Stories, make sure that for each requirement you define two elements – Details (sufficient elements, which can be implemented) and Confirmation (acceptance tests that validate it). Questions like “Why?”, “Who?”, “What?”, “When?”, “Where?” and “How?” usually help the discussions with the Business Client to solicit the relevant Details.
Doing the Right Thing
Even though details can be written in any format or shape, in the context of hybris projects, I use dedicated templates for describing various types of features, such as Back-Office-, Integration- and Non-Functional features. Templates guarantee consistency in style and structure, when defining requirements. They summarize all essential facets of a good requirement and therefore, can serve as a valuable jump-start for new consultants or project members. Moreover, the templates act as a checklist to remind us to recall important requirement’s aspects in the complex hybris project setting. Here is an example of a template I use for detailing Front End features:
Requirements Gathering
| 141
User Story Name Introduction & Context Business Requirements list Who & Where
User Story Template Elements
Business Flow Screens & Pages Dynamic Behavior Main success scenario Exceptional / Border scenarios Acceptance Criteria Configuration Supporting info & documents
Figure 4: A suggestive template for describing Front-End requirements, in the form of a agile User Story
Details should provide confidence for implementation, so that the technical team would have an easier job to further proceed with technical estimation, planning and development.
When Are We Done? As part of drafting the details, do not forget the Confirmation aspect, namely: identify and write the success conditions of your implementable units. Remember that these conditions are, in fact, the only credible source of information which ensures that we have met the expectations of the Business Client. Everything else is simply a text.
Doing the Right Thing
Preconditions
142 |
Requirements Gathering
Thus, writing the Acceptance success criteria is a way to perform a mini Expectation Management for each requirement. Success criteria will form the base for the future Test Cases, which will measure the final quality of each delivered feature.
Agile practices, like Scrum and Kanban, have a notion of “Done”. The Definition of Done (DoD) represents a simple list of activities – like writing code, adding comments in code, unit testing, supplying design documents, and so on – that represent a demonstrable result of a feature. Doing the Right Thing
An example of DoD can be seen below. Note that done-ness is more than a formality – it is a contract, a high-level commitment, which your entire team makes towards the Client, regarding quality and deliverables. There is no perfect list for Done – the commitment depends on your team, situation and maturity to deliver.
Code produced Technical & User Documentation made Code commented, checked in and runs in a current version control
Acceptance tests pass
Done Code Builds with no errors
Code deployed on a shared environment
Code peer reviewed
Unit Tests are written and pass
Figure 5: Definition of Done (DoD) for a common software project
With well-described Details and Confirmation, you can safely offer a requirement to the development team. The level of clarity and specifics in the provided details should be sufficient for transforming the requirement into a valuable software business feature.
Requirements Gathering
| 143
Make Use of Your Domain and Software Methodologies The Requirements Process should be an integral part of the selected – for the project – Domain- and Software Methodologies.
Complementary, having a Domain Methodology would help you immensely with the identification of implementable units, thus saving you time and efforts. The domain knowhow and know-why would give you a complete grid of functionality that is required by a common e-commerce project.
A final word: Defining the process will not solve the problem. Living the process will. After agreeing on the requirement process, start executing it from the first project days. Be diligent and consistent - soon your efforts will be highly rewarded and capitalized.
Doing the Right Thing
Employing a Software Methodology would bring along a corresponding Requirements Gathering process. Make sure you actually use this process in your project, if you wish to succeed.
User Experience Design Planning
| 145
User Experience Design Planning ~ Steve Jobs
There is rarely a hybris project without a Consumer-facing front-end. To meet the high demands of an attractive website, the User Experience Designers (UEDs) spend a good portion of time to construct the next generation of the corporate site. In addition to dealing with trivial needs like high-usability and user-friendliness, the UEDs face the overwhelming must-haves of modern sites, related to hybrid-channels, retina displays, responsive design, crossbrowser compatibility, brand-awareness and personalization.
Often, a hot topic for discussions is the planning of the User Experience Design (UED) activities, which depend so much on the Business’ input. On the other hand, UED is an important precondition for the complete realization of Consumer front ends. To implement a business requirement with front-end elements, a hybris development team uses the production from the UED team, creates front-facing code (like HTML) and integrates it with the hybris code. In the course of a hybris project there would be a decent number of front-end pages. Hence, one can imagine that the readiness of User Interface (UI) artifacts impacts significantly the overall development planning.
Doing the Right Thing
“
Design is not just what it looks like and feels like. Design is how it works.
146 |
User Experience Design Planning
Doing the Right Thing
Problem
Repeatedly projects experience lack of coordination between UI work and hybris implementation work. If not planned in sync those two development tracks produce heavy dependencies and delays. Technical teams face significant UI rework, in case they start on production with incomplete UED. Moreover, as commonly happens, the UED is created by an external to the project agency, which makes the overall planning even more challenging.
Guideline
Plan the UED efforts in parallel to the core development tasks. Resolve dependences by careful prioritization of UI and other system requirements.
Related Patterns Client, Overall Consulting Guidance, hybris Functional Consultant, Workshop, System Actors Inventory, Page Inventory, Communication
Understand the Role of ID an VD Aiming at superior User-Centric Experience, two design activities become prominent when defining the look-and-feel of a website – Interaction Design (ID) and Visual Design (VD). Essentially, Interaction Design (ID) focuses on the mechanics of the user interface, ensuring that it follows established workflows, meets end-user process needs and conforms to corporate polices.
Visual Design (VD), on the other hand, addresses the aesthetics of the User Interface, focusing on coloring and imagery, eye-catchiness and company’s graphical guidelines. ID and VD are important rudiments of the overall delivery, when a conceptual design of the future solution is outlined. In practice, project deliverables like System Actors Inventory and Page Inventory influence heavily the scope of the UED efforts: actors will affect the desired User experiences, and the pages will determine the volume and complexity of the user-interface work.
It is for that reason that UED chores should be planned with care together with the analysis of system actors and Consumer-facing visual artifacts, like pages, editorial components, dialogs, pop-ups, wizards and emails.
User Experience Design Planning
| 147
Plan Your UED Activities
My ever-favorite approach in planning UED activities has been inspired by the study of Lynn Miller and Desiree Sy “Adapting Usability Investigations for Agile User-Centered Design”. It represents a proven technique towards aligning the UI tasks with the rest of the development process. The study recommends an agile iterative approach, where working versions of the software are delivered in short increments, called iterations. Miller and Sy suggest separating the UED iterations from the implementation iterations. In essence, the approach is to have two parallel production tracks: iterating the design and implementation tasks independently, but simultaneously. The UED track provides deliverables at least one iteration ahead of the corresponding development cycle. In the lifecycle of a project, the UED is given a head start through a combination of initial discovery Iteration 0 and a development Iteration 1 with focus on non-UI related deliveries, like data modeling or integration analysis. After that iteration, the UED would provide relevant UI artifacts to the development track.
Iteration 1 Iteration 0
Iteration 2
Iteration 3
Implement high dev cost, low UI cost features
Implement designs
Implement designs
• Design for iteration 2 • Gather consumer data for iteration 3
• Test iteration 1 code • Design for iteration 3 • Gather consumer data for iteration 4
• Test iteration 2 code • Design for iteration 4 • Gather consumer data for iteration 5
Dev track
Plan & Gather Consumer data
Data
Data
Figure 1: UED and core development can occur in parallel tracks (Adapted courtesy of Lynn Miller)
UED track
Doing the Right Thing
User designs gather knowledge about the interface used by the Consumers and set the base for the end-user experiences. UED tasks are concerned with the realization of mock-ups and system prototypes, with persona analysis and usability tests. Those activities need to be performed before the actual coding starts. Consequently, in projects, we pay special attention to the planning of those activities in respect to the rest of the development efforts.
148 |
User Experience Design Planning
In several consecutive projects I noticed that “one iteration” was not sufficient for the development team to “get ready to use” the provided deliverables from the UED team. In most of the cases the visual artifacts were delivered by an external creative agency, which did not have experience in hybris projects. They were unaware about the technical requirements of the platform to provide the final HTML snippets for the implementation.
Doing the Right Thing
Our UI team needed to transform the deliverables into HTML artifacts and validate them with the rest of the business requirements, before the actual assembly of User Interfaces with hybris business logic. So, in fact, our UI team became “the” UED team in the Miller-Sy strategy. In those projects, we’ve applied an adapted version of the Miller-Sy approach, which allowed us proper timing for functional review and iteration planning. In short, the major adjustments included: 1. 2.
3.
4.
UED artifacts are provided at least 2 iterations before the development iteration to the internal User Interface team. The User Interface team “cuts” the UED artifacts into HTML code, conformant to the hybris design guidelines. The resulting artifacts are handed over to the Functional team one iteration before the development cycle. The Functional team validates the final UED delivery with the rest of the business requirements and prepares a complete functional specification for the development cycle. Technical review about feasibility can also be done in this cycle. At the start of the development iteration, the Technical team accepts the complete UED delivery, and starts the implementation.
“One-team” Mentality The proposal of working in separate tracks does not impose an opinion that the teams are separate and only exchange deliverables. I am not alone in thinking that the quality of the final solution is a responsibility of each project member, not only of individual teams or departments. Therefore, the mindset of “one team” is vital in making the project a real accomplishment. Miller and Sy also concur that, regardless of the division, the UED and development teams work in close cooperation should they wish to deliver value to the Business users.
User Experience Design Planning
| 149
Keep your Visual Designers close to the rest of the team, so that they can easily make changes when needed. Use proper Communication channels, Workshops and status meetings to ensure collaboration between teams.
As seen, when entering a hybris project, the Business Client begins with an extended ID/ VD effort, which is commonly out-sourced to an external design agency. As such, these two activities traditionally follow company’s preferences and corporate taste. Even thought the ID/VD deliveries are mostly about providing a visual skin around graphical elements, colors, markup, and fonts, they influence significantly the workflows and end-user behaviors.
Contrariwise, in order to reduce time and cost, the Client is often attracted by the idea to follow the “hybris Accelerator approach”, namely to start the initial front-end design with the visual framework offered by the hybris Suite – the Accelerators.
The hybris Accelerators are ready-to-use software modules providing fully functional front ends. Each Accelerator incorporates common e-commerce practices for realizing multi-channel solutions, offering comprehensive workflows for an online store, order handling, and Call Center capabilities. In its architecture each Accelerator provides: • • •
front-facing code artifacts, which define web pages and their visual elements business logic, acting as a façade layer, connecting the front-end artifacts with the core hybris modules rich data model and several complete store-fronts
Dedicated hybris Accelerators facilitate the quick realization of various business e-commerce domains, like B2B, B2C or Telecommunication. Each Accelerator captures the specifics of the corresponding domain and provides a programing model for extensions.
Doing the Right Thing
Custom Design or Accelerator Design?
150 |
User Experience Design Planning
It is a strong demand of hybris projects to utilize the Accelerators “as much as possible”. This approach influences the estimated development effort, because it suggests the usage of outof-the-box default VD/ID, provided by the Accelerators. And here comes the challenge: a hybris Accelerator has own way of defining page flows, layouts and user experiences, which could be very different than the Client’s vision about the same. It becomes apparent that a gap exists between the desired UED and the proposed – by the Accelerator – ID/VD.
Doing the Right Thing
When the Client wants to explore the Accelerator’s strategy, the Business users often find themselves adapting their own ID/VD towards the Accelerator’s flows and page layout. Which, in turn, increases the development effort of UED. The other alternative is to follow the own ID/VD and adjust the Accelerators. When the Company’s proprietary design is leading, the default proposition of the hybris Accelerator layer needs to undergo customizations, in order to adapt. That challenges the main purpose of the Accelerators, namely, to serve as a trampoline for building quickly the desired front ends. A practical solution to these two scenarios is to align up-front the expectations of the Business people about the design – early in the project, in a dedicated UED Workshop – and decide, which approach to take: own ID/VD or Accelerator’s. If a decision is made to follow the Accelerator designs, consider applying a lightweight own ID/VD. Still ensure that you don’t forget to estimate some ID/VD efforts in order to get a corporate look to the new site. If a decision is to rely primarily on the own UED, make sure that the Client is aware of the increased development efforts. This approach does not impose the idea that you would completely abandon the Accelerator’s benefits: the custom design can still profit from the accelerator’s framework, which offers rich connecting points into the hybris Multichannel Suite modules.
User Experience Design Planning
| 151
Summary Points
•
• • •
Spend time to elaborate with the Business Client on a suitable UED approach – corporate or Accelerator. Use your knowledge in similar projects to explain the rational behind each choice. Plan, with care, the synchronization between UED and development cycles. Consider applying the hybris’ guidelines for design agencies when going with the Accelerator approach. Ensure that all teams involved in the production process – UED, functional and technical – actually collaborate and back-up each other.
Doing the Right Thing
When having a hybris project, which depends exclusively on Consumer-facing visual deliverables, consider the following ideas:
Communication
| 153
Communication ~ Atanas Aladjov
Communication?! Why would that be a pattern? Isn’t it obvious what we need to do?
Well, apparently not. Even though Communication is one of the most precious gifts granted to the human race, it proves to be one of the most difficult to master. Do you recall that one project, where people worked in isolation and teams were unaware of each other’s work? Have you encountered situations where team-members remain ignorant of their roles and responsibilities, when management decisions were not shared and the Business Client seemed to be galaxies away? Would you be surprised that in most of those cases, the main reason for failure is broken communication channels? And until we all learn how to practice telepathy and share brainwaves, charged with thoughts, we should pay a serious attention about what we communicate and when.
Problem
The problem is often not how we communicate, but the complete lack of communication. What happens when we forget, or worse – when we neglect – to communicate? Then, we fail to inform and interact, which ends in miscommunication, misinterpretation and broken information flows.
Doing the Right Thing
“
“
The message is not how it was sent, but how it was received. If received at all…
154 |
Communication
Guideline Identify information champions. Establish good communication channels between the project roles. Practice daily status meetings. Insist on timely and regular communication. Related Patterns
Client, Workshop, Young Partner, Domain Methodology, Software Methodology
Doing the Right Thing
The Power of Communication The very first step of a project is about communicating the goal the Client wants to achieve. Without this step, there would not be any further progress. Beyond that, every subsequent step is an attempt to achieve the same objective within budget, time and scope. A project represents a web of communication channels, where all team members exchange thoughts, update each other and inform about advancement. Communication skills are essential for each individual, because through them people can influence, convince and motivate others.
My tutor, Charles Hamilton, in his lectures “The Powers of Communication” reveals the story about the King and the Fool, as examples about how people feel and behave when communicating. While the King would have a sense of decency, elegant wisdom and royalty, the Fool would be rigorous, emotional and expressive. The King would use his “head” to manifest himself – controlling emotions, rationalizing every word. He represents the intellect that is based on factual information: “2+2 is 4. That’s a fact!” In contrast, the Fool would use his feelings to explain his actions. His mood, passions and excitements will characterize his behavior and he would act from his “heart”. The Fool would move around the King and had a motion expressed as an emotion.
“
What a man thinks and feels, so he is
is a quotation from the Bible.
Communication
| 155
It seems the two archetypes are utterly opposite, and the moral of the story teaches us that they need each other to survive and to exist. There is a bit of a Fool and a King in all of us, and the way we communicate is the way we express ourselves. Therefore, we need to find a balance between the head and the heart – the professional and the personal.
There are numerous good writings about the power of communication. This essay would rather explore the communication in the sense of pure human interaction, which repeatedly we forget and ignore. It is about the fact that often we simply do not communicate at all; leaving others misinformed – with false assumptions, no guidance or a blind sense of a progress. So, why do we fail to communicate? How simple could it be not to forget? Here are some prominent happenings, which disturb the Communication within the project and make us “forget” to communicate: • • • • • •
Unclear project roles and responsibilities Lack of processes and methodologies Stress and burnout Project reorganizations Assumptions Personal attitude
Let us look at each one briefly.
Unclear Project Roles and Responsibilities Every project role is charged with responsibilities. An essential feature of the responsibility is to inform others about progress and send signals when changing the course of action. And this holds true for every single role in the project organogram, regardless of seniority and level. Each role should be responsible for its own circle of influence and communicate to the other roles.
Doing the Right Thing
This is what determines our position compared to others. And Communication is the means to define ourselves.
156 |
Communication
The writer, Jenny Dawkins, points out that in companies, “Communication often remains the missing link in the practice of corporate responsibility”. In those cases, the information leader and the remaining audience are often not in alignment. The same happens in software projects – the Leading role, which also has the information lead, frequently forgets to communicate. Yet, the opposite is likewise a common anti-pattern: people in mass roles, also forget to inform, because often they are unaware of their responsibilities and reporting lines, or are simply too busy to bother. Doing the Right Thing
This becomes a real challenge for most organizations and corporate programs. Once you establish your project hierarchy make sure people know well their roles and responsibility. Look after the communication channels in the project. Guard the information stream between the teams and insist that everybody does the same.
Lack of Processes and Methodologies Methodologies offer a structured approach towards processes and best practices. Softwareand Domain Methodologies offer a rich set of tools, duties and workflows to help organizations stay on track and prosper. Failing to employ methodologies and processes proves to result in chaos not only in working habits, but also in communication – people simply do not know when to communicate and to whom.
Agile software methodologies – like Scrum and Extreme Programming (XP) – have a tradition called “a daily meeting” – a healthy practice, which encourages team members of various roles to share progress and indicate possible obstacles of their daily work. This meeting is rather short and its main purpose is to “get informed”. Practicing this habit – even outside of any methodology – would consolidate the overall information within the team and strengthen the confidence in the overall progress. Methodologies often define a certain protocol for communication in the form of meetings and Workshops. Looking back at the Agile schooling one can recognize meetings like Sprint planning, Release planning, Sprint Demonstration, Sprint Retrospective, and so on – good
Communication
| 157
examples of gatherings, which have one sole purpose: to communicate and inform.
Stress and Burnout
Watch out the workload of people and motivate them to indicate when overwork takes over. In this case, communication is your best friend in recognizing a working anti-pattern in the normal daily life. Do not allow people on the project to shutdown, close-up or blackout – encourage your colleagues to communicate so as to prevent burnouts.
Project Reorganizations Reorganizations in the team normally interrupt the normal flow of communication. This is because when people change roles that event frequently leaves a gap in the communication chain. Thus, ensure that a reorganization is supported by knowledge- and work-transfer, in order to re-estate the communication links.
And, by all means: do both – knowledge- and work-transfer! Knowledge is the hardest value to accumulate and capitalize, so make sure you plan this transition with care and …love. Next, guarantee a smooth work-handover from one role to another, to avoid breaking the working process. The fundamental principle in both activities is Communication.
Assumptions Assumptions are another great source of miscommunication. Actually, the best assumption is the assumption that differences exist. Different expectations exist until you align them.
Doing the Right Thing
Overload has never been a good drive in making progress. When stress crawls within the daily work-life people fail to excel and communication is one of the first activities to suffer.
158 |
Communication
Experience shows: avoid assuming that people know your intentions. Also, avoid believing that people know all about certain topics. Assumptions lead to certain expectations. So, to set the expectations properly, validate your assumptions with those people in order to build a common base for understanding. Communicate to understand and get in sync. This effort will be rewarded with appreciation and respect.
Personal Attitude Doing the Right Thing
“
Message sent!
But was it received?
Recurrently, I see people sending emails to each other, while being physically in the same room. This becomes a living culture in companies, replacing utterly the natural human interactions and contacts. Even in the verge of an exploding problem, people still prefer to express their feelings via an email, instead of having an old-fashioned face-to-face parley. Actually, when a problem arises, an email could be a treacherous media, because people tend to misinterpret the content of the message, due to pressure and emotions. Although, generally, people are aware what they communicate, not everybody knows when and how to communicate. With all the merits the electronic communication has, it should not replace the traditional interaction. Of course, not all people can be collocated in the same room or space, so emails and virtual communications are inevitable. But even then, when sending a message, make sure it has been well received and has had the effect you have intended it to achieve.
Communication
| 159
Practical Tips
• • • • • • • •
Find the information sources and make them available to the team members. Identify the information champions. Ensure they radiate the information to all that need it. Keep every body informed. Practice daily meetings to make the relevant information flow. Engage the Client in regular status meetings and solicit feedback. Involve team members, share ideas and build common visions about the practicalities of the project. Encourage collaboration and brainstorming to improve the communication. Inspire people to talk and communicate “vis-à-vis”. Avoid assumptions, promote validation of comprehension.
Communication is your primary ally in succeeding. Thus, watch out those communication channels – they are the veins that deliver fresh blood to your project organism. Depending on your agility and discipline, you and your team will either succeed or fail, together.
Doing the Right Thing
In summary, here are few guidelines I found invaluable in projects:
Internal Process Alignment User Enablement System Actors Inventory
Doing the Thing Right Back Office Usability
Internationalization
Pages Inventory
Integration Points Inventory
Doing the Thing Right You have discovered the right things to do for your project. Now it is time to dive in the realm of Quality and find out how to do the things in the best possible manner. The following chapters will explore suitable ways of refining project deliverables and preparing the solution for its final trial – the end-user acceptance.
Internal Process Alignment
| 163
Internal Process Alignment ~ Voltaire
Within that program projects start and finish, producing unique software, service or deliverables. It is the program that defines the common goals for the projects and the strategy to align them. Many companies find themselves amidst internal long-term process harmonization when they embrace the idea of adopting a solution based on the hybris Suite. Consequently, the hybris project should be able to fit in the macro landscape of the enterprise program, if we want to achieve maximum results. Problem For an Enterprise, the new hybris project is one of the strategic pieces in a corporate program. There is a need to align the new project within the existing major company’s activities or risk to face a lack of business support, due to people unavailability, department priorities and complex timing. Guideline
Guide the Business Client to prioritize their cross-project activities. This way you can help them realize their readiness to start the hybris project in harmony with the other activities. Advice on adopting an Application Lifecycle framework, which would allow the Enterprise to oversee the various Corporate initiatives and their interdependencies.
Related Patterns Client, Overall Consulting Guidance, Virtual Product, PIM Awareness, Workshop, Communication, System Actors Inventory, Internationalization
Doing the Thing Right
It is often the case that a hybris project is only a part of a much bigger corporate program, spanning over a number of departments, countries and cultures.
“
Le mieux est l’ennemi du bien (The best is the enemy of the good)
164 |
Internal Process Alignment
Process Harmonization A project, which enables Product Information Management (PIM) or digital commerce, always dares seriously the existing company processes. One way or another, introducing a new software solution leads to improved automation of the current business. This brings stimulated work efficiency, powered capabilities and robust monitoring of processes. Hence, it can be expected that this kind of a project would put on a test the current process flows, working habits and quality of activities. In the life of a Company, consider the following events, which can disturb the internal process coherence: Doing the Thing Right
• •
• • •
•
• •
Various corporate processes around data sourcing and data government, related to strict rules about information management and delegation of work. Introduction of new Product lines, which adds varieties in existing product hierarchies, catalogs and offerings. This activity often entails redesign and further consolidation of product data. Acquisition of Subsidiaries and Company merges, which generally demands, among other things, alignment of processes and Product assortments. Consolidation of data sources – a process, which is related to unification and standardization of the available company data. Realization of Multichannel tactics – a corporate initiative, which usually demands careful audit of the existing multichannel capabilities in the enterprise. As a result, it refines the Product data, in order to ensure consistent information in every channel and customer touch-point. Content production and Translation of information – two related activities, dedicated to the provision of complete and localized data, used by the company and its clients in an Internationalization setup. Usage of office tools, utilized by the company’s business units that deal with data. … and so on.
Internal Process Alignment
| 165
In one of our projects, several Client departments needed to establish a common way of working with Product data structures. We noticed that each department had worked in isolation, like secluded kingdoms – they had different visions over the data structures and processes. Provided that one of the first steps in a hybris PIM project is defining the product model, it became crucial to resolve first the internal process dependencies before even understanding the to-be Product model in hybris. On another case, the Client had to align the company’s responsibility around Product and Content governance. At the start, it was not clear whose responsibility that was in order to even define System Actors, user experiences and workflows. Once completed, we could move on to set up correct user roles and access restrictions on the data.
It becomes evident that hybris project deliverables depend on certain in-company harmonization efforts and it is vital to prioritize them properly before planning the implementation. Thus, often, the hybris project should be considered as a part of a larger e-Business program, where processes and features are properly planned and accounted for.
Place of a hybris Project within the Client’s Corporate Chart When it comes to short and long terms activities within a company, three concepts define the strategic landscape of the Enterprise – project, program and portfolio. A project can be defined as a relatively short-term undertaking, which produces a result, a product or a service. A project usually has a start and an end, a budget and resources assigned to it. When logically grouped together, projects represent a program, which provides certain benefits or efficiencies for the company. A program must have clear objectives, defined by the stakeholders and planned realizations (projects) to fulfill those goals. A program can take years and usually involves complex grid of projects, executed by various departments. Finally, a portfolio is a global overarching structure, which aligns all projects in achieving the corporate strategic business objectives. A portfolio defines unique selling points and differentiator tactics, needed for a decisive business success. The portfolio embodies also corporate investments, a vision and beliefs about the business of all departments and employees.
Doing the Thing Right
Channeled Communication and guided discussions prove to be good methods in steering the processes into the right direction.
166 |
Internal Process Alignment
Portfolio: Corporate chart for business innovation 2015, H1
2015, H2
2016, H1
2016, H2
2017, H1
Project: Comply with CMMi, level 4
Program: Re-platforming Project: Establish a global PIM
Program: Internationalization Project: Launch in Europe
Project: Migrate Content Project: Build Core B2B / B2C
Project: Hire new experts
Project: Launch in Americas Project: Launch in Asia
Project: Change Management
Doing the Thing Right
Figure 1: A relationship between portfolio, programs and projects
A hybris project usually plays an important role of an Enterprise program, and should be, therefore, strictly aligned with the corporate portfolio. On a macro scale, the Enterprise should possess a chart that depicts all running project activities and the expected benefits from them. There are various frameworks, which allow overseeing individual projects and harmonizing them in an overall program. When it comes to managing global changes within companies my choice falls on the popular Agile Scaled Framework, SAFe, designed by the author and consulting methodologist Dean Leffingwell. It serves as an interactive knowledge base for agile portfolio and program management at enterprise level. Placing the hybris project in the landscape of such a framework can provide the business stakeholders with a thorough overview about cross-project interests and their priorities.
Internal Process Alignment
| 167
Doing the Thing Right
By applying similar frameworks as SAFe, one can easily observe, realize and manage a number of company programs. Hence, align the hybris project with the rest of the enterprise activities. Ensure that you have the support of the departments involved. Always position the project goals within the cardinal objectives of the Business Client – communicate those objectives to project members. This way you would open the door for a proper realization of the project, adding true value for the Client corporation and its strategy.
System Actors
| 169
System Actors
“
An actor is a person, organization or external system that plays a role in one or more interactions with your system. ~ Scott Ambler, in “The Object Primer”
Software is built to simplify, automate or improve the working habits of business workers or provide worth for consumers.
Front-end Users would follow myriad of user experiences to explore features, look for information, educate or entertain themselves, request services, profit from promotional offers and so on. At the same time, Back-end Users would respect predefined business workflows and corporate policies in order to manage the information needed for other users or organizations. Missing to identify all user types in the system leads to a serious gap of functionality and unstable requirements.
Problem
Unclear view over the various User types who have vested interest in the system. Limited knowledge about Users’ interaction with the future hybris solution. Lack of understanding about the information governance and usage within the solution.
Guideline Create an Inventory of Users. Discover roles and responsibilities. Determine access privileges. Outline User models. Related Patterns Client, hybris Functional Consultant, Workshop, PIM Awareness, Software Methodology, Requirements Gathering, Glossary, User Enablement
Doing the Thing Right
For applications with significant or important user interface, Users are the ultimate beneficiaries of functionalities.
170 |
System Actors
Importance of Users as System Actors All Software Methodologies pay special attention to the system users by prescribing ways of identifying actors and their communication with the system. In the lifespan of a project, Actor analysis is a key activity. Let us take the traditional Rational Unified Process (RUP) software approach. Experience shows that the Actor definition affects various important deliverables and activities in each of the project phases – Inception, Elaboration, Conception and Transition:
phase activities
Inception • Stakeholder Analysis • UI prototypes
Elaboration • • • •
User Roles Persona identification Glossary Requirements Gathering
Conception • • • •
User Model User Groups, Access Rights User documentation
Transition
time
• Training Plan • User Acceptance Testing • Change Management • Roll-Out Strategy
Doing the Thing Right Figure 1: Influence of Actor definitions on project phases and activities, according to RUP
Being one of the oldest iterative and incremental software development framework, the Unified Process, is characterized as a Use Case driven. Where, a Use Case typically defines the interaction steps between a User – who intends to achieve a goal – and the software system. A Use Case always requires a User or an Actor, in order to be complete … and useful. The simplest UML diagram – the Use Case diagram, which is traditionally used in the inception phase of a project – also portrays Actors as significant entities in the analysis of a system. Without actors there is no goal. Without a goal, there would be no valuable features to define.
Drop out of School
Record Marks
Grade Administrator
Student
Graduate from School
Apply for Grant
Researcher Figure 2: A simple UML Use Case diagram with Actors
System Actors
| 171
In the agile world, a popular work artifact for capturing requirements is the User Story. User stories are short, simple descriptions of a feature told from the perspective of the person who desires the new capability – usually a business user or a customer of the system. A User Story typically follows a sample template:
As a <type of user>, I want <some goal> so that <some reason or benefit>. Persona analysis is another widely adopted technique, which allows knowing and understanding the system’s audience – it helps recognizing what drives the interests of certain user groups in the system.
For that reason, Actor discovery is an essential part of the overall Requirements Gathering process.
User Roles and Responsibilities Users approach the software applications with different intentions, desires and feelings. However, it is possible to aggregate users and summarize their behavior in terms of User Roles. The disciplines of Usage-Centered Design (UCD) and Interaction Design (ID) teach us the benefits of identifying user roles and personas prior (!) to writing detailed requirements. The reason is simple: in most cases, a requirement makes sense when it delivers a benefit to a User. Therefore, knowing who the Users are is the first step in grasping requirements.
Embarking on a hybris project often reveals that functional specifications are produced without thinking of the end User – written largely in passive voice with no indication of an actor or a role responsibility. A requirement like “System must support login functionality”, does not clarify a User and is hard to qualify and validate. Such statements offer room for misinterpretations. The more user-less requirements we create, the more evident it becomes that we fail to identify clear benefits for the different actors or distinguish Users’ interests in features.
Doing the Thing Right
Human actors may not always be required in all cases – for example, when describing nonfunctional or integration requirements. Nevertheless, when actors are required, it is advisable to start with their discovery early in the project, because their existence ensures the genuine benefits behind the business requirements.
172 |
System Actors
The Requirements Analysis becomes a more mature source of information, once you start brainstorming – with the Business Client – questions like: • • • • • • • • • •
Who will be using the system? What are Users’ goals and tasks? What are the responsibilities of the Users? What information might the Users need and in what form? What information can the Users manage? Are there restrictions about what the Users can do? Do Users interact with each other? How do we distinguish them? What interface might be needed regarding touching, speaking, gestures or orientation? Do we have Users with disabilities, like impaired vision and hearing incapacities? Etc.
Doing the Thing Right
Mike Cohn, an agile coach and writer, recaps the User Roles modeling with the following steps: 1. 2. 3. 4.
Brainstorm an initial set of user roles Organize the initial set Consolidate roles Refine the roles
Trailing a similar approach, I have adopted the practice to discuss system users with the Business Client in a dedicated “System Actors Inventory” Workshop. We would start with a brief introduction of common e-commerce roles and their participation in the overall usage of the system – Front-End users like Anonymous user, B2C user and B2B user, and Back-Office users such as Catalog Manager, Content Manager and Approver. This review gives the Client a feeling about the various interactions with the system, and specific responsibility of each User type in the context of the Client’s organization. Then, we would support our discussion with a matrix of user roles, as shown below. The table would evolve in time, together with our understanding of User responsibilities.
System Actors
Role
Role Variation
Detailed description of responsibilities
Fit/ Gap
UI (FE, BO. etc)
Priority (M-C-W)
General
A non-registered user or registered but not logged in user. This user normally searches for information and inspiration.
Y
FE
M
R-002
Customer User
General
A registered user, making business with Client's company such as Dealer, Reseller, Retailer, Partner, Client, etc.
Y
FE
M
R-003
B2B User
Buyer
A user whose customer has a contract with Client's company.
N
FE
M
R-004
B2B User
Admin
User with full rights related to the same Business Unit who can administer the Business Unit from a dedicated UI.
Y
B2B UI
M
R-005
B2B User
Content Manager
B2B user responsible for B2B-own editorial content
Y
B2B UI
C
R-006
B2B User
Order Manager
B2B user responsible for approving workflows, like ordering, product information, static content, etc.
N
B2B UI
M
B2B User
User Manager
B2B user responsible for managing users of the same Business Unit.
N
B2B UI
M
System Admin
A top level Administrative user with superior control over the complete system.
Y
BO
M
System Admin
 Figure 3: Suggestive matrix for defining User Roles and their high-level responsibilities
Doing the Thing Right
Role ID R-001
Anonymous user
R-007
Solution
R-008
Role and Business Value
| 173
174 |
System Actors
Writing requirements, with User Roles in mind, has another advantage – prioritization. Defining a user for each requirement encourages the team to think about priorities and business values, which the feature delivers. This, in turn, helps with the planning of these features during the development process.
User Role Modeling Discussions about the system Actors enable the Project Team also to think about the User Model. The User Model is a system data model, which describes the essential elements (attributes) of the User as a system entity, such as names, passport ID, addresses, company, responsibilities and so on. Doing the Thing Right
hybris supports various User types and has a powerful mechanism, which allows the organization of Users in User Groups with predefined User Rights. Thus, the corporate User Roles can be modeled with User Groups, in order to reflect the responsibilities of users in the system. Furthermore, User Groups can be associated with Access Rights to fine-tune the abilities of each user group when using the software. Access rights would define the accessibility of information on a very granular level. Here is a way to express the relationship between Users, User Roles and Access Rights: User Role • User types • Personas • Responsibility • Personalization
User • Individuality • Consumer or Employee • Account preferences • Uniqueness Figure 4: Relationship between Users, User Roles and Access Rights
Access Rights • CRUD operations • Visibility • Accessibility • Restrictions
System Actors
| 175
When analyzing User roles and responsibilities for a Business, I have found important to explain the existing pre-defined user roles in the hybris Suite. Those roles are well suited for e-commerce / PIM applications and could be used as a foundation for designing more or derivative User Groups. Hence, during the System Actors Inventory Workshop, I present the hybris concepts around Users, User Groups and Access Rights. Next, I introduce a list of default hybris user roles and explain their scope of concern – abilities and access privileges to system areas.
Consumers would access the system via the various front-ends provided by the system. On the other hand, Back Office users would also require a certain User interface, which allows them to administer the various data available in the system. Fortunately, hybris has the notion of cockpits – dedicated UIs targeted to the different types of Back Office business users. Each cockpit provides a set of workflows, screens and features, which allows the user to focus on the specifics of their job. Therefore, when discovering the Business User types, consider drawing the attention to the default hybris UIs that the User types could use.
During the user roles Workshops, we discuss the rational behind hybris cockpits, their related workflows and types of users, which can access them. This discussion serves as a knowledge reagent for the Business teams to comprehend how hybris addresses the information governance. Certainly, a Client has their vision about data management and the user roles involved in it. It is common that the Client prefers to work on analyzing their own specific User definitions. However, those User roles may not fit nicely to the hybris out-of-the-box user roles. In this case, we would work towards understanding the Client’s organization of Users and design custom hybris User Groups. Afterwards, we would use those User types in our Requirements Gathering process, to standardize a common Glossary of User types and responsibilities.
Doing the Thing Right
Dedicated User Interfaces (UI)
176 |
System Actors
Fine-grained User Rights The ultimate goal in completing the User model is identifying the Access Rights per system object for each User Role. This would give a fine precision in providing the correct accessibility for the different User types. However this is a time-consuming activity, which requires not only knowing the system objects, but also the details of the business requirement for each role.
Therefore, it is advisable to perform the detailed “User Role – Access Right” analysis towards the end of the project, when roles are clear and responsibilities are already well defined. You may opt for using a matrix, similar to the one below, in your analysis of access privileges for some significant objects, menu options and cockpits. Doing the Thing Right
CRUD = Create, Read, Update, Delete
USER GROUP ADMIN
USER TYPE
CENTRAL
LOCAL
C
R
U
System Administrator
Y
Y
X
X
N
Y
X X
Local Product Manager Central Product Manager Local Content Manager CONTENT MANAGER Central Content Manager
WCMS COCKPIT
PRODUCT COCKPIT CATALOG
CATEGORY D
PRODUCT
TEMPLATE
MEDIA
C
R
U
D
C
R
U
D
C
R
U
D
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
C
R
U
X
X
PAGE D
COMPONENT
C
R
U
D
C
R
U
D
X
X
X
X
X
X
X
X
X
X
X
X
X
X
PRODUCT MANAGER
MERCHANDIZER
Y
N
N
Y
X
Y
N
X
X
X
X
X
Merchandizer
N
Y
X
X
X
X
X
X
Local Approver
N
Y
X
X
Central Approver
Y
N
X
X
X
X
Customer Service Agent
Y
Y
X
X
X
X
X
X
X X
X
X X X
X
APPROVER
CUSTOMER SERVICE
X
X
X
X
X
Figure 5: Suggestive matrix for identifying detailed Users’ responsibilities per object. Responsibilities are expressed in CRUD operations (CRUD = Create, Read, Update, Delete)
System Actors and Final Adoption of the System The main reason we worry so much about Actors is the fact that we need to enable them to benefit or work with the new software. Especially for Back-office Users, next to knowing what they can do is to train them to actually do it and utilize the system with confidence.
System Actors
| 177
The end of the project is usually marked with a knowledge-transfer event where Business Users get trained in order to master the new solution. Every training requires a clear indication, which business users need education and a list of topics to be taught.
Defining a Training plan is a topic of the User Enablement pattern. However, here, it is worth mentioning that knowing the list of User Roles would give us uniformly the list of profiles we need to educate. Hence â&#x20AC;&#x201C; it will answer the question â&#x20AC;&#x153;Who is our target Audience?â&#x20AC;?.
Identifying the system Users early in the project provides a tremendous advantage in leading the all-embracing Requirements Gathering process, but also in defining your Roll-Out activities, Change Management- and Training Strategies.
Doing the Thing Right
Similarly, the identified responsibilities of each role would provide the table of contents for all User Guides and training agendas.
Pages Inventory
| 179
Pages Inventory
“
The Web is a participatory, voluntary medium, and your visitors are in control not only of what they see, but even how they see it. ~ Bryan & Jeffrey Eisenberg, in “Call to Action”
The Business is usually focused on creating the ultimate User Experience, which, in turn, would ensure better traffic and conversion. This venture involves inspiration and creativity, but also knowledge in modern e-commerce trends. Consequently, in those projects, most of the functional specifications, we see, refer to the front ends. Processes, page flows and business rules dominate those functional documents. However, repeatedly, the specifications forget to consider the complete assortment of pages, involved in the User Experience and the corresponding User Interfaces (UI). Problem
Unclear overview of all User-facing pages involved in the Front-End User experience, which results in a trifold problem: fragmented visual designs, neglected workflows and inaccurate assessment of efforts involved.
Guideline
Create an Inventory of pages
Related Patterns Client, hybris Functional Consultant, Workshop, Domain Methodology, Requirements Gathering, Glossary, User Experience Design Planning, Back Office Usability, User Enablement
Doing the Thing Right
A great number of hybris e-commerce projects feature complex and innovative front ends. Companies invest significant labor to create a representative new digital face for its Consumers.
180 |
Pages Inventory
Thinking in Pages Thinking in terms of pages helps the Business users to form a balanced view of the desired functionality and the associated workload to develop it. Consider the following common activities related to the realization of one single front-end page:
Doing the Thing Right
Activity
Performed by …
Wire-framing. Drafting a mock-up of the future page with visual elements, macro-zoning and flows to other pages.
Business Team
Storyboarding. Initial description of call-to-action (CTA) areas.
Business Team
Proposing a design of the page according the corporate templates, styles and requirements
Creative Agency
Realizing clickable prototypes.
Creative Agency
Performing Usability Tests for initial evaluation of user experience and page flows.
Creative Agency
Validation of design and page flows.
Business Team
Detailing page descriptions and kinematics, based on designs.
Business Analysis
Producing HTML artifacts – HTML code, responsive design grids, CSS code, PHP artifacts, dynamic scripts, etc.
UI Team
Integrating the HTML artifacts with the hybris front-end layer.
Technical hybris Team
Validating the same page for each desired OS platform, channel, device and web browser.
QA Team
A/B testing, KPI measurement and statistics.
Marketers
Figure 1: Influence of an individual page on project activities
Pages Inventory
| 181
These activities contribute to the overall effort and budget of the project. Not to forget also the usage of tools used for the same activities, the corresponding planning and synchronization with other project accomplishments (like prioritization of implementation and testing). Hence, having a good overview of all pages involved in the construction of the (web)site, is an essential step towards proper estimation of workload, resources and costs.
After a closer inspection of those functional areas, we drew the Client’s attention that some areas are represented not by one, but by several pages. For example, the block “My Orders” corresponded to screens like “Orders overview”, “Order Details” and “Order Update”. Therefore, the initial workload associated with this block became triple, and consequently, the involved effort. As a result, we signified in our page-specification document that the number of pages for this block is higher than 1. This approach gave the Client an indication that they need to spend more quality time to plan the design of those pages and reconsider their complexity. Further on, mobile devices also demand dedicated sets of pages, which match their size and kinematics. Conforming to modern responsive designs and gadget capacities, essentially, defines new dimensions in how we approach the whole User Interface universe.
Introduce the Pages Inventory Artifact As a Consultant, present to the Business Client your knowledge about the pages, which need to serve a common e-commerce application. Consequently, already in the Inception phase of the project, initiate a Pages Inventory document. This deliverable ensures the completeness of the overall page set and aggregates essential page information, such as:
Doing the Thing Right
In a recent project, during a Workshop, we were engaged in a discussion about the “User’s Account” portal – a relatively common feature in a B2C context. Reviewing the initial estimation of screens revealed that all major functions of the portal were associated with single pages, for example, one solitary page for each of the features like “My Information”, “My orders”, “My favorites”, “My loyalty points”, etc.
182 |
• • • • • • • • • • • •
Pages Inventory
Page names, Page types, Page descriptions, Existence of page designs i.e. Visual Design (VD) Existence of page kinematics i.e. Interaction Design (ID) Affiliation to a specific device, environment or a channel Localization aspects Page template, which predefines the layout of the page Page components restrictions, User types or personas, who would use the page Personalization specifics Page management aspects
Doing the Thing Right
Given the critical information contained in the Pages Inventory documents, during the lifecycle of the project, we use them as a primary input for the following activities: • • • • • • •
Preparing a checklist during the Requirements Gathering to ensure the completeness of pages Advice on possible new pages, related processes and page flows Prepare UI test cases for the supported platforms, browsers and channels Trace the experience of Users through Usability tests Provide reference for responsive designs Initial and detailed effort estimations for Front-end development Prioritizing and planning of the Front-end development
Pages Inventory can be presented in a graphical or tabular format. Here is an example of a graphical Inventory, I employ in projects. It is used mostly for illustrative purposes, but also to challenge the existing comprehension of the User’s journey.
Pages Inventory
| 183
Landing pages
PLP – List View
PLP – Grid View
PDP with Details
Wish lists
Gift selection
Basket
Check Out – step 1
Check Out – step 2
Check Out – step 3
Check Out – Summary
Order Confirmation
News Lister
News article
Search result page
FAQ
Fill in form
Download content
Shopping pages
Checkout pages
Page elements
Header News list
Footer
Navigation Dynamic
Article
CMS element
Navigation Fly-out Banner
Search Carousel
Facetted search
Mini basket
Login panel
Settings
Language selection
Media
Product Set slot
Buyer Guide slot
…
…
Figure 2: Example of a graphical Pages Inventory, for a Consumer journey. The indication ‘3+’ signifies that the page is represented by 3 or more screens.
Below is an example of a tabular Inventory – commonly used in projects. This format is especially useful when collaboration in this document and accuracy of data is essential for the progress:
Doing the Thing Right
Informational pages
Y
Y
N
N
Y
1
Y
N
Y
Y
1
Y
N
Y
N
5+
N
N
N
N
1
Y
Y
Y
Y
1
Y
Y
Y
Y
Product search result page - list view Product related page which displays all product details Cart page, products, prices, promotions, taxes, Details of the checkout process - step 1 Details of the checkout process - step 2 Confirmation page for the submitted order General editorial page with free content.
2
Y
N
Y
Y
1
Y
Y
-
Y
1
Y
Y
-
Y
1
Y
N
-
Y
1
Y
N
-
Y
1
N
N
-
Y
5
Y
Y
-
Y
Specialized editorial page for listing News Articles Specialized editorial page for a single News Article Specialized editorial page for a list of FAQ Page for downloading media i.e. usage guide, advice, articles
1
N
Y
Y
Y
3
Y
N
Y
Y
1
N
Y
Y
Y
1
Y
Y
N
N
Landing pages
#101
Home
#102
Theme
#103
Category - level 1
#104
Category - level 2
#105
Other
Login & Registration
#701
Login
Common landing page for all the websites Theme page i.e. Valentine Collection, Best Sales, etc. Product category page, sub-categories and products - level 1 Product category page, sub-categories and products - level 2 Special landing page used by SEO to attract users User login page
#702
Registration
User registration page
Shopping pages
#201 #203
Product Search List - list/grid Product Details
#301
Basket / Cart
#302
Checkout – Delivery Checkout Payment Checkout Confirmation CMS content general
Check-out pages
#303 #306 Informational pages
#901 #920
CMS News Article lister
#921
CMS News Article
#931
CMS FAQ
#957
Download content
ID Site Map Localize
VD
Y
Y
Page Description
Y
5
Page Name
1
Page ID
Doing the Thing Right
No: of pages
Pages Inventory
Domain
184 |
Figure 3:Example of a tabular Pages Inventory
hybris’ Pages Inventory When starting on a new project, it is worth also to have a look at the list of pages used by the hybris Accelerators. Based on common e-commerce practices, the various Accelerators offer predefined collections of pages suitable for certain domains, like fashion, retail, telecommunication, mobile, etc.
Pages Inventory
| 185
The Accelerators are well documented with descriptions of their front-end artifacts, layouts and componentization. Based on the initial analysis of the desired user experience, you could consider following the pattern User Experience Design Planning when preparing the ground for the website. This decision will influence the creation of the Pages Inventory document. To summarize, in case of an Accelerator-driven design you would have a good jump-start with predefined descriptive information for your pages. On the other hand, creating own custom-made design has the advantage to use a representative corporate Look-and-Feel, by still using the Acceleratorsâ&#x20AC;&#x2122; layers for integration with the remaining hybris core.
Pages are building blocks for the front ends. The names of the pages are used during the project lifecycle for reference and specifications.
Hence, consider adding the pages to the project Glossary, in order to standardize a â&#x20AC;&#x153;visualâ&#x20AC;? dictionary exploited by end users.
To have an overview of pages, project teams often rely on Site-maps. Even though, a sitemap document could provide an overview of all pages included in the solution, often we find it insufficient, because the site map frequently does not list all types of pages or all pages. The Pages Inventory documents can contain an exhaustive list not only of pages, but also of all other user-facing artifacts like pop-ups, messages, components, dialogs, wizards and emails. Every one of those items comes with own workflows and behavior. They require dedicated interactions with the end users and contribute to the overall User Experience. Therefore, the business value they bring is significant. For that reason, the overall effort involved in creating those additional artifacts is not negligible and deserves right attention in registering, planning, designing and realizing.
Doing the Thing Right
User-Facing Artifacts
186 |
Pages Inventory
A point, regarding the Back Office and the accompanying pages: A Back Office also offers a User Interface for users who need to administer the various data. Because the Back Office UI offers specialized User experience, it would be right to expect that we define and discuss user pages for the Back Office (BO) as well. hybris Suite is equipped with a set of BO User interfaces, called cockpits, which allow dedicated personnel to manage and organize data. Those cockpits are already supplied with predefined set of pages and therefore, they normally do not require inventarization.
Doing the Thing Right
However, in more complex realizations, where the cockpits need to facilitate new processes or screens, you might need to define extensions to the cockpits, design new pages and redefine existing workflows. In those cases, the Back Office Usability is essential for the final Business User Enablement.
Business-to-Business (B2B) and Business-to Consumer (B2C) The two major flavors of e-commerce sites â&#x20AC;&#x201C; B2B and B2C â&#x20AC;&#x201C; also introduce diversity in page variety and workflows. Exploring those onto a graphical Pages Inventory, would result in a diagram similar to the one below: Login
Registration
Registration Confirmation
Forget password
Forget password confirmation
Login & Registration
My Account pages
My Account Main
Personal Details
Addresses
Orders
Wish lists
Returns
Complaints
Vouchers
Loyalties
Subscriptions
Portal Main
Company Details
Addresses
Orders
Wish lists
Users
User Groups
Organization
Invoices
Budgets
Password
B2C Customer pages
Businesses
B2B Figure 4: Inventory of pages involved in the creation of common B2C and B2B sites
Pages Inventory
| 187
Nevertheless, regardless of the flavor, remember, that commercial sites are not only B2B or B2C; they are primarily P2P â&#x20AC;&#x201C; person-to-person. Therefore, discuss with the Client all aspects of their front-ends and possible variations, in order to create a website, which brings harmony and confidence.
Page Descriptions The page inventarization cannot be complete without a proper explanation of the pages themselves. Page descriptions are critical requirements artifacts, which provide the most detailed information about individual pages.
As a consequence, the fine-tuning of workload estimation can be done for each page. A Page Description document should contain details about the purpose of the page, its users and Call-To-Action (CTA) elements. Describing the purpose of the page and its usage can be done in a narrative way. The various visual elements of the page together with their CTAs can best be described by using the zoning technique. Zoning is applied by indicating all significant areas of the page and describing them in a table. The table then contains a list of all visual elements (VD), their place on the layout (VD) and their reaction to usersâ&#x20AC;&#x2122; behavior (ID). Additional information may include dimensions, compulsory fields, type of the element, default value, acceptable values, validation rules, etc. Here is a simplified template for a Page Description:
Doing the Thing Right
In terms of Interaction- and Visual Designs (ID and VD) Page Descriptions prove to be a reliable and structured source of information when it comes to front ends.
188 |
Pages Inventory
Doing the Thing Right Figure 5: Sample template for a Page Description document
The Pages Inventory and the Page Descriptions documents are interconnected: The Pages Inventory should be your leading artifact to provide an overview of pages and overall estimation of work. However, the Page Descriptions will contain all nitty-gritty details of each page, response to user activities and possible transitions to other pages.
Pages Inventory
| 189
In hybris projects pages are composed by reusable components. The Accelerator framework comes with a number of ready-to-use page components. However, the project may require the use of custom components with complex behavior. In those cases you may opt for creating also a Component Inventory artifact and the corresponding Component Description documents. In that case, the Page Descriptions would refer to the Component Descriptions, when a component is used within a page. Let us take for example the page Header and Footer: those are common elements for every page on a website. You can distill their visualization and behavior in separate components. And refer to them in every Page Description, instead of repeating the information.
Those artifacts are a vibrant part of the Requirements Gathering process. With them, you would be able to guide the Client towards complete and comprehensive front-ends. For that, make sure your Pages Inventory documents are up-to-date and visible throughout the entire project.
Doing the Thing Right
Putting it all together, when approaching a hybris project, consider using a Pages Inventory document and complement it with Page- and Component descriptions.
Integration Points Inventory
| 191
Integration Points Inventory
â&#x20AC;&#x153;
A distributed system is one in which the failure of a computer you didnâ&#x20AC;&#x2122;t even know existed can render your own computer unusable. ~ Dr Leslie Lamport
In a common enterprise architecture, certain systems provide data, some consume data, while others transfer or alter data. The various systems are built at different times with different technologies. The protocols for communication might vary as well, ranging between point-to-point, decoupled, asynchronous, and so on. Company mergers make the system integration even more challenging, by introducing additional and diverse ecosystems of technologies and environments.
Problem Incomplete overview of interconnected systems and modes of interaction, results in ambiguous data transformations, unclear information governance and false implementation efforts. Guideline
Create an Inventory of machine interfaces
Related Patterns Client, Workshop, Domain Methodology, Software Methodology, Glossary, Requirements Gathering, System Actors Inventory
Doing the Thing Right
Enterprise applications rarely live on an island. Usually they need to integrate with other corporate applications scattered across the company.
192 |
Integration Points Inventory
Connection Points A hybris solution is often only a fragment of a composite software network, where systems communicate with each other and exchange information. Data modeling activities are highly influenced by the amount and diversity of information producers and consumers, which create and use data. The definition of the hybris data models is strongly affected by all sources of information and the channels via which this information must flow. Therefore, when defining the initial structure of data, it becomes imperative to identify and analyze the connection points with other systems.
Introduce the Integration Points Inventory Doing the Thing Right
As a Consultant, guarantee a thorough view of the data flows, and introduce the Integration Points Inventory document. This artifact should be used to describe the inter-system connection sockets and their specifics.
Given the vital information contained in this document, we use the Integration Points Inventory as a key input during the Requirements Gathering process to ensure the completeness of functional and technical demands. In our projects we have an Inventory template containing a number of important criteria. Those criteria allow us to provide a reliable estimation on the efforts related to implementing interface touch-points.
Integration Points Inventory
| 193
Criteria
Description
Examples
Area
Interface Name
Functional area, which is affected by the interface. It could be a business object, modeled in the future system. Logical name of the interface point
Communication Type
Communication type between the Initialing and Providing systems.
Initiator System
The system, which requests the data i.e. the system that initiates the request towards other systems. The system, which provides the data, i.e. the system that responds to the request of other systems. Style used to transfer data -‐ as a single effort (import, copy or migration) Protocol used for communication. Using worldwide standards allows defining architectural patterns and best practices. Standards might have different versions (like SOAP 1.2 and SOAP 1.1, JMS 1.1 and JMS 2.0). Dev. efforts depend on the team’s experience with that particular version of the standard. Are Data Transformations required when exchanging data? Does an attribute from the Providing system correspond 1-‐to-‐1 with the attribute of the Initiating system? Complex transformations increase the effort. An average evaluation of the expected Data Load, which will be served by this interface point. High data load might require different architecture.
Product, Customer, Media, Order, Order Status, Order History, Price, Credit Card Payment, Invoice, etc. Product : ProductStructure, GetStock Customer : GetProfile, UpdateProfile, Order : PlaceOrder, GetOrder Request-‐Reply Publish-‐Subscribe FTP hybris Suite ESB ERP ESB File Server ERP Incremental, Complete
Provider System
Data Feed
Standards based
Data Alterations
Data Load
Figure 1: Essential criteria for defining system interfaces
SOAP 1.2 REST XML Zip file XML Messaging
No, Few, Many
High, Medium, Low
Doing the Thing Right
Consider the following list of essential criteria when defining integration connection points:
194 |
Integration Points Inventory
Furthermore, there are other factors, which should be considered for the estimation of the total Integration effort, such as: • • • • • • • • •
Experience of the developers, Previous knowledge of the data organization and taxonomies, Existence of Enterprise Service Bus (ESB) – as a “middle-man” – in the Client Company, Maturity level of Business Processes i.e. using same or different processes between different departments, Complexity of data model, including the number of data entities and their attributes, Data migration vs. data mapping, namely one-time import vs. continuous interaction, Level of data integrity and data quality Usage of standard technologies vs. custom/home-grown, etc.
E-Platform 4.0
Incremental
SOAP 1.2
02
ProductListUpdate
PublishSubscribe
SAP
E-Platform 4.0
Incremental
03
GetStock
Incremental
04
E-Platform 4.0 E-Platform 4.0
SAP
PriceRequest
RequestReply RequestReply
SAP-PI
RequestReply RequestReply PublishSubscribe
E-Platform 4.0 E-Platform 4.0 ESB
05
Client
GetProfile
06
UpdateProfile
07
Ratings
08
Media
GetMedia
FTP
File Server
09
Order
PlaceOrder
RequestReply RequestReply RequestReply RequestReply
E-Platform 4.0 E-Platform 4.0 E-Platform 4.0 E-Platform 4.0
RequestReply PublishSubscribe
E-Platform 4.0 SAP
RequestOrderState Change GetOrder
10 11 12
Order History
GetOrderHistory
13
Price
PriceRequest PriceSynchronization
14
Figure 2: Analysis of system interfaces in a tabular format
Data Load
Provider System
SAP
Data Transformations
Initiator System
PublishSubscribe
Product Data
Data Feed
Communication Type
ProductStructure
01
Area
Interface Name
Standards based
Core information
ID
Doing the Thing Right
In projects you can use graphical or tabular format to define Interfaces. Here is an example of a tabular interface analysis, which uses the same list of criteria as mentioned above.
M
L
Rest
-
H
Rest
L
L
Incremental
SOAP 1.1
H
M
CRM
Complete
Rest
M
H
CRM
Incremental
Rest
-
L
E-Platform 4.0
Complete
FTP
M
H
E-Platform 4.0 SAP
Complete
ZIP file Async
H
H
Complete
L
M
SAP
Complete
Async
L
M
SAP
Incremental
Async
L
H
SAP
Incremental
Async
-
L
SAP
Complete
Rest
M
L
E-Platform 4.0
Complete
Rest
H
M
Integration Points Inventory
| 195
And here is an example of a graphical Integration Points Inventory, which is commonly used in early phases of the project, when the initial vision and scope are crafted. 1c. hybris-to-ecom-exportProductData SOAP
ERP Volume: 500 / week
1a. trividis-to-hybris-loadProductData SOAP
E-Commerce Solution
2a. ecom-to-hybris-stockUpdate SOAP 6a. hybris-to-ecom-exportPO SOAP 7a. hybris-to-ecom-placeOrder SOAP
E-COM Orders Stock Suppliers Agreements Products Etc.
7b. ecom-to-hybris-OrderStatusUpdate SOAP 1b. hon-to-hybris-loadProductData
Vendors Volume: 5 k
FTP
1f. hybris-to-dwh-exportProductData CSV, FTP
2b. hon-to-hybris-stockUpdate
SOAP
7e. hybris-to-dwh-exportOrderData CSV files, FTP
1g. hybris-to-affilates-exportProductData CSV, FTP
DWH Orders Stock
Affiliates
ICECAT
1e. hybris-to-icecat-getProductData SOAP 3a. icecat-to-hybris-getMedia
URL in XML format
5a. hybris-to-sso-validateConsumer SSO API 5b. hybris-to-sso-createConsumerLoginAccount SSO API
SSO
5c. hybris-to-sso-validateConsumerLoginAccount SSO API
Legend
Data flow (sync)
7d. hybris-to-sso-digitalSubscriptionOrders SSO API
Data flow (async) Solution in scope
External System
4a. hybris-to-ogone-authorization ? 4b. hybris-to-ogone-settlePayment ?
PSP
Figure 3: Graphical representation of a system interface landscape
Interface definitions are often used in the project Glossary. This permits the project team to understand their meaning and relation to the new solution.
We use the Integration Points Inventory before and during the data modeling activities, early in the project lifetime. Moreover, during the analysis of interface points, we pay attention to the participation of Business people in integration workflows. Applying a proper Domain Methodology lets us recognize common processes where business personnel produces or uses data via integration channels. This helps us identify fine-grained user roles and processes that require implementation in the software. Here, we extend our knowledge acquired via the System Actors Inventory document.
Doing the Thing Right
1d. hybris-to-icecat-isProductUpdated SOAP
196 |
Integration Points Inventory
Having a steady overview of the integration points offers numerous advantages: • • • • • • •
Allows summarizing all information sources and destinations Defining all connection points – their formats and specifics Contributes to the overall comprehension of the future architecture Defines Business user’s workflows and related data governance Outlines the scope of the data exchange and gives indication of automated data manipulations, such as mapping, transformations, migrations, and so on Acknowledges the effort around analyzing and implementing the connection points Serves as a basis for effort estimation during the implementation phase
Apply those advantages in hybris projects to ensure uniform coverage of system interfaces for the new solution. The proper study of machine interfaces will further guarantee the harmonization of all internal data models that depend on external sources of information.
Doing the Thing Right
Doing the Thing Right
Internationalization
| 199
Internationalization
“
If you want to make an apple pie from scratch, you must first create the universe. ~ Carl Sagan
hybris offers an exhaustive set of features supporting the internationalization of e-commerce solutions.
However, requirements around internationalization and localization are often lightly defined and are simply summarized as “the system must offer multi-lingual and multi-currency support”. The scope of the Internationalization can be wide and challenging, ranging from defining data formats and currencies, all the way to re-designing complex corporate programs.
Problem
Underestimating the internationalization activities often leads to unclear project tasks, fragile requirements and troublesome international roll-out.
Guideline
Identify activities, which affect the Internationalization and carefully plan for their analysis and implementation. Those activities will challenge the current Client’s organization and will define strict processes about locale-specific data governance and responsibilities.
Related Patterns Client, Virtual Product, Workshop, Requirements Gathering, System Actors Inventory, User Enablement
Doing the Thing Right
Multi-cultural multi-brand organizations always seek ways to reach their commercial audience by opening a platform capable of “speaking” various languages, providing Product information in local dialects and having prices in local currencies.
200 |
Internationalization
Essentially, Internationalization (I18n) is defined as the process of designing a software application so that it can be adapted to various languages and geographical regions without engineering changes. While Localization (L10n) – on the other hand – can be considered as the process of adapting internationalized software for a specific region or a language by adding locale-specific components and translating content. A project, which aims to roll out internationally soon faces the challenges of thinking multidimensional not only about languages and countries, but also about:
Doing the Thing Right
• Localized Product information • Multi-lingual editorial content • Market and cultural specifics • Data formats • Language preferences for users • Localization settings for companies • Compliance to country legal regulations • Enabling of local sales, marketing and production organizations • Internal communication, logistic and business planning • Tax and delivery regulations, • Translation business processes • Etc. For that reason, make sure you put certain efforts in carefully studying those parameters early in the project, as they affect the overall architecture of the solution and core business activities within the Client’s company. Effectively, each of these parameters are distinct activities in every international project, and as such they need to be identified, planned, discussed, analyzed, implemented, validated and delivered.
Internationalization
| 201
For certain organizations the term “Internationalization” has a much broader business meaning – it is a complete program, which invests in the proper enablement of all transnational corporate brands and locations of the same organization. In this case, we would handle the Internationalization as a dedicated project work-stream, where all of the above parameters are taken into account, evaluated and measured. The Client organization would, therefore, employ dedicated staff and knowhow to handle the complex matters around international system roll-outs.
Hence, Internationalization becomes a vibrant subject in the Requirements Gathering process. Here are few areas that require your attention:
Languages Languages are an essential element to consider when targeting different markets. The modern Consumer is already accustomed to set her own language or metric settings, choose a county for delivery and accept localized Terms and Conditions. Product and editorial content provided in the local language is mandatory for the success of a solution in the targeted region. Moreover, each market would have own news, articles and events, which require to be managed by the platform in the corresponding language. Depending on the channel and touch points, the company would employ various techniques to preserve Consumer’s choice, offer local news and suggest a nearest support service. Furthermore, in a B2B scenario, the locale settings would normally be defined on a Company level, while all B2B Consumers would inherit these settings, for simplicity or company compliance purposes.
Doing the Thing Right
We have learned that organizing specialized Workshops around I18n and L10n proves to be a well accepted practice: the discussions during these workshops reveal a lot of “assumed” features, but also a good number of forgotten needs and capability restrictions.
202 |
Internationalization
Identifying the target languages for all local markets would be the first step to consider in a multi-national project. This step will set the groundwork for all consecutive activities and outline the scope of the internationalization program. Here is an example of language diversity, based on the country in focus:
Doing the Thing Right
Country
Languages
Austria
German
Belgium
Dutch, French
Switzerland
German (Swiss), French, Italian
United Kingdom
English (British)
United States
English (American)
Figure 1: List of countries and languages supported by the solution
It is common in e-commerce projects to identify also, the so-called “fallback language”. The objective is to nominate a “replacement” language, which would be presented to Consumers, in case the site does not have a local language for some product or editorial content. The hybris platform would display automatically the fall-back language information when content is not available in the leading language. In business terms, the fall-back language plays important role as a back-up language used to support the local organizations. Likewise, often content written in the fall-back language is used as a blueprint when launching new markets. Below is an example for a possible fallback language assignment:
Internationalization
| 203
Country
Languages
Fall-back Languages (in order)
Austria
German
English
Belgium
Dutch, French
English
Switzerland
German (Swiss), French, Italian
German, English
United Kingdom
English (British)
n.a.
United States
English (American)
Spanish
Market-related Assortments
It is typical for a multinational Reseller to have different Product portfolios for different geographical locations, with distinctive offering and consumer targeting.
can be modeled in hybris as a separate catalog, as a set of Product restrictions A local portfolio or via software filtering. Pricing can be adjusted per market and the local currency would be applied to each price, discount, surcharge or promotion. Orders will be calculated with the appropriate Value Added Tax and tolls.
For that reason, hybris’ Product and content catalogs need to be created and configured in order to allow for localized versions of the same. The governance of data – central or local – would depend on the business case and would follow the specifics of the project.
Doing the Thing Right
Figure 2: Indication of a Fall-back Language
204 |
Internationalization
Few years back, we implemented an international hybris solution for a global Retailer, whose strategy was to offer vehicle tyres and services to a number of European countries. The business case of having catalogs-per-country was evident, having in mind that, among other things:
“ “
… you would not sell winter tyres in Portugal or Malta!
or
… our Russian market demands special edition of the product brands we promote.
Doing the Thing Right
For Products, offered in the different markets, we created separate prices, empowered local promotions and utilized the correct currency and taxes. The business model demanded that the central organization would take care of the global market offering and availability, while local departments would be responsible for local content, promotions and delivery. In another case, local assortment needed to be provided by the local organizations. The governance of data remained de-centralized, but required a strong approval procedure to ensure consistency of the offering processes. In this case, we implemented elaborated local approval and delegation process based on the default workflow engine of hybris.
Hence, embracing the idea of a multi-lingual platform requires careful data modeling and catalog planning, identifying User roles for data governance and implementing the right workflows. The outcome of the System Actors Inventory supports the process of identifying the right business users responsible for the localization. As seen, these decisions are driven by the general business requirements and objectives.
Data Formats Launching a solution in various markets brings to attention the fact that countries and communities use different formats for currencies, dates, measures, and numbers.
Internationalization
| 205
Here is an example of such diversity, based on the country in focus: Language
Date & Time
Norway
Norwegian
2012-12-31 22:13
1 050
Kg, Km, Celsius…
NOK
Belgium
Dutch
2012-12-31 22:13
1 050
Kg, Km, Celsius…
EUR
Belgium
French
2012-12-31 22:13
1.050
Kg, Km, Celsius…
EUR
United Kingdom
English
31/12/99 22:13
1,050
Pound, Mile, Fahrenheit...
GBP
United States
English
12/31/11 10.13 PM
1.050
Pound, Mile, Fahrenheit…
USD
Numbers & Decimals
Weight & Measurement
Currency
Figure 3: Various data formats per country
Regarding data formats in international projects, consider using a template (as the one above) that gathers a number of attributes with locale-specific values. This template can later be used for: • Soliciting the localizable information, • Importing it in hybris, and • Validating it with key Business users.
Content Provision A common topic of concern is the creation of product and editorial content for each country. Next to the pure editorial information, which needs to be translated, comes the need to provide localized versions of images, documents and product descriptions. Creation of content goes hand in hand with the availability of business personnel and a company organization to deliver this very content.
Doing the Thing Right
Country
206 |
Internationalization
The content provision can be considered as a part of the overall roll-out strategy. And, as such, should be planned, staffed, and executed with precision for each country. Often the Content provision project runs in parallel to the main e-commerce project, because it provides sample and real-life data for analysis and validation.
During a recent project it was required to launch an e-Commerce / PIM pilot solution in the Middle East. Thus, along with the provision of correct product information for this market, we needed to mobilize internal local staff to work on the following tasks: • • • • • Doing the Thing Right
Identify data formats, supply examples and validation rules Provide localized product information and related media Translate editorial text for pages and brochures Localize user interface labels, system messages, wizards, dialogs and emails Provide information regarding local tax regulations, legal obligations and environmental compliances.
… and so on … The effort needed to be repeated for each new country or a geographical region. Accordingly, an elaborated plan was installed to ensure smooth preparation for new markets. This plan transformed into a Corporate Blueprint for enabling the remaining countries.
Translation Process Product and Content catalogs in hybris contain the translated information of localized data attributes. During the initial content provision of data, localized information can be supplied in the system via imports. In later stages, when data evolves and gets enriched, a full-blown translation business process is usually required to ensure proper localization of updated data – rapidly and thoroughly. Once a system gains adoption in multiple countries, updating localized version of the content becomes a real-time challenge. This is because no Merchant wants their Product information to appear partially in English and partially in a local language. And this becomes even more demanding when the content represents corporate news or a legal copyright, which requires mandatory localization.
Internationalization
| 207
hybris provides a manual way to translate Product or editorial content. However, the process can be automated if the requirements demand so. Here is a common scenario, which could be studied for translation automation.
1. 2. 3. 4. 5. 6.
A Central category manager creates a new Product or enriches existing one. The System exports all changes of localizable data and sends them electronically to a Translation Agency. Translation Agency provides localization of the content. The Central category manager uploads the translated content. The system updates the data with corresponding translations. Local organization accepts the provided translations or provides improvements.
Manual or automated, the Translation process should find its place among the Internationalization activities, because it might demand the establishment of new business workflows or customizations in the default hybris platform.
Enabling of Local Organizations A very important activity is to prepare the local Client organization for internationalization and the supporting activities around internal communication and logistics. A multinational Enterprise often has a local department, a resident sales office, a network of dealers or partners, logistics and other affiliated parties. When a solution is released in this market, a Central Communication department would normally take care of the proper information communiquĂŠ, internal awareness and onboarding of a partner ecosystem. However, it is the Local organization, which needs to adopt and promote the solution in the local market. Therefore, a special point in the globalization plan should be the User Enablement of the Local, market-related, business unit of the Company. In this effort, training and end-user education play important role in the proper adoption of the new solution.
Doing the Thing Right
Consider the following Business Case: Translation activities are initiated from a Central catalog â&#x20AC;&#x201C; product and content â&#x20AC;&#x201C; while reviews and approvals of localized content happen in the Local catalogs. A possible workflow could be as follows:
Back Office Usability
| 209
Back Office Usability
â&#x20AC;&#x153;
A computer terminal is not some clunky old television with a typewriter in front of it. It is an interface where the mind and body can connect with the universe and move bits of it about. ~ Douglas Adams
Evenly important is the user experience of the Back Office (BO) users. Their mandate is to administer the whole range of information data and make it available on the various channels and Consumer touch-points. To a large extend, the final acceptance of a hybris realization depends on the BO users, who will exploit the system. A Client has high expectations that a new solution should ease the work of their BO users and simplify existing working processes. Problem
E-commerce projects often neglect the BO user experience, in terms of effectiveness and usefulness. Underestimation of Usability prevents Back Office users to fulfill their daily tasks with ease. This results in troublesome adoption of the final solution. In turn, it causes development re-work for fixing severe usability issues, post-factum.
Guideline
Pay attention to the Back Office usability of the system. Explain to the Client the reasons of adapting the back office. Propose a plan to analyze, design and implement the adjustments, in favor of improved user experience in the Back Office.
Related Patterns Client, hybris Functional Consultant, Virtual Product, PIM Awareness, Workshop, System Actors Inventory, User Experience Design Planning, Internationalization, User Enablement
Doing the Thing Right
Smooth user experience in the Front End is critical for shopping and buying activities.
210 |
Back Office Usability
Rational behind Back Office Usability Usability is a vital precondition for the success of commercial sites. Tremendous amount of labor is dedicated for designing Consumer front-ends in search of the ultimate user experience. Nevertheless, e-commerce solutions also have other types of users, who utilize the system, but are also able to manage the complete variety of information available via the system. As described in the pattern PIM Awareness, a main duty of an e-commerce / PIM platform is to enable business users with suitable workflows and automation. Enablement involves not only the fact that BO users are capable to perform their daily work, but they can do it with ease. At the end, the system is built for those users – to improve their operational habits and increase productivity. The solution should offer sublime user experience and comfort of work. Doing the Thing Right
Usability of the Back Office is key for the User Enablement process. The fine adoption of the new platform would depend on it.
When embarking on a hybris project one should consider addressing all aspects related to Persona Analysis and Usability – including those for Back Office users. The research made through the System Actors Inventory document, reveals that Back Office users actually, represent the biggest variety of system users.
Default hybris Usability for the Back Office
“
Where can I find my new object?
This is a common question from Business users during the first days of working with the new system. Their brand-new solution is supposed to offer an intelligent User Interface and intuitive workflows. Being an elaborated data management platform, the hybris Suite offers, as out-of-the-box, the four prime operations for data governance – Create, Read, Update and Delete – commonly abbreviated as CRUD. Those operations, together with the corresponding workflows, allow Back Office users to enrich, extend, relate and use all available data objects within the platform. Moreover, the hybris Suite provides a set of default web-based User Interfaces (UI) – called cockpits – that permit business users to manage the different aspects of the system. These UI
Back Office Usability
| 211
environments are based on existing data models in hybris. The cockpits expose standard hybris data objects, such as Product, Category, Media, Order and User, together with the supporting CRUD processes. These objects are available for management and enrichment via specialized screens. The screens display all relevant attributes, needed to manipulate an object. Their layout is determined by the hybris Suite. The location and purpose of each standard attribute is described in the hybris documentation and can be easily exploited.
Doing the Thing Right
Moreover, every cockpit targets a specific profile of users in order to support suitably their daily work. For example the hybris Product Cockpit is the recommended working environment for Product and Category Managers – users, who are responsible for Product enrichment and publication, structure of catalogs and category topologies. The screens of the cockpit display the attributes of the entities in a predefined manner. Similarly, the CMS Cockpit is a dedicated environment for managing complete websites, their pages and related visual components by Content Managers.
Back Office Beautification It is common that a project demands changes in the default data models of hybris. Consider the case when new product attributes need to be added, new data types to be defined or different menu options to be enabled in the Back Office. Every new attribute or item must find its place in the cockpit, so that a BO user can utilize it. In terms of new attributes, by default, hybris would “place” them in a dedicated administrative location. Often, this default location is not the one expected by the Business users, and therefore remains hidden or hard to access.
Read
Attributes
-
Create
….
Update
Administration
Size:
New Attribute Online:
Delete
Figure 1: A new attribute and its default location in the hybris Back Office UI
212 |
Back Office Usability
In case of new objects and data types, the Suite would not be able to place them properly, unless we specify where we want to display the objects and all their features. This is simply because the Suite would not “know” where to position and show the new objects.
The entire effort of analyzing, designing and adapting the UI of the Back office is what we call “Beautification of the Back Office”. As the verb “beautification” suggests, the main goal is to transform the genuinely boring BO user interface, into a much better place to work with. Practice suggests that Back Office beautification is required in the following cases:
Doing the Thing Right
1. 2. 3. 4.
Adding new data object types Extending the default hybris data model Label renaming, re-location and localization Hiding features, menus, wizards, etc.
Let us have a look at each case…
Case 1: Adding New Objects This is a classical case for a BO screen-update. Thinking in terms of new objects, business users always get concerned about the ways they can manage those objects. When analyzing a new data concept, which needs implementation in the hybris Suite, people discuss the associated CRUD operations and related workflows. The expectation is that the solution will support the newly-developed objects and management processes via new screens. Let us not forget that new objects have their own set of attributes, which also demand proper visualization. Furthermore, new objects can belong to a complex hierarchy of other objects and can participate in relationships with native hybris data types. Finally, the new objects can be used in search and facet wizards.
Back Office Usability
| 213
CRUD of attributes Create
Read
Attributes
-
Object hierarchy & Menus
….
Update
Delete
Administration
Name: Description: Available:
New Object Type Read
-
Create Properties
….
Update
Delete
Type
Attribute
Administration
Name:
New object type:
Search wizards & Facet setup
Figure 2: New objects and their possible whereabouts in the Back Office
Consider adding new screens for every new object that enters the system. Consequently, ensure the proper usability of the new User Interface. A proven recipe for designing screens is to think again in CRUD operations: as a minimum, the new UI should allow for creating, reading, updating, and deleting instances of the new object type. Use the hybris native UI as a basis for wire-framing the new screens.
Case 2: Extending Standard hybris Data Objects It is common for a project to exploit the default data model of hybris and enrich the existing objects with new attributes and associated business rules. For example, imagine you need to enable new attributes in the standard hybris Product object. That would require extending the existing object with new attributes, new workflows and, therefore, adapt certain data management screens. Adding the new attributes to the Product object will not be sufficient to ensure their intuitive usage. Not knowing a better place to display them, hybris “positions” the new attributes in the default administrative location. They reside there, until someone decides to move them on a more suitable place.
Doing the Thing Right
Object relations
214 |
Back Office Usability
A general guideline for this case is to relocate the new attributes close to other, logically related attributes of the same object. Also, if the new attribute is significant for the Search workflows, consider representing the attribute also in the Search wizards and facet configurators.
Displayed in a Search wizard Type
Create
Read
Attributes
Update ….
Attribute
Delete
Administration
Size:
New Attribute Online:
Create þ
Doing the Thing Right
Displayed in a default location
Attributes
Read
Update ….
Delete
Administration
Useful Attribute
Renamed & Displayed in a suitable location Figure 3: Using, relocating and re-naming new attributes, in favor of better usability
Case 3: Label Beautifications Naturally, back-office screens are saturated with labels and descriptive texts. By default, these are provided by the hybris Suite and are often even localized for all supported languages. However, frequently project requirements dictate to change names of labels, rename menus or enhance the descriptive texts. Additionally, in cases when a label represents a new data attribute, it may require translation to various languages.
In such cases, we use a template to describe all existing and new labels, where we indicate which labels require modification, translation and repositioning. We share this template with the Client and require their review in order to find the best conditions for the system labels. The rules of Internationalization, about data formats and metrics, play an important role in localizing the labels for multi-lingual BO users.
Back Office Usability
| 215
Case 4: Hiding Features, Menus and Wizard Steps After an evaluation with the Business users, it might be desired that some default features should not be used in the project and therefore, should be hidden for BO users. Use this approach when the feature must not be available or accessible for all users and all workflows. “Hiding” or “disabling” features can be performed also with the help of access privileges, which can fine-tune the accessibility to certain areas in the cockpits. This analysis could be a part of the System Actors Inventory process.
The Process behind Back Office Beautification Provided that this activity normally involves a number of Business people, it is recommended to coordinate and plan this process upfront. Here is a suggestive approach, regarding the beautification process:
Identify the responsible person, from the Client side, who will support you in organizing all stakeholders that have interest in the Back Office adaptation.
Together, determine the scope of the BO beautifications – identify objects, attributes, labels, screens, wizards, menus, workflows and visual artifacts that require alternation.
Plan a review with the stakeholders. Use the knowledge of the Workshop pattern to prepare the discussions and guide the Client.
1 2 3
Doing the Thing Right
Since Usability is the major objective in this practice, a careful clean up should be done together with the Business users to optimize the final screen result.
216 |
Back Office Usability
During each Workshop perform a review of the Back Office areas, as agreed in the scoping step. This review includes quick evaluation of all elements that require attention. The outcome of the review is a decision how to improve the BO screens or the utilization of each element. Here, it is important to lead the Client towards a simplistic solution, and avoid major overhaul of the standard hybris BO interfaces. A simplistic approach would look like this: • New elements – Review and advise about location. Translate new labels. • Existing elements – Re-locate. Rename, if needed. • Not used elements – Hide or restrict accessibility.
Summarize the outcome of the review in a specification document and hand it over to the implementation team.
4
Doing the Thing Right
5
Don’t Forget the User Guide! Needless to say that for the sake of proper User Enablement, the improvements of the BO screens, dialogs and wizards need to be reflected in the User Guide. For the corporate users who will exploit the new system, the User Guide is the only resource for wisdom, in respect to “system usage”. Hence, the project should provide the needed updates to the User Guides after the beautification process.
Two important points deserve attention here: The development of a User Guide can start much earlier than the final adaptations of the hybris Back Office UIs. However, the plan should accommodate another round of User Guide’s update when the adaptation of BO completes and all screens are stable. Which means that the final review of the User Guide is yet another task to plan in the project. The second point is related to the reusability of User Guide sections between projects: Due to the specifics in most projects, the part of the beautification is very hard to reuse. One can imagine that the screen adaptations needed for one company are unlikely to be requested by another. That said, do not rely too much on reusing documentation that is related to UI beautifications between projects.
Back Office Usability
| 217
When to Do It? Beautification of the Back Office is a serious undertaking, which involves a detailed review, analysis and implementation effort. Therefore, it deserves a rightful place in the planning.
In some occasions, the beautification of the BO is a task, addressed at the end of the project lifecycle – usually, in the last development iterations. This is understandable since a thorough usability review of BO screens can happen only after the major functionality has been built and the data models have been stabilized. But also – when attributes’ location is known and their labels are well defined. An old software maxima postulates:
“
What cannot be resolved by code can be fixed with a lot of documentation.
Hence, if we fail to spend time on optimizing the UI for Business users and implement it, we will find ourselves spending even more time on documentation, training and re-training. At present, it is not sufficient only to identify new data models and create workflows for the BO users. A careful job should be done to make those models easy to manage and the workflows easy to follow. All customizations to back-office processes and objects, potentially affect the existing BO system screens. Improving the usability of the Back Office reduces significantly the effort of training the Business users. The more intuitive the UI is the less energy will be spent on user documentation, explanations and education. In turn, this will boost the internal adoption of the solution and make smoother the back-office User Enablement.
Doing the Thing Right
The usability of the BO can be treated in every requirement, which affects the default data models and system screens. The alternations can be done as a part of the User Experience Design Planning process. Screen- and workflow adaptations can be done also “on the fly”, thus making the final screen review a less labor-consuming venture.
User Enablement
| 219
User Enablement
“
Willingness to change is a strength even if it means plunging part of the company into total confusion for a while. ~ Jack Welch
Adopting something new is a very personal experience – because everything new requires us to change and adapt.
After the initial commitment of implementing an innovative hybris solution, comes a moment of having it and dealing with it. The post-acquisition experience depends very much on our readiness to possess and utilize the software. A hybris training is a good start, but is insufficient for the final enablement, because a project has a decent level of customizations and adaptations of the default platform. Therefore, a project requires a dedicated approach for adopting the final solution. Problem
Often project plans fail to cater for end-user enablement and forget to consider certain aspects like proper Education and Knowledge preservation.
Guideline The goal is to transfer the knowledge from the project team to 2the Business Users who will exploit the new solution. For that, consider creating suitable User Documentation and Targeted Roll-out Training. Related Patterns Client, Virtual Product, Workshop, Domain Methodology, Software Methodology, Glossary, Requirements Gathering, System Actors Inventory
Doing the Thing Right
Introducing a new process or software in a company, requires internal buying in order for that “thing” to survive, thrive and prosper.
220 |
User Enablement
It is common that the initial phases of the project start with the discovery of the ultimate beneficiary of the system – the end-consumers, the Company’s partners, the internal staff or the off-shored Customer Support. That is why Persona discovery, Actor identification and User profiling are all techniques, which are widely adopted. It seems all project practices strive for creating User-driven solutions, but somehow many hybris projects forget to complement the overall delivery with decent User Documentation and Targeted Roll-out Training.
We had a Client once, who in his honesty exclaimed:
Doing the Thing Right
“
Well, you’ve created for us that very expensive software, but now … nobody knows how to use it.
And this statement led us think: the final goal of the project is not the creation of the software itself, but its adoption in the organization. For which, we need to pay attention and offer a vigilant approach. This is what we call the “User Enablement”. Soon after that case, we adapted our project offering to include the end-user enablement as a mandatory element of our delivery. As of that moment, no project would be handed over to the Business without proper End-User documentation, Knowledge transfer and future education plan.
Actually, it is the outcome of the User Enablement program that defines if we have passed the hardest test, namely: to satisfy the key beneficiary of the system – the Consumers, and the Business Users. Then, succeeding in adopting the solution becomes a key measure whether we have reached the ultimate business goal.
User Guides One of the main deliverables, which makes the User Enablement possible, is the User Guide. The purpose of this document is to allow business users to utilize the system as it is intended to be used. Such delivery would cover all functional aspects of the system from a processand data-management point of view.
User Enablement
| 221
Even though the information presented in the User Guides looks similar to the requirements specifications, creating an End User Guide demands a different know-how than a Business Analyst skill. A Guide is an educational document, which involves a didactical approach towards presenting the information and a structure to enable people learn efficiently. Thus, the Guide can use requirements specifications as input, but it has own objectives and target audience.
A User Guide offers a structure, which is easy to comprehend for the less-technical Business User. To achieve the maximum comprehension ensure that the document features two essential elements: Concepts and How to’s. The Concepts sections are used to set the context of the information presented. They would provide the knowledge about the “Why” and the “What” in the project, thus setting the right expectations. The Concepts is the place to: • • • • • • •
Introduce the goal of the project Recognize the key users of the new solution Present what Data Management and e-Commerce means for the company Illustrate the high-level system architecture Provide a brief introduction to core hybris concepts Introduce most important terms And so on...
Use the How To sections to provide A-to-Z guidance of how to complete certain business tasks. How To’s would answer the questions about “Who?” and “How?”, For example: • • • • •
How does a Product Manager create a product? How does a Content Editor approve a page? How does a Campaign Coordinator launche a global campaign in country X? How to trigger an import of data? etcetera
Doing the Thing Right
Therefore, this sort of documentation is normally created by a person skilled in Information Architecture and Knowledge Transfer – a Copywriter or a Trainer, for example.
222 |
User Enablement
The construction of the User Guide depends heavily on previous project artifacts:
Functional Spec
System Actors
Use Cases / Stories
Glossary
Test Cases
Acceptance Criteria
1. 2.
A. B.
Business Workflows
User Guide Concepts • • •
How To? 1. 2. 3.
Doing the Thing Right Figure 1: User Guides depend on artifacts created in earlier project phases
I have observed a great deal of hybris projects where the design of the User Guide starts “from scratch”, meaning without prior consulting with existing sources of information. To start in this fashion, would be a long process, which makes the whole creation a useless discovery exercise and a waste of time. The User Guide should be a direct derivative from other project artifacts like User Stories or Use Cases, Test scenarios and Business process specifications. How to produce the User Guide with a less effort? Here is a step-by-step approach for building a representative User Guide: Start with the organization of the User Guide. The Table of Contents is the navigation map for the rest of the document. Lay out the sequence of the chapters by keeping the rule: introduce a theory-part (Concepts), followed by a practice-part (How to’s).
1
User Enablement
Further, outline and write your How To sections. Functional Test Cases and Acceptance Criteria are excellent sources for the How To’s, because when done with care, they provide the reader with all the fine-grained steps to perform a business task. Remember that people learn by doing. Therefore, the How To sections become the Users’ only reference about the daily job they are supposed to accomplish with the new software. Finally, do not forget to equip your deliverable with relevant appendixes, which can contain, among other things, sample data, detailed examples, informational tables, Product specifications, metrics and units of measure, and the full Glossary of used terms and phrases.
2 3 4
In terms of proper targeting, it is common to have more than one User Guide. The rational behind is the fact that you have different user profiles that need to be addressed. Often, their business activities are so different and polymorphic that it is even discouraging to have only one Guide. Depending on the project setup, you may consider creating dedicated User Guides, for example “Administrator User Guide”, “B2B Partner’s Guide”, “Customer Service Agent Guide”, etc. The User Guide should serve as a hub of all project knowledge from a Business User point-ofview. Other project artifacts will use this information as main input, for example, on-boarding programs, training courses, partner enablement, and so on.
Business User Education The second most valuable instrument for enabling business users is the User Education strategy. Writing documents and giving them to people would not achieve the maximum desired effect of adopting the new solution. The modern system users are somewhat lazy and prefer to be entertained rather than to read the next volume of the software’s User Guide.
Doing the Thing Right
Next, design and compose your Concept sections. For that, take the functional specifications, like top-level Use Cases or Agile Epics. If properly written, those artifacts serve a firm base for the Concept parts. The project Glossary also provides invaluable contribution to the Concepts, because it defines the language used in the project.
| 223
224 |
User Enablement
A proven way to transfer knowledge with notable results is the existence of an Education program. Education has been identified as high priority for the strategic growth of the many successful companies. Therefore, it is not surprising that known Education Methodologies are employed when it comes to enabling corporate Business Users in using hybris solutions.
Education is a process of defining measurable structured knowledge. It involves a vision, a strategy and proper mentoring. On the other hand, a Training is an individual step in the overall Education process, achieving a single learning goal or a trajectory of learning goals. Thus, when you discuss with the Business Client the enablement of corporate users, make sure you explain the difference:
Doing the Thing Right
Training will achieve individual learning goals, while Education will bring care and structure with long-lasting results. Companies who understand this difference invest in a Corporate Learning Process. The result can be observed in their ever-growing healthy financial scores and motivated employees. Each training is useful if it contains three learning elements: theory, practice and assessment questions. Theory is used to build knowledge. Practical exercises â&#x20AC;&#x201C; to develop skills. Assessment questions provide a measurement of how much the material has been absorbed. Training events should be identified and scheduled via a Training Plan document. The latter represents a related set of training courses, which define a path for professional growth for an individual, a department or a company. To optimize the production of the Training deliverables, use the User Guide as an input:
User Enablement
| 225
Training Plan
Functional Spec
Use Cases / Stories
Test Cases
1. 2. Business Workflows
System Actors
Glossary
Acceptance Criteria
A. B.
User Guide Concepts • • •
How To? 1. 2. 3.
WHO ? WHY ? WHAT ? HOW ? WHEN ? HOW LONG ? WHERE ? Training Courses Theory • • Practice 1. 2.
Figure 2: Training plan and Training courses depend primarily on the User Guide
Having this relationship in mind, one can adopt the following action-plan for preparing a useful Education program: Outline a Training plan, which clearly identifies elements like Target Audience (WHO), Learning objectives (WHY), Expected deliverables (WHAT), Training Method (HOW), Duration (HOW LONG), Time (WHEN) and Place (WHERE). Good candidates for your Target Audience are the System Actors, you have identified during the Requirements Gathering process. The Learning objectives are driven by the high-level business workflows, also defined during the functional specification phase. For example, “Content Management” and “Product Administration” are possible main learning objectives, for the target audience “Corporate Webmasters”. Design and compile the Training Material. Employ corporate style for the layout. The most important source for the content of the material is the User Guide: the guide already contains the full scope of the information needed to enable the Business Users. It only needs to be synthesized and presented in a proper didactical format suitable for a training course. Therefore, take the Guide’s Concepts and create the Theory. Use the Guide’s How to’s to produce the Practical exercises. The material format can be constructed as a class-room presentation or offered electronically.
1 2
Doing the Thing Right
Assessment
226 |
User Enablement
Execute the training as scheduled by the Training Plan.
Evaluate the results of the training. A well-defined survey can reveal several important facts about the new software and its adoption. For example, it can justify questions like: • Have our Business Users learnt the new software? To what extend? • Does our new solution need further improvement? • How to organize a competence center around the solution? • What are our next steps with this corporate program?
Doing the Thing Right
Follow up. Harmonize the personal education needs and line them up with departmental goals and company-wide objectives.
3 4 5
Bridging the knowledge gap between the requirements and the training is essential for the success of this process. So, ideally, consider having a Business Analyst with a Training background to fulfill this important didactical task.
User Enablement Organization The User Enablement must be supported by a suitable project structure. Important to note is that an Education Process is not only about a Training plan and a couple of Training courses. It is a global Corporate activity, with three core dimensions shaping the Education Process. The division is based on the fact that the three uniformly represent a complete process, but can be independent with own supporting processes and deliverables.
Organization: Represents the corporate unit, which fulfills and coordinates all training efforts, defines learning strategies, controls budgets and identifies education artifacts. It includes a Core Education Team, Trainers and Employees, engaged in learning. Sourcing and Production: Defines various facets of sourcing, finding and manufacturing training materials (courseware). Both Sourcing and Production are driven by knowledge needs (corporate, departmental, and individual) and ensure the provision of right content for the appointed target audience. Sourcing relies on external parties to provide and deliver
User Enablement
| 227
content, while Production outlines tasks of creating own materials.
Delivery and Evaluation: Defines the activities and artifacts related to Training Execution and Post Training tasks. While Delivery makes sure the education goals are carefully met, the Evaluation makes sure we monitor and improve the process. When discussing User Enablement with the responsible business representative, I usually outline the complete picture about the relationship of user documentation and education. This way, the business representative can take an educated decision about the scope of the deliverables and their format.
Modern organizations work more and more with distributed and remote teams. This setup frequently demands a different strategy when it comes to User Enablement. The Training plan should cater for various methods of delivering the information, such as onsite training, blended learning, online media, self-study or a balanced combination of those.
Speaking about â&#x20AC;&#x153;entertainingâ&#x20AC;?, in the last years, I have repeatedly introduced e-Learning programs, as a strong alternative of the traditional Instructor-Led training methods. To recall, e-Learning is defined as all forms of electronic supported learning and teaching, which aim to build up knowledge with reference to individual experience, practice and awareness of the learner. As seen, rolling out a business idea or adopting commercial software deserves careful planning and guidance. Companies could leverage this process with a consistent message to every employee, partner or customer - anywhere, anytime, online! Employing online educational modules increases the visibility over the added value of the project investments. E-Learning would allow the adoption of commercial solutions easier, faster and prominent, thus ensuring uniformity, multilingual support and â&#x20AC;Ś entertainment.
Doing the Thing Right
Online User Enablement
228 |
User Enablement
Recently, for a multi-national B2B hybris project we built a couple of e-Learning modules aimed to serve 3,500+ dealers and their users in 5 languages. It was estimated that with the aid of e-Learning media, the company has been able to save more than 150k Euros in travel, accommodation and training costs.
Reusability of Artifacts In terms of process, the building of End User documentation and Training Material is no different than building software. You start with a vision and elaborate until the vision becomes clear. Then you design the deliverables and construct them. Validation would be the last step before the actual usage. Doing the Thing Right
Software Methodologies rely heavily on reusability of artifacts. Furthermore, ComponentDriven Design, Model-Driven Architecture and Service-Oriented Architecture, are all examples of approaches, which identify modular elements and postulate best practices for their reuse. It is not a secret that one can reuse only if using a methodology. Because a methodology offers reusable elements, which bring value and deliver results. The same holds true for the User Enablement: if you establish a solid process around justifying and building User Guides and Education modules, you would be able to reuse this know-how in every project.
User Enablement
| 229
A point of attention: experience shows that – depending on the project specifics – you might not be able to reuse more than 15-20% of the material that is produced before. This stems from the fact that every project is different and the applied customizations differ from one case to another.
• • • • •
•
Structure of the deliverables Training plans Certain core hybris and e-commerce Concepts, which are generic for every project and are based on a selected Domain Methodology Description of hybris User Interfaces and standard workflows Some high-level How to’s which are common, like product enrichment, approval flows, editorial content management, search for objects in the Back office, etc. Assessment test questions
Therefore, be prepared to suitably plan the creation of the User enablement artifacts, having in mind a relatively low percentage of reuse.
In summary User enablement is an important factor for the overall project success-rate. Only educated Business Users can utilize properly the final solution and, hence, raise the return on the corporate investment. In order to achieve this, ensure that your project facilitates the creation of User Guides, onsite Trainings and e-Learning programs. You can achieve this through a careful User Enablement strategy and an Education process. Remember, these two activities are also fundamental rudiments of the Business’ Change Management program. They are the prerequisite for a successful adoption of the new software.
Doing the Thing Right
We have experimented to reuse material between projects and we were able to use (only) the following elements:
Next Steps
Epilogue
Inspiration Sources
Epilogue What is normally the feeling when finishing a book? Is it enjoyment, because of its content? Is it sadness, because it is over? Is it gratification, because it brings you comfort and piece? Maybe all of them and more! The thing with this book is that it sets merely a beginning. It doesnâ&#x20AC;&#x2122;t finish here. The patterns within have just commenced a possible path for successful hybris projects. It is YOU who will continue creating patterns, grounded around your personal experience and beliefs.
Next Steps
We’ve come a long way together. My hope is that you were able to apply the patterns in this book. If so, you have probably made a lot of progress.
“
We are what we repeatedly do. Excellence, then, is not an act, but a habit. ~ Aristotle
I am convinced that the patterns described here are merely a fraction of the overall knowledge around hybris projects. That is why I wanted to avoid writing a summary. A summary would feel like a closure. On contrary, I would like to propose an opening: an opportunity where hybris Clients and Partners can exchange experience and support each other with knowledge. In a project there are so many aspects, which deserve care and attention that I believe the hybris patterns will evolve and multiply in time. Every project is a place for gathering precious expertise, which is so much needed for successful working habits. For that, look at a project as “lessons learned” - and distill the best out of the good practices and find a solution for the challenges. This book is my gift to you. I encourage you to use it as a guide, not as a strict recipe. After reading about a pattern, try to use it. Apply it. Challenge it. Improve it. Discover new patterns and chart your own pattern approach towards hybris projects. Good luck!
Epilogue
Next Steps
| 233
Inspiration Sources
| 235
Inspiration Sources For the creation of this book, I solicited wisdom from remarkable individuals, who were somehow related to my personal development. For me, their works and advices were a guiding light in combining knowledge and applying it in projects. I would like to share with you these sources of inspiration – divided into books, articles and blogs.
Books Ambler, Scott. “The Object Primer. Agile Model-Driven Development with UML2.0”. Cambridge University Press, 2004. Bach, Richard. “ONE”. Dell Publishing, 1989.
Cockburn, Alistair. “Agile Software Development: The Cooperative Game”. Addison-Wesley, 2006. Cohn, Mike. “Agile Estimating and Planning”. Prentice Hall, 2006. Cohn, Mike. “Succeeding with Agile: Software Development Using Scrum”. Addison-Wesley, 2010. Cohn, Mike. “User Stories Applied for Agile Software Development”. Addison-Wesley, 2004. Crispin, Lisa. Gregory, Janet. ”Agile Testing”. Addison-Wesley, 2009. Eisenberg, Bryan & Jeffrey. “Call to Action”. Nelson Business, 2006. Fowler, Martin. “Patterns of Enterprise Application Architecture”. Addison-Wesley, 2003. Gower, Bob & Rally Software. “Agile Business”. Rally Software, 2013. Kennedy, Gavin. “Everything is negotiable”. Arrow Books Limited, 1997 Kerth, Norman L. “Project Retrospectives: A Handbook for Team Reviews”. Doorset Publishing, 2001.
Epilogue
Covey, Steven. “The 7 Habit of Highly Effective People: Powerful Lessons in Personal Change”. Free Press, 2004
236 |
Inspiration Sources
Krug, Steve. “Don’t Make me think: A common sense approach to web usability”. New Riders Press, 2nd edition, 2005 Lilley, Roy. “Dealing with Difficult People”. Creating Success, 2011. Larman, Craig. “Applying UML and Patterns: An Introduction to Object-oriented Analysis and Design and Iterative Development”. Prentice Hall, 3rd edition, 2005. Liker, Jeffrey K. “The Toyota Way: 14 Management Principles from the World’s Greatest Manufacturer”. McGraw Hill, 2004. Machiavelli, Nicollò. “The Prince”, translated by Peter Bondanella, Oxford Press, 2005 Mann, Mary Lynn. Rising , Linda. “Fearless change: Patterns for introducing new ideas”. Addison-Wesley, 2004. Molenaar, Cor. “Shopping 3.0”, Gower Publishing Ltd, 2010. Schoonheim, Guido. “Mind the Gap! The agile approach to offshoring”. Xebia Group, 2009. Tzu, Sun. “The Art of War”. Shambhala Publications, 2005. (Original publish date circa 500 BC) Epilogue
Wiseman, Liz. “Multipliers: How the best leaders make everyone smarter”, Harper Business, 2010.
Articles and Studies Busalacchi, John. “Master Data Management: Laying the Foundation for Growth”. Information Management Special Reports, August 21, 2008. www.information-management.com/ specialreports/2008_104/10001841-1.html. Dawkins, Jenny. “Corporate responsibility: The communication challenge”, Journal of Communication Management, Vol. 9 Iss: 2, 2004, pp.108 – 119. Hamilton, Charles. “The Powers of Communication” – a soft-skills course from Charles Hamilton Associates. Karel, Rob. “It’s Time to Revisit Product Information Management”. Forrester, July 21 2009, www.forrester.com/rb/Research/time_to_revisit_product_information_management_pim/q/ id/46560/t/2 Leffingwell, Dean, “Scaled Agile Framework”, scaledagileframework.com.
Inspiration Sources
| 237
Power, Dan. “The Product Information Challenge”. Information Management Magazine, May 2009. www.information-management.com/issues/2007_58/mdm_master_data_ management_pim_cdi-10015293-1.htmlng-3-0/1001004010667841/index.html. Power, Dan. “Why Product Information Management?”. Information Management Magazine, May/June 2010. www.information-management.com/issues/20_3/why-product-information management-10017882-1.html. Roller , Miko. “PIM Trends 2011: E-commerce & multi-channel strategies are the drivers of product quality in commerce”. Product Information Management, 10.March, 2011. productinformationmanagement.ca/2011/03/10/pim-trends-2011-e-commerce--multichannel-strategies-are-the-drivers-of-product-quality-in-commerce.aspx Sy, Desirée. Miller, Lynn. “Adapting Usability Investigations for Agile User-centered Design”, Journal of Usability Studies, Vol. 2, Issue 3, May 2007, p. 112-132. Unic AG. “Process Landscape” – a consulting tool used to discover, prioritize and plan functional requirements, related to various business domains, like e-commerce, PIM, Customer Service, Supplier Management, etc.
Agile Alliance. “Principles Behind Agile Manifesto”. www.agilemanifesto.org/principles.html, 2001. Douglas K. van Duyne, James A. Landay and Jason I. Hong’s website: www.designofsites. com Dean Leffingwell’s website: scaledagileframework.com/blog Martin Fowler’s website: martinfowler.com/articles Mike Cohn’s blog: www.mountaingoatsoftware.com/blog Scott Ambler’s website: Agile Data Home, www.agiledata.org
Epilogue
Blogs and Websites
To be continued... Stay tuned for version 2.0
pattern: hybris Functional Consultant Time2Know
Visit the blog, share your experience It has been proven: A hybris requires certain hybris functional expertise to succeed. The good news is: it depends on You, to ensure such an Invaluable profile exists in Your Team. Read More >>
Share 19 Comments
pattern: Workshop
Time2Know
Workshop is a central pattern for all future activities since it facilitates communication, inspires and motivates. It provides a structure of a working process and leverages transparency. All other project patterns would rely on Workshops.
Share
Read More >>
14 Comments
pattern: PIM Awareness Time2Know
Have you ever wondered where the product information of commercial websites comes from? What makes that information complete, representative, trustworthy, relevant and shareable? A Product Information Management (PIM) platform establishes a global repository for consolidating, referring and managing all product-related info... Read More >>
Share 36 Comments