Different approaches for different scopes: How to tackle a medium-sized Drupal project
Transcript of Different approaches for different scopes: How to tackle a medium-sized Drupal project
Different approaches for different scopes:
How to tackle a medium-sized Drupal project
Drupal Camp Ottawa 2016 – Symetris.ca
Unlock your web potentialwith Symetris
***• Founded in 2004 – already more than 12
years!• 14 web specialists• Experts in open-source CMS platforms
Our team!
Our team!
• 14 Web Specialists• 3 Account Managers• 3 Project Managers• 8 Developers (50% Acquia certified)
Kyle SerebourWeb Developer
Matthieu GadratWeb Developer
About us
Agenda1. Objectives of the conference2. Measuring the scale of a project 3. Impacts of a medium scale project4. Recommendations and best practices5. Questions
1. OBJECTIVES OF THE CONFERENCE
2. MEASURING THE SCALE OF A PROJECT
Measuring the scale of a project 1. Criteria:
• Number of hours: 500 to 1500 hours• Duration: 6 to 12 months• Client Criticalness: Site that is critical to
the clients business operations• Complexity: 3 to 4 (on a scale of 5)• Size of team: 2 to 4 developers• It has to feel medium-sized for your
organization
Measuring the scale of a projectHow are we feeling?
• Going from a small project to a medium scaled one
• Going from a large scale project to medium
3. IMPACTS OF A MEDIUM SCALE PROJECT
Collaboration between developers• More responsibilities for each developer• Need to standardize working methods within
the development team• Incorporating a versioning system becomes
primordial
Duration of mandate• Considerable increase in the number of
deployments • The technical debt is being considered
Impact of the Technical Debt(Absolutely not scientific)
Hou
rs o
f dev
elop
men
t
Time
Quality control• More complex = more testing • More contributors to quality control • Dependance of features within each other
Impacts of a medium scale project for project managers
Number of contributors• The main point of contact may not be the
decision maker• Complex chain of command structure• Inclusion of an external consultant• Change of management to be considered
Importance of mastering the application
• More complex = More requests that could be linked to miscomprehension
• Importance of sharing our control over the application to the client
• Main contact may not be the end user
Management in several phases • Several deployments• Importance of confidence in the deliverables• A lot less test-coverage in a medium-sized
project compared to a large project• Emphasis on client expectations • Protection of the deployed data• Managing the guarantee and support of
Phase 1 during development of Phase 2
Managing “surplus” requests• No product owner for a medium-sized
project.• A Project manager for a medium-sized
project becomes a jack of all trades• Higher complexity which can impact the
transmission and understanding of needs• Mistakes in the estimates and scope
changes can result in a loss of control
4. RECOMMENDATIONS & BEST PRACTICES
Incorporating an automated deployment system
Advantages Disadvantages
● No more need for manual deployments
● Lower risk for errors
● Reduces the time of deployment
● Requires specific training of the team
● Increases the project prep time
Incorporating an automateddeployment system
Defining a clear testing plan
Advantages Disadvantages
● Reduces the amount of client feedbacks
● Ensures that one feature does not break another
● More confidence in our product
● Requires more discipline from the team
● Increases the time for development
Defining a clear testing plan
How we do it:
● Using Calendars to prepare Quality Control periods ahead of time
● Staffing more than one developer on the project so they can do the QA of each other’s tasks.
Establishing a code review system
Advantages Disadvantages
● Allows standardization of development methods
● Increases the expertise of less experienced developers
● Increases the quality of the project
● Best way to learn Drupal API
● Means more time to invest for the company
Recommendations & best practicesfor project management
Identify the decision-making structure and involve the decision-makersAdvantages Disadvantages
● Avoid having decisions that were made be revoked in the future
● Facilitates the transmission of messages (no intermediaries)
● Facilitates the creation of a collaborative environment
● More complex management of the schedule
Identify the decision-making structure and involve the decision-makers
● Asking questions at the early stages (Kick-Off) of the project to determine who the decision-makers are sooner than later.
● Frequent meetings and communications with the decision makers themselves
Tips:
Establish weekly meetings and profitfrom them
Advantages Disadvantages
● Facilitates follow-ups on KPIs
● Facilitates follow-ups on tasks
● Contributes to a seamless transmission of information
● Quickly identify issues (challenges)
● Be careful of the “too many meetings” syndrome
● Make sure to implicate only the appropriate people
Establish and profit from weekly meetings
A few tools:
● KPIs○ % completed vs. % of hours○ Client happiness rate
● Slack: https://symetris.slack.com/messages/drupal-north/● Progress report on tasks● Calendars (recurring events)
Establish and profit from weekly meetings
Progress report on tasks
0%10 - 50%60%70%80%90%100%
NewIn ProgressQA-QCQA-QCComm. ClientTo deployClosed / Celebrate
Development hasn’t startedDevelopment in progressThe developer has to do his/her QC / QAThe project manager has to do his/her QC / QAThe client has to do his/her QC / QAClient feedbacks done, ready to deployDone Yay!!! (High five!)
Establish and profit from weekly meetings
The kind of things we do in weekly meetings
● Project manager participates in the preliminary analysis● Review documentation and present to the client in person● Do the quality control with the client● Present a User guide● Offer training directly to the end users
Making sure the project manager masters the application
Advantages Disadvantages
● Filters “code 18”
● Helps with support and change management
● Reduces the amount of client feedbacks
● Requires more technical knowledge for the project manager
● Requires more time for management and training
Making sure the project manager masters the application
How we do it:
● Meetings between the developer and the project manager to explain and properly understand the application.
● Give enough time for the project manager to go hands on. (QA periods planned for them as well).
● The project manager redacts the user guide.
Rigorous management of “surplus” requests
Advantages Disadvantages
● Helps to stay on budget
● Helps in respecting the timeline
● Offers more control on client requests
● Can cause some frustrations for the client
● Source of stress for the production team
Rigorous management of “surplus” requests
A few tools
● Weekly updates on hours● Prioritizing new requests with the lead developer● Bank of hours sold with the project● Excel sheets can do the job for this, especially with
technologicaly challenged clients.
To recap
Dev Recommandations PM Recommandations● Incorporate an automated
deployment system● Define a clear testing plan● Establish a code review
system within the team
● Identify the decision-making structure and involve the decision-makers
● Establish and profit from weekly meetings
● Make sure the project manager masters the application
● Rigorous management of “surplus” requests
Thank you !
Questions?
Contact-us :
[email protected] [email protected]
PPT presentation will be available soon on Slideshare