Page 1

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

| 3

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

| 5

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


6 |

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


10 |

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


12 |

Page Reference

Why and What

Executive Summary ............................................................................................................................................ 23 Why hybris Project Patterns? ......................................................................................................................... 29

Set the Base for Success

The Client ................................................................................................................................................................. 37 Overall Consulting Guidance ......................................................................................................................... 45 hybris Functional Consultant ......................................................................................................................... 49 Workshop ................................................................................................................................................................. 55 Virtual Product ....................................................................................................................................................... 65 PIM Awareness ..................................................................................................................................................... 75 Domain Methodology .......................................................................................................................................... 87 Software Methodology ...................................................................................................................................... 97

Doing the Right Thing

Platform Expectations ....................................................................................................................................... 105 Young Partner ........................................................................................................................................................ 111 Zero Efforts .............................................................................................................................................................. 121 Glossary .................................................................................................................................................................... 127 Requirements Gathering .................................................................................................................................. 133 User Experience Design Planning ............................................................................................................... 145 Communication .................................................................................................................................................... 153

Doing the Thing Right

Internal Process Alignment ............................................................................................................................ 163 System Actors ........................................................................................................................................................ 169 Pages Inventory .................................................................................................................................................... 179 Integration Points Inventory ............................................................................................................................ 191 Internationalization .............................................................................................................................................. 199 Back Office Usability ........................................................................................................................................... 209 User Enablement .................................................................................................................................................. 219

Epilogue

Next Steps ................................................................................................................................................................ 233 Inspiration Sources ............................................................................................................................................. 235


Table of Contents

| 13

Why and What Set the Base for Success Doing the Right Thing Doing the Thing Right Epilogue


Gratitude

| 15

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

| 17

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

| 19


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

Print

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

Print

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

Page%“ABC”%

% General%Information% % !!!Purpose:!The!goal!of!this!page!is!to!…! ! !!!Users:!Anonymous,!Registered!Consumers! !! % Zones%and%interactions%

Doing the Thing Right 20x900 n.a. 250x250

Y Y Y

4

Merchandizing info …

n.a.

Y

5 6 7

Thumbnails for … Social media, including … Footer with links and …

45x45 45x45 70x900

N N Y

Interaction Rules (ID)

Header with mega menu … Search bar used when … Zoomed image of …

Required

1 2 3

Zone

Size

!

Description

!

When clicking on each … Autocompletion when typing .. On click… On mouse over … When selecting …. If clicking on … On click … On mouse over … Each link leads to …

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

hybris Project Patterns  

by Atanas Aladjov

hybris Project Patterns  

by Atanas Aladjov

Advertisement