Framework Overview The Project Delivery Framework consists of a high-level understanding of how projects are organized in relation to each other and specific approaches, practices, and sub-frameworks that have been designed for particular types of projects. Introduction Here is a high-level view of the Project Delivery Framework: The diagram above shows a high-level example of a project scheduling plan with an initial implementation project split into three releases, followed by an integration project and a migration project. The first release of the implementation project is then expanded to show the phases. The Project Delivery Framework makes a distinction between projects and application management, where: Projects are blocks of distinct work with the aim of delivering a certain scope within a certain timeframe for a certain cost and an assumed level of quality. Projects typically run sequentially delivering into the parallel application management stream.
|Published (Last):||14 May 2017|
|PDF File Size:||6.70 Mb|
|ePub File Size:||19.71 Mb|
|Price:||Free* [*Free Regsitration Required]|
Framework Overview The Project Delivery Framework consists of a high-level understanding of how projects are organized in relation to each other and specific approaches, practices, and sub-frameworks that have been designed for particular types of projects. Introduction Here is a high-level view of the Project Delivery Framework: The diagram above shows a high-level example of a project scheduling plan with an initial implementation project split into three releases, followed by an integration project and a migration project.
The first release of the implementation project is then expanded to show the phases. The Project Delivery Framework makes a distinction between projects and application management, where: Projects are blocks of distinct work with the aim of delivering a certain scope within a certain timeframe for a certain cost and an assumed level of quality.
Projects typically run sequentially delivering into the parallel application management stream. This starts with the initial implementation project, often split into a set of sequential releases, followed by ad hoc or continuous projects in parallel to application management activities, continuing on an on-going basis until the solution is eventually decommissioned.
Together this cycle of projects is called the application lifecycle. There are also different types of projects, not just the initial implementation project. There may also be subsequent functional development projects, system integration projects, internationalization projects, migration projects, infrastructure projects, etc.
The framework is neither rocket science nor revolutionary. Its intention is to define a common and generic set of practices and approaches that can be readily understood and used as the basis for a variety of more specific frameworks and practices that can be selected based on the appropriate project context.
Many customers and partners will have their own methodologies or delivery frameworks, created and suited for their own contexts and strengths. The size of a release can vary depending on the context. An example would be breaking down a month project into smaller releases of relatively equal duration, with each release containing all the project phases as shown below: The set of sequential phases would then start again with the next release, although the initial up-front Initiation phase that assesses the project feasibility, business case, high-level scoping, etc.
Alternatively, some organizations take this even further by utilizing Continuous Delivery methods to enable continuous deployments to production on a weekly or even daily basis rather than releases spanning weeks or months. However Continuous Delivery is not easy and ideally needs to be built into the project from day one. It requires significant investment and the business drivers need to be properly assessed to match the frequency of releases. Not all organizations can properly handle or need such regular deployments.
The customer could be another organization or another department within the same organization. The delivery team might be an in-house IT department or an external service provider. There might be a commercial relationship, there might not.
However, the high-level activities of this phase remain very similar and include: Alignment on the vision and business goals of the project Alignment on project methodology Identification of high-level functional and non-functional requirements High-level requirements prioritization Identification of key milestones, e. The phase consists of a series of onsite workshops with the customer and delivery teams, plus key stakeholders and 3rd parties.
The specific activities and deliverables of this phase can vary depending on the methodology however they generally remain very similar although granularity will vary greatly between different methods, so waterfall will have much more detailed requirements definition than Agile : Appropriately detailed definition of functional requirements prioritized if Agile Appropriately detailed definition of non-functional requirements Architecture design logical, physical, data, security, etc.
However, sometimes there is still too much uncertainty technical or otherwise which prevents the teams from having enough understanding of the risks to give the go-ahead for the full Engineering phase, which is essentially the go-ahead for the whole project due to the very significant commitment of resources and people. In this case, teams may want to proceed with a smaller, optional, Exploration phase.
Exploration Phase Discovery and Planning This is an optional phase. The primary objective is to explore those risks and uncertainties in enough depth to provide the teams with the confidence to proceed with the larger Engineering phase and essentially commit to the project.
Given that risks and uncertainties are project specific, they can vary widely, so the activities of this phase will also vary. However, typically they are technology related, and often involve the development of prototypes or proof-of-concepts.
These can be throw-away or designed to be reused if the project goes ahead. These types of phases are more common on greenfield or build-from-scratch projects, especially when using new or leading-edge technology stacks with challenging non-functional requirements such as very high numbers of requests or data volumes. They are less common when building a solution from a mature platform such as Hybris Commerce, however, an Exploration phase can still be valid where needed, e.
The approach taken to develop the solution will vary significantly depending on the SDLC method. For example, a waterfall approach would split this into three separate design, build and test phases. This phase will also include some form of acceptance testing, often planned as a block of time at the end of this phase, however, sometimes acceptance testing is managed iteratively throughout this phase. System integration, performance, and other non-functional testing are also key activities of this phase.
Ultimately the end result should be a high-quality solution that meets the functional and non-functional requirements and is ready for deployment to the production environment within the Deployment phase.
Deployment Phase Deploy The primary objective of this phase is to prepare and deploy the software produced in the Engineering phase to the production environment, ready for use by end users. Early feedback at this early stage can significantly reduce the risks inherent with a big-bang deployment later. Application Management Application management is not a phase or even a project.
This workstream starts with the first deployment to production from the initial implementation project, however, it needs to be planned from the start of the project to ensure responsibilities are clearly defined and people are appropriately trained and enabled.
The project team can sometimes manage some of this workstreams responsibilities. Regardless, just as much thought and planning should be dedicated to application management as projects. Typical application management activities can include: 1st, 2nd, 3rd line support Development of a knowledge base Investigating and resolving break-fix incidents, e. Solutions are built on top of the platform and the various selected modules by developing new software to extend the existing behavior or to develop new functionality.
During any software development, there will always be complexity and uncertainty that customers and delivery teams must manage. This cannot be entirely eliminated but can be significantly reduced by developing on a stable software platform such as Hybris Commerce, with the remaining complexity and uncertainty being managed using an appropriate software development lifecycle SDLC method.
There are various software development lifecycle SDLC approaches that have evolved over the years to enable teams to manage this complexity and uncertainty and help them deliver successful projects.
Waterfall 1. First, there was the predictive Waterfall method developed in the s. Since its development in the s, the Waterfall approach has been used on a huge number of projects and is still frequently used to this day, with its successes and also many high-profile failures.
Design — then the technical design specifications to meet the requirements are documented and signed-off. Verification — then the test team verifies tests the software to ensure conformance to the requirements, the software acceptance is signed-off, and its deployed to the production environment.
So customers risk not getting what they thought they were getting. With testing deferred to the end of the project, defects are also discovered very late.
From a planning perspective, the up-front fixed requirements combined with the sequential critical path nature of the activities mean that if there is a delay in any activity or phase, it has a direct knock-on effect on all remaining activities and phases. This often leads to cost and time overruns. When this occurs teams often reduce the duration of the verification phase testing , which subsequently directly impacts quality.
Like Waterfall, RUP recognized the importance of lifecycle phases. However, it was the first method that also realized the importance of activities that overlap these phases rather than being distinct activities within each phase as per the Waterfall method. The diagram below shows the phases and how activities represented by disciplines occur throughout multiple phases: With RUP and the other iterative and incremental methods, there was a purposeful move away from the big up-front requirements and design associated with Waterfall to a more discovery-based approach with lighter-weight documents and models and an iterative approach to development where requirements are discovered and elaborated in early iterations.
The approach taken by RUP was to cater for all types of projects by providing a superset of prescribed disciplines, artifacts, and processes. Agile In the late s in response to the perceived heavyweight and overly prescribed approach taken by RUP, lighter-weight adaptive methods were developed. Together they became known as Agile methods, culminating in the Agile Manifesto created in that was a set of practices and principles which define and underpin all Agile methods.
Agile methods focus on delivering high quality, high value, working software quickly to customers in an iterative and incremental fashion, accelerating time-to-market while also being highly adaptable to changing business environments. Agile methods take the opposite approach to RUP with its superset of project disciplines, artifacts, and processes, and instead encourage teams to start with the minimum and only add to them if necessary.
High value, high quality, adaptability to change and low cost are the hallmarks of projects using well-managed Agile methods. Agile methods have become increasing popular in the last 10 years and are now used successfully in organizations all over the world.
For example, the Hybris Commerce platform was successfully built internally using Scrum and other Agile methods, and these practices and processes have been adapted as the platform and company size grew in size and sophistication.
Over time, the various flavors of the Agile methods converged and now when people refer to Agile they typically refer to Scrum usually combined with XP technical practices such as continuous integration, test-driven development, pair programming, etc.
So although projects using Agile methods have been very successful, there have also been a significant number of failures, particularly when the above constraints are not adequately being considered. For Agile methods to be effective and successful their principles and practices are finely balanced as they are dependent and support each other.
You will probably find more process in a properly executed and managed Agile project than in a Waterfall project. However, those processes are there for a very specific reason, and all add demonstrable value. Members of the DSDM consortium were also involved in the origins of Agile and the creation of the Agile Manifesto as they recognized the importance of leaner software development practices within projects.
Later the consortium was opened up to other members outside these large enterprises, to grow and widen the use of DSDM. The diagram below shows the phases of the DSDM Agile Project Framework: DSDM is based on a fundamental principle that scope, time, cost and quality cannot all be fixed, and of these, on time, on budget and high-quality are the most important aspects of successful projects, so scope needs to be allowed to vary.
So despite being used successfully in many organizations, DSDM is not well known because it has not had the same evangelizing and self-promotion activities over the years compared to several of the other well-known methods. So some adaptations are required in commercial environments. It is also not designed for fixed-scope type projects, and again needs to be adapted in these cases. In the right context, the Waterfall method can be used successfully.
In environments where all detailed requirements are known with high certainty up-front, where there is very little change or business uncertainty and where there is little technical risk. RUP can also be successful where customer and project teams have in-depth knowledge of the method and are skilled at tailoring it to their needs. However this is difficult to get right, so teams often leave unneeded work in the project, leading to additional cost and time. Agile methods such as Scrum are great for the development of software in environments where there are highly collaborative relationships between the business owner and project teams, however, these methods have very little regard for the types of activities that typically occur at the start and end of projects.
Although in recent years, methods like DSDM have evolved to tackle these shortcomings with the development of Agile project management frameworks and wrappers around the process and practices used by Scrum and XP. There is no one-size-fits-all method for successful software development. The key is being appropriately skilled and experienced to understand the different options and how best to apply them.
Implementation Projects During the lifecycle of a Hybris Commerce solution, there are various types of projects, starting with an initial implementation project. Following the initial implementation project, when the solution is built for the first time, there can be subsequent implementation projects to build additional slices of the solution during its lifecycle. An example initial implementation project is highlighted in red in the diagram below: In the above example, the initial implementation project is split into three releases, each release deploying to the live production environment and the application management workstream, and each release building upon the solution developed in the previous release.
In other cases, the project activity stops once development is ramped down, and smaller change requests can instead by managed by the application management team outside of a project environment. Each approach depends on the customer and the situation. The above example also shows other types of project examples, e. These are projects specifically to manage other types of activities in a project environment, such as building integrations to a new external system or migrating the underlying Hybris Commerce platform from one major version to another.
There may also be other types of projects, e. The integration project may also be managed as an implementation project if the Hybris Commerce solution is being extended or new features are being developed. In this section, we are looking at specific approaches to managing the initial implementation project, although these approaches and practices will also be applicable for subsequent implementation projects.
Hybris study material
SAP Hybris was introduced in year in Switzerland. This company was acquired by SAP S. E on 1 August The main role of SAP Hybris is to provide solutions that benefits any organization in cutting costs, saving time and reducing complexity, which further helps in having lesser focus to achieve excellent customer experience. This is a preparatory tutorial, which covers the basics of SAP Hybris and explains how to deal with its various components and sub-components. This tutorial is prepared for those professionals, who wish to learn the essentials as well as the enhancements of SAP Hybris.
SAP HYBRIS TUTORIAL
SAP Hybris Tutorial
SAP HYBRIS E-COMMERCE