Opening a new code base involves changing source code control labels, pushing code, creating build and release infrastructure and database work and the contribution from people in CM, Product Packaging, AdminIT, dBA, Dev and QA
In 2007 50.8 weeks of elapsed time was spent opening 4 code base suites with the longest taking 14 weeks
This was unacceptable to the business and a Lean Six Sigma process improvement activity was initiated to redesign the process with the goal to reduce the time to execute the open code base tasks to 2-3 weeks.
Opening the code base for EMR 9.10.1 piloting the new process and involved 10-15 people across approximately 10 organizations
Incorporates the lessons learned from the Lean Six Sigma activity with the focus on project planning, formal project management, better task ownership and communications management
Project Scope Statement
To deliver a new code base with the new source code labels, build and test infrastructure in place so that Dev can check in and test their code.
Project Management Models
Companies large and small have their own Project Management models whether they are formal or informal, heavily structured or very flexible but they all have one thing in common………they can be mapped to all phases of the project lifecycle
Phases of the project
Identify and commit to project.
Begin to define and formalize it
Develop a plan to accomplish the goals of the project
Carry out the plan
Monitor project status, performance against plan and corrective actions
Acceptance and closure
Every project large or small goes through all phases of the project though different tools or techniques may be used based on the size, complexity or duration of the project.
It is not one size fits all, the management of a project is tailored to fit the needs of each project.
As part of the R&D Release strategy a new release is needed to contain server side changes and other enhancements that are unable to be delivered via hot fix or service pack
This project will open the code base for the new release
Approved by R&D VP
Assign Project Manager
Assigned by Program Manager to manage the project
Process defined as part of Lean Six Sigma activity and tasks and effort estimates will be used as starting point
This project will be the pilot of the new process
Timing of project to be coordinated with hot fix activity currently in progress to minimize the amount of fixes needing to be ported to the new release
Manager of the CM group is the main stakeholder/sponsor and owns opening the code base
Planning started weeks in advance of the anticipated need for a new code base identifying and working the planning tasks with the largest lead time
Worked with stakeholders to define the scope statement for the project that all can agree on.
The challenge was that to CM opening a code base means one thing and to Dev it means something else.
Worked with management to get resources from EMR and Vision Dev, EMR and Vision QA, Vision and EMR CM, Product Packaging and AdminIT assigned and committed
BIGGEST challenge was getting management to commit resources as this being there main task
Worked with team members to identify project tasks, estimate effort and understand dependencies
Created a project task checklist with tasks and owners assigned and got approval from team members
Used by all team members as the reference document
Updated on a daily basis with task status and actual effort recorded
Receiver list created in Outlook for use in sharing all information with stakeholders
Daily stand up meetings to be held at 9:30 to review progress and plans for day
Daily email to stakeholders with project status, updated checklist and open issues
Worked with the team to identify potential risks and develop mitigation plans should they be encountered
Some risks identified were:
Continued resource commitments
Tasks that were not well understood by owner
Impact of manual vs automated upticking of files
Risks discussed at daily stand up meeting
Milestone Review Meeting
Meeting with stakeholders to review all the planning tasks and prerequisites have been completed and get approval to enter the execution phase
Key item that needed to be resolved was EMR R&D management committing resource to project.
Off and Running
Coordinating the execution of the tasks outlined in the project checklist
Check in with team members throughout the day to keep informed
Aim for transparency and being able to verify results
Held daily as outlined in the communication plan to review previous days progress, tasks planned for the day and review issues and risks.
Email sent to stakeholders daily as outlined in the communication plan with current status of tasks and issues
When issues are encountered work to get right people involved and issue addressed as quickly as possible
Some issues encountered were:
Errors found during builds needing to be debugged and corrected prior to moving on to the next task
Other work activities taking priority over project tasks
Manual upticking strategy not effective and new strategy needed
Manage Ongoing Activities
Communication with team members throughout the day
Manage the plan
Track tasks completion actual vs planned and adjust plan accordingly
Track task effort estimates vs actual
Take Corrective Action
Took action if any of the project variables started to go off track
Some actions taken were:
Elicit expertise from other teams to provide input on specific issues
Add additional resource to activity when true nature of it was understood
Meet with stakeholders to get their input on plan to change scope of activities for this project
Manual upticking of EMR files was taking over twice as long as originally planned and an additional resource was added to help mitigate the risk
This task is a excellent candidate for automation and the decision needed to be made whether we complete the manual work and do the automation after the project was completed OR invest in the automation as part of the current project
Stakeholders agreed to investing in the automation as part of this project
QA team ran regression/acceptance/sanity test cases on the test environment to verify feature functionality
Email sent to entire Dev and QA organization notifying them the code base is open and they can start checking in code and a regular build schedule started
Final Team Meeting
Meeting held to close of project and release people back to Dev and QA
Lessons Learned Meeting Held
Up-front planning prior to the execution phase was key to the success
Automation of upticking process is key for ongoing improvement
Resource commitments continues to need to be emphasized
dBA tasks need to be distributed among Dev to avoid dBA to become critical path
Owners need to better document tasks for better knowledge transfer
Project Artifacts Posted to Sharepoint
Checklist and Process Flowchart
The project was considered a SUCCESS by everyone involved
Project completed in 17 days against an original target of 15 days, a huge improvement over the 13 weeks, on average, it took previously
Planning was key to the project success.
Identifying key items that needed to be addressed before the execution phase began saved a huge amount of time later on.
Having a milestone review meeting before leaving the planning phase forced the key decisions to be made
Management commitment to providing dedicated resources was crucial. It had to be firmly managed daily as there was ALWAYS the temptation for people to pulled off onto some other activity
Having a strong sponsor helps get other organizations attention if not getting the necessary focus
Value of Process Improvement
This was the pilot of a process that was designed as part of a Lean Six Sigma process improvement activity. The value to the company is reduced costs, greater predictability and more effective use of resources.
Should always be looking for ways to improve
Clear ownership of deliverables
During planning phase all tasks were identified and single owners assigned to the tasks based on discussion among team. This allowed there to be precise communication between team members and warm hand-off of tasks.