de-DEen-GB
rss

Granikos Technology Blog

Die englischsprache Version dieses Artikels ist im ENow Solutions Engine Blog verfügbar.

 

In vielen Unternehmen werden noch Öffentliche Ordner alter Bauart, die sog. Legacy Public Folder, auf Exchange Server 2010 Systemen bereitgestellt. Oftmals sind die diese Ordnerstrukturen innerhalb der Öffentlichen Ordner Hierarchie über die Jahre unkontrolliert gewachsen. Dies nicht nur im Hinblick auf das Datenvolumen, sondern auch auf die Anzahl der Ordner und die Ordnertiefe in der Ordnerhierarchie. Aus diesen Gründen fürchten viele Unternehmen eine Migration der Öffentlichen Ordner zu einer modernen Version von Exchange Server oder zu Exchange Online.

Am 14. Januar 2020 ist das Support-Ende von Exchange Server 2010 erreicht. Bis zu diesem Termin sollten Sie vorhanden Öffentliche Ordner Hierarchien zu Modernen Öffentlichen Ordnern in Exchange Server 2016 oder zu Exchange Online migriert haben. Nach diesem Datum befinden sich Ihre Exchange Server 2010 Installationen in einem nicht unterstützten Betriebszustand und stellen ein Risiko für den sicheren Betrieb Ihrer IT-Plattform dar.

Maßnahmen zur Migration von Öffentlichen Ordnern

Vermeiden Sie die vollständige Migration aller Öffentlichen Ordner ohne eine Revision der Inhalte und Ordnerstrukturen.

Die Migration hin zu modernen Öffentlichen Ordner in Exchange Online muss besonders vorbereitet werden.

Diese  Vorbereitung der Öffentlichen Ordner muss folgenden Maßnahmen und Überlegungen berücksichtigen:

  • Deaktivierung der E-Mail-aktivierten Öffentlichen Ordner
    • Vermeidung einer verzögerten Zustellung von E-Mails während der Migrations- und Finalisierungsphase
    • Überführung der Ordnerinhalten in Freigegeben Postfächer oder zu Office 365 Groups
  • Bereinigung der E-Mail-aktivierten Öffentlichen Ordner, wenn nicht alle E-Mail-Aktivierungen entfernt werden können
    • Entfernung oder Änderung nicht unterstützter Zeichen aus dem Attribute E-Mail-Alias (mailNickname)
    • Entfernung von Leerzeichen aus dem Attribute E-Mail-Alias (mailNickname)
  • Bereinigung verwaister AD-Objekte von ehemals E-Mail-aktivierten Öffentlichen Ordner
    • Löschung der Objekte aus dem MESO-Container
    • Bereinigung der Berechtigungen in der Ordnerhierarchie
    • Entfernung “alter” Sicherheitsbezeichnungen, insbesondere
    • Umstellung der Ordnerberechtigungen von Einzelberechtigungen auf Sicherheitsgruppen
  • Bereinigung der Ordnernamen der Öffentlichen Ordner
    • Entfernung oder Änderung nicht unterstützter Zeichen
    • Entfernung führender oder nachfolgender Leerzeichen
  • Reduzierung der Ordnerinhalte und der Ordnerhierarchie

Warum sind diese Maßnahmen notwendig?

Mit einer Umstellung und Bereinigung der E-Mal-aktivierten Ordner stellen Sie eine sichere Zustellung der E-Mail-Nachrichten während der Migrations- und Finalisierungsphase der Öffentlichen Ordner sicher. Unabhängig davon, ob die die Öffentlichen Ordner zu Exchange Server 2016 oder zu Exchange Online migrieren, kommt es zu einem Pausieren der Zustellung. Nach der Fertigstellung werden wartende Nachrichten in die neue Betriebsumgebung der Öffentlichen Ordner umgeleitet und zugestellt. Dies ist für zeitkritische E-Mail-Nachrichten nicht akzeptabel.

Die Information über einen E-Mail-aktivierten Ordner wird nicht nur innerhalb der Öffentlichen Ordner-Hierarchie gespeichert. Zu einem E-Mail-aktivierten Ordner gehört auch ein entsprechendes AD-Objekt, das im MESO-Container gespeichert ist. Wenn die Berechtigung für Exchange Server auf diesen Container angepasst wurde wird das AD-Objekt nicht entfernt oder geändert. Bei einer Aufhebung der E-Mail-Aktivierung verbleibt das AD-Objekt im MESO-Container und sorgt bei einer Migration zu Exchange Online für Probleme. Dieser Fehler macht sich in einer reinen On-Premises-Umgebung nicht bemerkbar. Der Fehler schlummert im Untergrund und wartet darauf, entdeckt zu werden.

