Leading a project to
successful closure requires right combination of skills, experience and
confidence. Here are some guiding principles to execute projects smoothly :
Why Adopt Best
Practices?
- We want to deliver the right solution within defined timelines
- We want to Identify problem areas at an early stage and take corrective actions
- We want to bring efficiency, effectiveness, standardization, and predictability to our delivery model
Best Practice: Adopt the Agile Mindset
- Create an enabling environment & empower your team members to work independently with responsibility & ownership
- Promote upfront, open communication
- Best output can be achieved only when people enjoy what they are doing , help them understand the value of their work
- Any process which does not add value to project needs to be re-evaluated
- Believe in incremental evolution: to build a perfect artifact it may have to go through several iterations
Best Practice: Understand your project Objective
- What is the main objective of the project? What are the key success criteria for Business?
- What are the current pain points /challenges business is struggling with and how is this project going to help overcome those challenges?
- How does this project deliverable fit into the Business Road map?
Examples for some of the drivers for your
project :
·
Competitive edge, rich
user interface, rich content, quick & easy maintenance of site, real time
content updates
Best Practice: Define your Constraints / Risks
- Do you see a gap in requirements understanding?
- Do you need to deliver in a squeezed timeline? Example: Business demands "Go live" within next 4 months
- Is your team geographically distributed? Are there any challenges within teams? Dependencies within teams. Example: Design team onshore and tech team offshore
- Are there any third-party dependencies? Example: integrations like social plugins, sales force, loyalty, etc
- Do you have the right team structure for each track of activity? Example: Enough QA, design strength
- Are there any activities that are beyond your scope but are going to affect you? Example: Content population, translation, data migration
Best Practice: Plan Upfront
Plan for the following
upfront :
- What are your high-level timelines? How are you going to divide the work in iterations?
- What are the roles and responsibilities of each team member? What are the external dependencies?
- How do you plan to communicate with different stakeholders
- What are the tools that you are going to use and for what purpose? Eg: tools for tracking, bug management, requirement management, project planning, etc
- What are the activities that can be automated? eg: Quality check, deployment, performance analysis, etc
- What best processes and engineering practices can you implement to bring efficiency to the team?
- What are the environments you will require for your project execution and when? eg: dev, qa, prod, staging, etc
- How are you going to track and report progress?
- How will you manage RAID?
- How will the scope be managed?
- How will you track Quality and defects
- How will your user stories flow from inception to completion
- Team Ramp up planning
- Team Building, Feedback & Appreciation Framework
Best Practice: Define Checkpoints at every stage
<<Coming Soon >>
Best Practice: Lookout for warning signs
Lookout for potential
problem areas. The earlier the problems are detected the easier it is to manage
them.
Warning signs may include :
- A small variance in schedule or budget starts to get bigger, especially early in the project
- You discover that activities you think have already been completed are still being worked on
- You need to rely on unscheduled overtime to hit the deadlines, especially early in the project.
- Deliverable quality or service quality starts to deteriorate
- Approvals for deliverable not received on time can impact ongoing work
Best Practice: Define the Review Process
Identify SME for each
track and ensure that the following activities are reviewed & improved at
appropriate times:
- Requirement definition / Story definition
- Ensure that the quality of the story is good. It captures all the information required. Does it specify Acceptance criteria clearly? is it calling out Dependencies or integration Details?
- Review by senior BA, Tech Team for quality of the story
- Review by Product owner
- Visual Designs ( UX /VD)
- Review to ensure technical feasibility & conformity with development standards
- Review by Senior Designer for quality of work
- Review and approval By the client before it's passed on to the development team
- System Architecture & Design
- Review by Senior Architect
- Review & Approval by Client
- QA Activities - Test Cases, Defect Descriptions
- Review of strategy by QA Manager
- Review by the QA Manager for each Sprint
- Is our QA Plan covering all areas: functional, regression, creative, usability, etc
- Development
- Code Review by Architect for each Sprint
- Automation of Code review if possible
- Coding Guidelines: review by Senior Architect
- Functional review by BA for each sprint
- QA review during development to identify gaps upfront
- Creative Review by the Design team for each Sprint
- Full Regression testing ( For all scopes delivered to date ): preferably Automat it
- Build & Release process
- Review the Release process for efficiency
- Review if we have clearly defined branching & merging strategy
Best Practice: Project Tracking
Develop Metrics to
cover the following for each sprint :
·
·
·
Total Estimated effort
VS total burned effort VS total effort required: this will help you predict
·
Number of defects in
each sprint: Area of defects: functional, UI, Code review, etc
These metrics will help in doing objective progress checks
Best Practice: Do Retrospective & improvise
A Retrospective should
be done after each iteration to identify
- Improvements in processes
- Technical Improvements/learnings
- Improvement in testing
- Communication & Planning
These should be used as a guiding principle to improve for
future sprints. Also, these learnings should be passed back at the organizational level for broader benefits.