-Back to main Services page.
Program management is a critical component of successful application delivery. It aligns users, sponsors, business teams, development, infrastructure, operations, and other teams as needed, towards a common goal set. The program provides a strategic view for end to end delivery and is decomposed into one or more projects that produce deliverables. Program management lies at the functional intersection of organizational team components. It should take into consideration organization capabilities, sustainability, scale requirements, and budget.
We have extensive experience in large to small scale analytics deployments and can customize a strategic framework for you that ensures your applications are developed to meet expectations and deliver business value.
Initiating a Program
Initiating an analytics program requires identifying stakeholders, program goals and/or problem-solution statement, user needs and business requirements, and cost-benefit analysis.
Stakeholders are the organizational teams that have a stake in the outcome of program. Stakeholders frequently includes consumers/users, business teams (e.g. sales, marketing, product, customer support, research, others), engineering/technology, data, infrastructure, support and operations.
Program goals are the short, mid, and long term objectives of the program. They should be tied into the strategic goals of the organization. Examples of goals might be to a) define and measure a set of metrics and benchmark actual performance against them, b) establish cost or security control standards and find and eliminate gaps in lack of adherence, c) increase customer retention or decrease attrition, measure usage and identify opportunities to recalibrate user experience. These are a few examples, there are many others depending on needs and industry segment.
Another approach to define the program is to use a problem-solution statement, whereby a problem is identified and a solution is offered to fix the problem. An example might be a legacy analytics system that does not offer the breadth, depth, flexibility, or scalability of a growing, dispersed user base with varying querying needs. A solution would be to introduce a new system that offers greater data depth and application level functionality to satisfy user needs.
User needs analysis and business and functional requirements define the business side of who, what, when, why, and how of the program. Without requirements, a technology solution cannot be delivered.
Cost-benefit analysis enables you to identify all the costs of a program, including software and hardware costs, development costs, support costs, opportunity costs, and weigh these against the benefits of the program, including increased revenue, decreased costs, greater user satisfaction, increased productivity, and any other considerations.
Also up for consideration at the program level are quality requirements, risk assessments, communication model, any legal or contractual considerations, as well as technology considerations, which will be the largest component of the program.
If a program is a new endeavor with new technology, our approach is to not commit to technology too early in the program process. The technology is a means to an end and the business and functional requirements should dictate technology selections. The program can and should include technology options with the door open to final selection once requirements are known in greater detail.
In addition to management for new programs, if you have an existing program that’s struggling, we can help you identify where the problems and gaps in underperformance are and steer the program back on course by setting or re-setting goals and expectations while maximizing existing technology.
Jump to Team Organization
While program management integrates the organizational components, project management is the process that produces decomposed deliverables that are part of the whole. Projects can vary in scope, size, and duration, can be cross functional, or specific to one or a few teams.
We have extensive experience in project management and negotiation and can manage projects for you, large or small, agile or waterfall, from inception to completion.
A project kicks off with an overview that summarizes project goals, problem-solution and project background, as well as scope, approach, milestones, estimated duration and delivery, and teams involved. The overview can also include cost estimates, known risks, quality standards, and communication plan.
The project approach identifies methodology for managing progress and deliverables. We support agile, waterfall, and hybrid methodologies in our practice. Agile is iterative and allows for continuous reprioritization of requirements throughout the project lifecycle. With agile, project output is carved up into a series of sprints, usually anywhere from two to four weeks in length. The advantage of agile is that it has greater flexibility, and deliverables are divided up into pieces small enough to be delivered in a single sprint cycle.
Both agile and waterfall project management methodologies uphold the fundamental tenets of software development, which are requirements, design/architecture, development, unit and system testing, and deployment. Agile is recommended for feature driven projects that use existing architecture. Waterfall or hybrid approach is recommended for architecture projects or projects where there are a lot of external dependencies.
Outward communication is an integral part of successful project management. Communication should include the project plan (detailed or summarized as applicable), progress on deliverables, timeline, user impact, and calls to action, if any. Communication updates should occur regularly as needed to keep users and stakeholders informed. Inward team communication can be managed through daily scrum meetings, weekly project meetings, project reports or other methods as needed, depending on your team makeup and geographical location.
Implementation, Deployment, and Post-deployment
Implementation and deployment are the process of taking developed application components and deploying into a production environment. Deliverables can be stand-alone or integrated with other applications. Productionalization conveys that the deliverables are tested first using test plans (unit, system, user) to ensure that all defects are identified and addressed. Productionalization also involves partnering with other teams as needed, including infrastructure, support, and operations teams, to ensure a smooth deployment. Also in consideration are training, adoption, documentation, a process for collecting user feedback, and compiling statistics on usage and performance.
Post deployment includes the process for maintenance releases and continuous engineering to fix bugs and make improvements.
Throughout a program lifecycle new projects are started and completed at various intervals depending on the overall program timeline.
As you are getting new programs off the ground and developing teams to support them, we can help you define team structure, team member profile, and organize your team around delivery and support. We have extensive experience managing team members, and coaching and mentoring them on how they can organize their work, perform their deliverables, communicate updates, as well as manage aspects of their own projects.