Die Bereinigung der Ordnerberechtigungen, hin zu Gruppen-basierten Berechtigungen führt zu einer Vereinheitlichung und Vereinfachung des Zugriffes. Bereits bei einem rein lokalen Betrieb der Öffentlichen Ordner profitieren Sie schon von dieser Umstellung. Wenn Sie jedoch eine Migration der Öffentlichen Ordner zu Exchange Online planen, ist diese Umstellung ein absolutes Muss. Eine Anpassung der Ordnerberechtigungen nach der Migration zu Exchange Online ist eine besondere Herausforderung. Solange die Ordnerhierarchie relativ flach ist und nur wenige Ordner enthält, werden Sie keine Probleme bei der rekursiven Anpassung von Ordnerberechtigungen haben.

Gerade in vertriebsorientierten Unternehmen sind den Jahren, seit Einführung der Öffentlichen Ordner, eigenständige Ordnerbäume gewachsen. Ich durfte mit einer Ordnerhierarchie, bestehend aus ~120.000 Ordner unterhalb eines Basisordners, nach der Migration zu Exchange Online besondere Erfahrungen machen.

Nachfolgend ein Beispiel für die Ordnerstruktur einer Vertriebsorganisation.

Beispiel einer Öffentlichen Ordner Hierarchie

Wenn Sie in einer solchen Ordnerhierarchie die Berechtigungen per Remote PowerShell setzen möchten, werden Sie bei der Ausführung der Cmdlets in Probleme laufen.

Durch die besondere Betriebsart als SaaS-Angebot, gibt es klare Grenzen für die Verarbeitung von Cmdlets in einer Remote PowerShell-Session. Sie können maximal 120 destruktive Cmdlets je 60 Sekunden ausführen. Wenn Sie diesen Schwellenwert überschreiten, wird die Ausführung Ihrer Cmdlets durch sog. MicroDelays verzögert. Unter destruktiven Cmdlets versteht man Cmdlets, wie Einstellungen hinzufügen oder ändern, als Set-*, Remove-*, New-* oder Add-* Cmdlets.

Das Hinzufügen von Berechtigungen für Öffentliche Ordner erfolgt mit Hilfe des Cmdlets Add-PublicFolderClientPermission. Die Anpassung einer bestehenden Berechtigung besteht immer aus zwei Konfigurationsschritten, dem Entfernen der alten Berechtigung (Remove-PublicFolderClientPermission) und dem Hinzufügen der neuen Berechtigung.

Dieses Problem trifft Sie nicht nur bei Ausführung einer Remote-PowerShell-Sitzung, sondern auch bei der Anpassung der Berechtigungen über das Exchange Online Admin Center (EAC). Der Unterschied ist, dass das EAC Sie mit einer Success-Meldung in SIcherheit wiegt und Ihnen vorgaukelt, dass auf allen Ordnern die Berechtigungen gesetzt wurden. Die Realität hat gezeigt, dass die im Hintergrund ausgeführten PowerShell-Cmdlets in die Begrenzung laufen.

Alternativ können Sie die Berechtigungen auch mit Hilfe der Exchange Web Services (EWS) anpassen. Hierzu gibt es professionelle Lösungen am Markt. Jedoch greifen auch für den Zugriff per EWS Grenzwerte. Professionelle Programme versuchen durch Pausen bei der Ausführung das Erreichen der Grenzwerte zu vermeiden. Dies führt natürlich zu einer entsprechenden Laufzeit bei der Anpassung der Berechtigungen.

Empfehlung

Daher ist meine Empfehlung, die Berechtigungen der Öffentlichen Ordner vor einer Migration zu Exchange Online zu bereinigen. Hierdurch stellen Sie sicher, dass Sie sich nur noch auf die Mitgliedschaft der Benutzerkonten in den entsprechenden Sicherheitsgruppen kümmern müssen.

 

Links

 

Viel Spaß mit Öffentlichen Ordnern. Und vergessen Sie den Stichtag 14. Januar 2020 für das Support-Ende von Exchange Server 2010 nicht.

 

 

