Program Management Approach
Keystroke adopts a disciplined program management model which will successfully support the transition of evolving and mature technologies to customers. Key to putting in place a management model is finding the balance between governance, agility, flexibility, effectiveness and responsibility. It is imperative that this model provide the following essential benefits to effectively manage the technology development and transitioning of these technologies:
- A Systems Engineering Approach
- Improved Documentation Process
- Better Program Execution
- Management Decision Metrics
- Defensible Budgets.
The management model must:
- Ensure the identification and involvement of business stakeholders and customers early in the process.
- Incrementally manage a program of multiple concurrent projects which consists of multiple releases or sprints.
- The model will manage the relationship between the client and service provider/s.
- Will allow the program to be broken down into manageable components that can be reviewed and reported at the end of each phase.
- Present to Steering Committee and Executive Leadership to evaluate and monitor progress against the approved business case and budget. It will also allow for more control of the program by the client.
- At the end of each phase the management decision metrics will be used by the client to decide to either advance to the next phase or abandon the program.
Keystrokes approach to the delivery of the required services will be to include the project requirement as a continuation of a Change Program. The key elements to this approach will be:
- Program Initiation
- Keystroke will review the merit and state of the deployment and adoption of the solutions in their current state (As Is), and map these to the desired future state (To Be). A major benefit of our value proposition is that this can be done in a highly efficient and fast manner given our experience and delivery track record.
- Emphasis will be placed on the level of business change required in order to aid the adoption of the systems within the client environment to ensure project success.
- Team Structure
- The teams across all streams of the program will work as one team, providing backup and input where needed;
- The team can best be described as a dynamic resource team, which offers the client the flexibility of exchanging skills as the program demands.
- Â Change Mechanisms
- We firmly believe that technology should be used to support business processes rather than be the catalyst for change. Business Process change will therefore form an integral part of the program.
- Dependencies and Risks
- Successful delivery of this initiative remains dependant on availability of trust and team work, data, data quality, completeness of specifications, availability of key stakeholders and stability of platforms;
- This team is best equipped to mitigate risks and follow strategies to ensure these risks and dependencies do not become impediments.
Project management is applying knowledge, skills, tools and techniques to balance Project Scope, Time and Cost (the Triple Constraints) in order to achieve the ultimate project goal.
It is our understanding that the market have predominantly adopted PRINCE2 as the project management methodology, with PMBOK as the underlining project management body of knowledge. Keystroke will strive to unlock IT value by using a combined PMBOK and Prince2 methodology.
Every project passes through different processes using the concept of ten knowledge areas. These processes apply globally and across industries. They are arranged into five groups defined as Project Management Process groups.
The 5 PMBOK Process Groups 5th Edition
Every project needs the 5 Process Groups. These are the second large piece of the backbone of the PMBOK Guide. The Process Groups are:
These processes help you define a new piece of work either a complete new project or the phase you are about to begin. They ensure you have authority to proceed.
These processes help you define objectives and scope out the work to be done. They also encompass all the work around planning and scheduling tasks. Again, they can cover a complete project or just the phase you are working on right now. Or you might be closing one phase and planning the next in parallel.
You do these processes as you carry out your project tasks. This is the delivery part of project management, where the main activity happens and you create the products.
Monitoring and Controlling
These processes let you track the work that is being done, review and report on it. They also cover what happens when you find out the project isn’t following the agreed plan, so change management falls into this Process Group. You will run these processes alongside those in the Executing Group (mainly, but alongside the other Groups too) so you monitor as you go.
Finally, these processes let you finalize all the tasks in the other Groups when you get to the point to close the project or phase.
Keystroke has successfully adopted this project management approach together with using the Agile development methodology to ensure an incremental and iterative software solution. A proven risk averse approach
As per industry best practice methods for efficient software delivery, it is recommended that Scrum / DAD, an Agile software delivery framework for managing software projects or application development, be used.
The Scrum approach defines the iterative and incremental agile software development framework that is used to develop the solution. Following the Scrum approach will be most favourable, as all parties will recognise and understand the methods that are recommended for the envisioning and development of the program.
The departmental teams that will be introduced to Scrum for the first time will be guided by the Scrum team within Keystroke. The teams Scrum capability consists of qualified Scrum practitioners including Scrum trainers, Scrum masters, Product Owners, and development personnel (designers, analysts, developers and testers). These experienced resources have developed and delivered software to a number of clients and across a number of environments and will definitely assist and ease the clients transition process.
Due to the importance of organisational structure relating to the Scrum / DAD environment and the manner in which teams are created and organised for Agile delivery, it is vital that change management, risks and assumptions be carefully considered when introducing an Agile software delivery framework.
It is our understanding that clients may use a hybrid version of the Agile methodology.
Change control is a traditional project management process for managing change. A traditional project change control typically consists of filling out a detailed change request form which includes attributes such as the detail of the change, impact to the project, risks, mitigation’s etc. It also requires approval from a number of stakeholders as it often affects the scope and therefore, the cost of a project.
Scrum makes use of an agile approach that focuses on response to change, rather than following a plan. The main mechanisms used for monitoring and controlling change requests are the Product Backlog* and the Product Owner**. When a new change request is identified, the Product Owner will evaluate the risk, business value, dependencies and date required. This will allow him or her to prioritise the change on the Backlog.
This is one of the reasons that Scrum does not have milestones, but rather it refers to projects that the team can complete within a time period, based on the current work rate or velocity. Due to the agility of Scrum, this is always changing, yet it is tracked and the opportunity cost of moving the priority of one item over another becomes visible immediately. The key is to keep the process nimble and only expand on in-depth as is necessary.
With our past experience we would suggest a hybrid approach for change management.
This approach would still follow the clients current change request process, but we would keep the process lightweight and eliminate as much waste as possible. Our suggested approach would be as follows:
- Log changes to the Product Backlog and the clients ticketing system.
- Eliminate as many approvals as possible.
- Have a light change control forum, if necessary.
- Keep the stakeholders and operations teams involved.
* The Product Backlog is an ordered list of requirements that is maintained for the product. It consists of features, bug fixes, non-functional requirements, etc. whatever is needed to deliver the product.
** The Product Owner represents the stakeholders and is the voice of the customer. He or she is accountable for ensuring that the team delivers value to the business
This approach is represented below:
This approach allows the team to track all the changes and have visibility to the impact of these changes on the broader environment, while still being able to monitor the features that will be included and excluded on a real-time basis.
We take care to provide best quality software in balance with the three dimensions i.e. Scope, Time and Cost.
Software quality assurance enables a high level of confidence that software is free from vulnerabilities, either intentionally designed into the software or inserted at any time during its life-cycle, and that the software functions in the intended manner.
The Keystroke team has developed a stringent Quality Assurance Methodology to ensure the excellence of the software that we develop.Â We understand quality software to mean, software that:
- Is free of defects and vulnerabilities.
- Provides the required security access layers.
- Meets the requirements of the business.
- Improves operational efficiencies and decisions making.
- Is scalable (vertically and horizontally).
- Promotes user adoption by ease of use (user friendly).
- Inspires excellence.
Keystroke takes a Total Quality Management (TQM) approach to software development and do not merely view it as a discreet part of the Software Development Life Cycle. Software quality starts at the Inception Phase of the project where requirements are scoped during a requirements gathering process with all stakeholders involved. The quality of the software will be strongly influenced by how well the business and functional requirements are documented and ratified by all stakeholders for accuracy and completeness.
The following are steps taken to ensure quality during the full SDLC:
- Ensuring highest level of competent resources.
- Constant collaboration amongst all resources and stakeholders.
- Communication strategy to aid in TQM.
- Governance of all artefacts signed off and agreed by all parties.
- Test Plans based on functional specifications and other related artefacts.
- Review of all artefacts by all relevant stakeholders.
- Unit testing by developers.
- Dedicated software quality testers following a stringent software testing regime.
- Automation of test cases for regression testing purposes.
- Factory acceptance testing.
- User acceptance testing.
- Change management initiatives to drive user adoption and understanding.
- Knowledge management strategy to aid in knowledge transfer where appropriate.
The Software Testing Regime comprises of:
- Development of test plans with exhaustive scenarios (black box, white box, positive and negative).
- Requirements traceability matrix.
- Scenario / use case testing.
- Integration testing.
- Load testing including performance testing.
- Security testing.
- Recovery testing.
- Usability testing.
- Smoke testing.
- Regression testing.
- Installation testing.
- Test results documentation and governance.
Regular update of test automation and injectors for regression testing purposes.
Training and Knowledge Transfer
A critical success factor in the adoption of the application development program is to ensure that all users, including executive management, are able to extract the business value from the systems, relevant to their departmental projects.
Since the majority of the users and managers are unfamiliar with the systems, it is also vital that the team implementing the solution cater for training and support of the adoption of applications across all business areas.
We believe that by showcasing the business value against the backdrop of business pain points that are eradicated or reduced through the successful implementation, the adoption process can be embraced by all departments. Additionally, by providing adequate training and knowledge transfer for all users on the relevant systems, each user will be empowered to deliver on the value that has been demonstrated.
Through many years of experience in delivering successful training programmes and knowledge transfer engagements at many corporate and public entities across South Africa, the Keystroke team has developed a documented approach that provides the following, as depicted below:
- Knowledge transfer model.
- Target audience assessment.
- User roles.
Unless each department is able to see the business value in action and understand how implementing the solution will make a difference to the way that they deliver, the adoption process will take much longer and such delays will have a knock-on effect across the program of projects.
Effective documentation is key to any project and serves to inform stakeholders of what is agreed to be delivered, progress made, risks and information crucial to on-going support and enhancements.
Effective documentation will consider its target audience and present content in the appropriate technical or functional language. Professional templates will include a record of document versions, a list of acronyms, abbreviations and terms, and well referenced content, tables and figures.
Documentation forms an integral part of the entire process and should not only be prepared after a solution is delivered. The type of documents or artefacts to be expected should include:
- Business Requirements Specification.
- Functional Specification.
- Project Charter.
- Technical Specification.
- Quality Assurance guidelines.
- Test Scripts.
- Report on test results.
- Operations Guide.
- Support Hand-over documentation.
Documentation follows an internal and external (client) review process before the final version is submitted for acceptance and signature.
Change Navigation is understood to mean systematically and deliberately influencing the human and organisational variables associated with a complex change to achieve desired results.
We recognise that a premeditated, planned, proven and holistic process for change must be brought to bear in order to manage environments in flux. Our approach deals with skills, mind-sets, style, culture and norms of people that are impacted and affected by the change as well as those responsible for making it happen.
We root our approach in the context of the organisational strategy, processes, and structure of the target environment and drive the change agenda using our change levers in concert with the relevant measurements. Our solution is built to manage complex change encompassing multiple stakeholders, focusing on the tactical, transactional and strategic processes across functional domains. The main focus is on driving impact and value derived from the improvements to choice, quality, cost and responsiveness which actively managing Change brings.
Our Change Navigation approach focuses on optimising acceptance, maximising readiness and supporting the success of your change initiatives. Our tried, tested and ever evolving model serves as a guideline to our Change practitioners when addressing organisation specific challenges. As the diagram below depict, we concentrate on three main target audiences, namely Leadership, Project Teams and impacted stakeholders. Communication is also a key lever in our toolkit which contains numerous sample deliverables, templates and key accelerators. Change Trackers are also deployed to measure true change impact and value.
Change Management Focus
Where our approach has been deployed we find Executive leadership that actively leads towards the desired future state largely contribute to success. Actively managing change enables organisational architecture and culture that drives engagement with the new world of work at a people, process and system level. A well-managed change environment promotes individual willingness, ability and commitment, empowering them to enhance productivity through their effective application of new skills and knowledge. Moreover it results in stakeholders thoughts, feelings and actions aligning with the desired outcome.
The direct business benefits are:
- Timely benefits realisation.
- Improved decision making.
- Stable employee productivity.
- Employee performance improvements in the face of change.
- Strengthened dynamic and adaptive organisational responses to change.
- Effective capability transfer between our skilled resources and client counterparts.