Strategic Objectives

Version Control

  • Establish policies among teams to build the foundation of the orchestrated system
  • Manage repositories and folder structures for performance efficiency, deployment convenience, and disaster recovery
  • Architect branching strategies to support safe, flexible, and manageable deliveries
  • Integrate access control  with bug tracking system, email notification, and  build process
  • Define branch merging responsibility between Dev and SCM for effectiveness of both

Build

  • Utilize dedicated SCM servers for stability, portability, and maintainability
  • Build changed code/objects/modules only to minimize the time and impact
  • Track (Version) DLLs/EXEs for tracing back the tickets, issues, and releases
  • Automate build processes for Continuous Integration (CI)
  • Establish processes and email notification for build quality changes (i.e., errors, completion, etc.)
  • Develop the capability of automatic, periodical, and on-demand builds
  • Manage the details for each builds from various branches with various base code and changes

Deployment

  • Provide clear instructions to orchestrate the team work when multiple teams involved for deployment
  • Streamline the deployment process to configurable/dynamic targets
  • Develop the capability of automatic, periodical, and on-demand deployments
  • Manage, trace, and audit cherry-pick (in or out) and periodic deployment
  • Leverage virtual machine technology to deploy, simulate, and verify environment promotion
  • Notify related teams with easy-to-understand context and content (in their own frame of reference) for each deployment

Audit

  • Establish auditing methods, processes, and  tools to ensure the accuracy and precision of each release
  • Conduct real time inventory and asset lists for each release to communicate with related parties
  • Notify through proper channels if unusual or watched items and activities occur
  • Raise necessary alerts for manual deployed, high risk, special client-action-required items, etc.

Intelligence

  • Understand the pain and needs from internal and external clients
  • Provide statistic trend analysis regarding resource utilization, product stability, and process efficiency
  • Provide early risk prediction, management, and prevention intelligence
  • Provide feedback to management teams regarding compliances, risks, and performance for review references
  • Provide field and deployment feedback to architect team for architecture improvement references
  • Provide statistic feedback to project management team for process (SDLC/ALM/Agile) improvement references
  • Continuously improve Capacity Mutuality Model (CMM) levels
  • Integrate intelligence into Information Technology Infrastructure Library (ITIL)
  • Build accumulated intelligence into knowledge base (SharePoint, Wiki, Blog, etc.)

Communication

  • Push out real time tailored format and information to interested parties for each build and deployment (targeted & broadcast)
  • Create a platform (publish broadcasted email chain with related parties) for release updates, progress, issues, etc.
  • Provide a central location of information for inquiries and more comprehensive reports
  • Develop tools to manage mailing group lists, content templates and deliver notification
  • Establish communication protocols between different teams
  • Integrate all possible communication channels including email, texting, iPhone, IM, SharePoint, dashboard, etc.

Automation

  • Automate build & deploy processes to save resources and prevent human errors
  • Utilize automated tools to filter activities for audit
  • Utilize automated tools to collect data for intelligence
  • Utilize automated tools to deliver information for communication
  • Utilize automated tools to maintain SCM related resources and environments

Integration

  • Integrate related systems (version control, bug tracking, notification, dashboard, etc.) into SCM processes and tools to save resources and prevent human errors
  • Integrate technology and process to streamline the delivery  (vertical)
  • Integrate various tasks into a single friendly user interface for efficiency and supportability (horizontal)
  • Integrate cross-function processes and communication to orchestrate the productivity (multi-dimension)

Optimization

  • Optimize current processes to save resources and prevent human errors
  • Utilize the feedback getting from the intelligence to establish and enforce engineering policies to optimize overall processes
  • Utilize industry best practices to optimize the processes

Stewardship

  • Backup tools and repositories periodically
  • Develop recovery plans and tools for disaster recovery (rebuild the environments and tools)
  • Document manual processes for environment change events (tools crashed, personnel changed, no supported hardware, etc.)
  • Document all tools and environment settings and tips
  • Maintain portability for all tools (in-house or purchased)
  • Maintain environmental sanity including disk usage, garbage clean up, hardware upgrades, etc.
Advertisements