Weiterlesen »

Microsoft Teams LogoMicrosoft Teams ist der zentrale Ort für die sichere und produktive Zusammenarbeit in Office 365.

Hier sind die interessantesten Informationen aus KW 7 / 2019.

 

Neuigkeiten

 

Dokumentation

 

Microsoft Teams - Roadmap

 

Viel Spaß mit Microsoft Teams!

 

Sie interessieren sich für Microsoft Teams? Dann werden Sie Mitglied des Microsoft Teams Meetup Berlin

 

 

 

Weiterlesen »

The Program:

  • Implementation/migration of round about 25 instances with a Specific Laboratory Software, supporting ~30 laboratories world-wide
  • Reduce support cost per instance by standardization (for existing and added instances)
  • Development of a template ("foundation") containing common functionality which can be influenced by configuration. Integration of the foundation into all instances. Provide all instances in operation with the current version of the foundation on a regular basis.

 

The challenges:

  • 2-3 implementation projects parallel
    • Full scope not clear in the beginning
  • Increasing number of instances in operation
    • Regular update of foundation version necessary to keep them streamlined in order to reduce support cost
    • Requirements and bugfixes from systems in operation have to be included into foundation development process
  • Many and changing team members, part-time availability
    • Round about 12 team members (incl. development and support)
    • Changes due to boundary conditions triggered by external influences
    • 80% of people only part-time available for the program
  • High interdependency between ongoing projects and Systems which are already in in operation due to foundation development and shared resources.
  • Organization of communication process between projects and operation
  • Balancing individual business needs on one hand versus streamlined standard software on the other hand

 

Why agile:

  • Manage individual projects (introduction of new Software)
    • Decision for projects taken during run-time of the program
    • Sequence of projects changing
  • Manage user stories across projects (details not available at start of the program)
    • Each new project delivers a slightly differentiating list of user stories
    • Each instance in operation delivers additional stories
  • Manage process
    • Change process quite complex, adaptions to the process must be quickly implementable
       

 

The agile setup - how did we handle the challenges:

  • In fact the program has been setup before we got in touch with the standard Scrum process (See our blog: What is Scrum?). So we used other role names, but some of them have exactly - amongst others - the tasks defined for the standard Scrum roles.

 

Bild

 

Orange = Business, Green = IT

 

 

  • Scrum Master ~ Development Coordinator / Program QA
  • Product Owner
    • Program Manager
      • Overall Product Owner
    • Project Manager and Application Managers
      • Product Owner for particular instances -> Prioritization and review / testing of stories
      • Write User Stories
      • "Imitate" the end user for sprint releases
  • Global Change Manager
    • Scope definition for the foundation
    • Release management of the foundation
    • Organization of SME-Board
    • Prioritization
    • Product Owner for foundation
  • Architect
    • Knowledge of implementation framework
    • Sets up development guidelines and general implementation approach
    • Gives first estimation of requirements with a technical view
    • Better management of the large product backlog, due to technical understanding, prioritization estimation
  • Program QA
    • Set up of change management process for the program
    • Regular overall review of change management process
       
  • Additional meetings
    • Subject Matter Experts Board (SME) (bi-weekly)
      • Participants: Whole team
      • Reviews the requirements from a technical and functional point of view
      • Gives implementation recommendations as decision memo for the CAB (Change Advisory Board)
      • Discusses additional technical issues
    • Process Review Meeting (quarterly in the beginning, currently twice a year)
      • Participants: Whole team 

 

The experiences:

  • User stories: Definition of user stories dependent on target group, developing a template of user story definition fitting for all team member in different roles, with different views and different backgrounds is a time consuming task
  • Testing: Developing awareness for testing right after delivering of implemented user story took also lot of time and patience 
  • Definition of project related sprint releases is useful to get quick feedback and reduces the effort for project managers (not every project manager has to test each increment)
  • A clear definition of product ownership incl. responsibility for successful product delivery is important for a successful project

 

This was the last part of our small Series about Agile Project Management

The whole Series contains 4 pieces:

Agile Project Management – Basics (Part1)
Agile Project Management – What is SCRUM (Part2)
Agile Project Management – Agile Project Management in real Life (Part3)
Agile Project Management – Agile on the next Level – Program Management (Part4)

If you have any comments on our Articles, your Feedback is highly welcome.

 

 

Weiterlesen »

Agile Project Management in real Life

 

The Project:

  • Development of a new web shop
  • Bring this web shop to a new platform to enable further enhancements (old platform was outdated)

 

The challenges:

  • Very high amount of complex requirements
  • Dependencies to other projects and an overarching IT Strategy Program
  • Special regional processes and requirements
  • New, unknown platform and framework

 

Why agile:

  • Manage high amount of requirements (incomplete list at start of the project)
    • Start by collecting all requirements on a very high level
    • Refine requirements during the project in order to save time by not writing every detail at the beginning of the project
  • Able to react to decisions from the IT Strategy program and/or other projects
    • The Project had to start earlier than the program, so some program decisions were not made at the beginning of the project
  • No clear "customer" as it was an internal project, but end-users are external customers of the company

 

The agile setup - how did we handle the challenges:

  • Besides the standard Scrum roles (See our last blog entry: What is Scrum?), additional roles were part of the project

 

image

Orange = Business, Green = IT

 

  • Cross Regional Working Team = Group of colleagues from different Departments act as "customers"
    • Write User Stories
    • Review product and give feedback
    • "Imitate" the end user
  • IT Process Designer as an IT counterpart to the Business Product Owner
    • More technical knowledge
    • Understands and communicates technical problems
    • Also has a very good knowledge about the business processes
    • Better management of the big product backlog, due to technical understanding, prioritization estimation
  • Additional Role "Solution Architect"
    • Knowledge of new implementation framework
    • Sets up development guidelines and general implementation approach
    • Gives first estimation of requirements
    • Better management of the large product backlog, due to technical understanding, prioritization estimation

 

  • Additional meetings to manage backlog
    • Sprint Planning Preparation
      • Participants: Solution Architect, IT Process Designer and Product Owner
      • Prepare Sprint Planning, define Sprint goal and set a rough scope for the next Sprint
    • Backlog Refinement
      • Participants: Development Team, Solution Architect and IT Process Designer
      • Review high prioritized stories and refine them to a state where they can be implemented
      • Add details to stories and split them up into multiple stories if needed

 

The experiences:

  • First version of user stories were very unspecific and way too complex to be implemented straight away
    • It was clear from the beginning that stories have to be refined (see "Challenges of the project" - Point 1) - but the effort to get the stories to a point where they can actually be implemented was underestimated
    • Project progress became unclear because the team did not work on actual business user stories, because they were too unspecific and complex, but transferred them into technical stories
  • Stories had to be split up multiple times, overall structure of story clustering and complexity changed multiple times
  • Tools such as JIRA were great to track and manage the backlog and to document and share knowledge within the project team
  • Not everyone has had agile experience
    • Roles were not fully clarified at the beginning, therefore more communication between the roles was needed, to make sure everyone understood his responsibility
    • During the project each role developed and grew based on the experience
    • The roles later on took over responsibility and made decisions where needed

 

Despite the difficulties especially at the beginning of the project, it is still very well in time. This is caused by the fact that the team always kept working and the project was never unable to go on. Due to the agile nature of the project in time communication and transparency were possible!

 

This was the third part of our small Series about Agile Project Management. Look out for the next part which we are going to publish soon called "Agile Project Management – Agile on the next Level - Program Management"

The whole Series contains 4 pieces:

Agile Project Management – Basics (Part1)
Agile Project Management – What is SCRUM (Part2)
Agile Project Management – Agile Project Management in real Life (Part3)
Agile Project Management – Agile on the next Level – Program Management (Part4)

If you have any comments on our Articles, your Feedback is highly welcome.

 

 

Weiterlesen »

SCRUM as a method in Agile Project Management

 

In the preparation of this article, we discussed several ideas, how to introduce Scrum to you. In search of inspirations we have found the introduction video from the Scrum alliance.

In the end, this is a pretty short 80-seconds introduction to Scrum, which we would like to show to you, instead of reinventing the wheel again.

 

 

In addition to the video we would like to share more information:

 

 

Expectations to Scrum:

 

Scrum is very good when it comes to establishing agile methods into an organization. By providing a simple approach it can easily be picked up and enhanced. Also Scrum is very well known and there are lots of experienced Scrum Coaches in the outside world of Covestro.

 

Scrum is a framework which provides a basis of 3 roles, 4 activities and 3 artifacts, which will now be explained in detail.

Each Scrum implementation is different though. Depending on the project or the organization there will be additional roles or activities. Scrum focuses on communication and collaboration by discussing requirements and short feedback cycles, which is the most important thing to keep in mind.

 

In the following we want to explain the different roles, activities and artifacts. Furthermore we want to provide you a check list what you have to prepare for your first Scrum project.

 

 

Terms:

User Stories

A simple method to describe requirements, by a user's perspective, with only one or a few sentences. Usually a user story consist of Who? What? And Why?

e.g.: "As a user I want to be able to back up my data in order to recover it in case of an error."

User stories are constantly refined and extended during the project. They are the basis for discussion about the features. This will help to get a clear understanding of the requirements.

Sprint

An iteration of Scrum which is usually between 1 and 4 weeks long. Or in other words: This is the timeframe, in which work is planned continuously. Once the duration is set it should not be changed during the project though.

Artifacts

Artifacts provide information about the product, the requirement and the progress. The scrum team permanently works with the artifacts. For instance, an artifact is the list of requirements which are known so far.

Activities

Activities are mostly meetings which are part of each sprint. (The sprint itself can be seen as an activity too) By discussing and/or working with the artifacts during the activities, the project progress and obstacles become transparent.

Definition of Done

A project specific agreement which defines when a user story is completed.

 

Roles:

  • Product Owner
    • Manages the product backlog and overviews all user stories
    • Drives the product vision
    • Represents the project stakeholders and gathers requirements and feedback from them
  • Scrum Master
    • Establishes the Scrum process and makes sure that the process is followed
    • "Coach" of the Dev. Team
  • Development Team
    • Self-organized and cross functional (tester, designer, architect, developer)
    • Realizes the user stories

 

Additional involved persons:

  • Stakeholder
    • Involved in creating the requirements
    • Give feedback about the product increment
    • Examples: User, Application Owner, Application Manager, etc.

 

Activities:

  • Daily Scrum
    • Dev. Team + Scrum Master
    • Daily stand up meeting: What did I do yesterday? What am I doing today? Anything that hinders my work?
  • Sprint Planning
    • Product Owner + Dev. Team + Scrum Master
    • "Sprint Kickoff" - once per Sprint
    • Define Sprint scope, clarify last questions and estimate effort
    • Outcome = Sprint Backlog
  • Sprint Review
    • Product Owner + Dev. Team + Scrum Master
    • Review product increment with stakeholders and collect their feedback
    • At the end of each Sprint
  • Sprint Retrospective
    • Scrum Master + Dev. Team
    • Review the Scrum process
    • Identify optimizations for the Scrum Process and define tasks to realize the optimizations
    • At the end of each Sprint

 

Artifacts:

  • Product Backlog
    • List of all requirements to the product, which are known so far
    • Prioritized and refined by the Product Owner
    • Requirements can be changed, added or removed from the backlog
    • Single source of requirements for changes to the product
  • Sprint Backlog
    • List of all requirements which are planned to be realized in the next sprint
    • Cannot be changed during the sprint
    • Managed by the Dev. Team once the sprint started
  • Product Increment
    • Result of each sprint
    • Can potentially be used by the customer

 

When you want to start your first Scrum project there are several tasks which should be completed upfront:

 

  • Define your Scrum team (Product Owner, Scrum Master, Development Team)
  • Explain Scrum to the project team and especially explain the roles
  • Identify Stakeholders and involve them into the project setup
  • Establish an agile mindset, explain reasons for Scrum and the agile approach, make sure the approach is understood and accepted
    • The initial set up is not carved in stone, it will evolve during the project together with the Scrum experience of the team mainly based on the Sprint Retrospective
  • Decide on a Sprint duration
  • Set up the meetings, reserve rooms and plan them ahead ideally for the whole project time
  • If needed design additional roles/activities but do not overcomplicate the process

 

 

This was the second part of our small Series about Agile Project Management. Look out for the next part which we are going to publish soon called "Agile Project Management – Agile Project Management in real Life"

The whole Series contains 4 pieces:

Agile Project Management – Basics (Part1)
Agile Project Management – What is SCRUM (Part2)
Agile Project Management – Agile Project Management in real Life (Part3)
Agile Project Management – Agile on the next Level – Program Management (Part4)

If you have any comments on our Articles, your Feedback is highly welcome.

 

 

Weiterlesen »