Session given during the Drupal Con Prague 2013.
https://prague2013.drupal.org/session/drupal-fixed-budget-projects-art-estimates
In many countries accross Europe, websites projects are bought using fixed budget engagements from vendors.
RFPs we receive have often a very poor level of details, while client still wait for a fixed budget and timeframe.
During this session we'll present how we do at Adyax, bidding on fixed budget projects only to ensure that projects are always delivered and we get some money for it.
Session will cover several key points, like :
How to analyse and RFP and convert it to a Drupal Project Plan
How to count templates and related charges
Reading between the RFPs lines, detect those features that are not clearly described
How to avoid being the most expensive bidder by providing options
Some sharing about our estimation rules, tips & tricks
How to prepare a detailled planning
Important risks that can blow up your margins
In what Drupal is so different from others CMS / Frameworks
How to keep an eye, during the project on your margin
How to deal with change requests and evolutions
How to make your customer happy even when you ask them more money and/or time
10 usual mistakes that any Drupal Shop do.
Session will be supported with a set of concrete examples...
Using Drupal to publish Web, Print and Mobile from same CMSAdyax
Session done during DrupalCon Barcelona 2015. Presenting a global publishing platform using Drupal. Single back-ffice is used to print over 200.000 magazines weekly, manage the web-site, paywall and mobile content.
Slides for a presentation I gave on May 4, 2011 at the GTA PHP user's group (http://meetup.gtaphp.org) about components for modern PHP application stacks
Using Drupal to publish Web, Print and Mobile from same CMSAdyax
Session done during DrupalCon Barcelona 2015. Presenting a global publishing platform using Drupal. Single back-ffice is used to print over 200.000 magazines weekly, manage the web-site, paywall and mobile content.
Slides for a presentation I gave on May 4, 2011 at the GTA PHP user's group (http://meetup.gtaphp.org) about components for modern PHP application stacks
The latest iteration of my Lightswitch talk contains a structure overview before the demo and then goes into detail on the themes and extension model in the product.
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...Sencha
Web applications are becoming increasingly data intensive and complex. Yet, users demand a great user experience, including blazingly fast speeds, across many device types. In this talk, we will show you how you can dramatically improve the performance of your web applications by using Sencha Ext JS and Ext Speeder. You will learn how to: accelerate your back-end data requests up to 10x by leveraging sophisticated in-memory, object-oriented techniques, significantly improve application responsiveness without making any modifications to your client Ext JS application, and quickly get started with database acceleration in standard J2EE environments.
Caching Strategies for Scaling Drupal: Common Missteps vs Best PracticesAcquia
Is your cache performing the way you want? Do you have issues with stale content or too many hits to origin? Cache plays a very important role in the overall success of your application, allowing you to deliver faster responses to more users, but sometimes Drupal caching can be complicated and difficult to get right.
Join us for this webinar with Corey Wood, expert Drupalist and Technical Account Manager Team Lead at Acquia, as we talk through common missteps in Drupal cache configuration and discuss best practices for scaling high performance Drupal applications. Topics covered will include:
-The importance of properly understanding Drupal’s cache TTLs
-When to use Page Cache, Block Cache, Views Cache, and Panels Cache
-Workflows for cache invalidation, purging, and warming
-External cache and proxy caching with Memcache and Varnish
-What’s new and improved in Drupal 8
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
The cloud has become one of the most attractive ways for enterprises to purchase software, but it requires building products in a very different way from traditional software
Your Roadmap for An Enterprise Graph StrategyNeo4j
Speaker: Michael Moore, Ph.D., Executive Director, Knowledge Graphs + AI, EY National Advisory
Abstract: Knowledge graphs have enormous potential for delivering superior customer experiences, advanced analytics and efficient data management.
Learn valuable tips from a leading practitioner on how to position, organize and implement your first enterprise graph project.
Actively looking for new opportunity in Business Intelligence, Data Integration and Data Warehouse. Hands on experience in data analysis, providing ETL Solutions and building reports, dashboards and framework for business.
Tools/Technologies:
-Databases: SQL Server 2012, Teradata, MySQL.
-Reporting Tools: Pentaho Report Designer, Tableau.
-Dashboard Tool: Pentaho CDF, Pentaho CDE, Saiku.
-ETL Tools: Pentaho PDI, SSIS
-Scripting Languages: Python,UNIX Shell Scripting, Java script.
-Cloud: AWS – S3, RDS, EC2, DMS, Glue , snowflake, Metallion
The latest iteration of my Lightswitch talk contains a structure overview before the demo and then goes into detail on the themes and extension model in the product.
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...Sencha
Web applications are becoming increasingly data intensive and complex. Yet, users demand a great user experience, including blazingly fast speeds, across many device types. In this talk, we will show you how you can dramatically improve the performance of your web applications by using Sencha Ext JS and Ext Speeder. You will learn how to: accelerate your back-end data requests up to 10x by leveraging sophisticated in-memory, object-oriented techniques, significantly improve application responsiveness without making any modifications to your client Ext JS application, and quickly get started with database acceleration in standard J2EE environments.
Caching Strategies for Scaling Drupal: Common Missteps vs Best PracticesAcquia
Is your cache performing the way you want? Do you have issues with stale content or too many hits to origin? Cache plays a very important role in the overall success of your application, allowing you to deliver faster responses to more users, but sometimes Drupal caching can be complicated and difficult to get right.
Join us for this webinar with Corey Wood, expert Drupalist and Technical Account Manager Team Lead at Acquia, as we talk through common missteps in Drupal cache configuration and discuss best practices for scaling high performance Drupal applications. Topics covered will include:
-The importance of properly understanding Drupal’s cache TTLs
-When to use Page Cache, Block Cache, Views Cache, and Panels Cache
-Workflows for cache invalidation, purging, and warming
-External cache and proxy caching with Memcache and Varnish
-What’s new and improved in Drupal 8
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
The cloud has become one of the most attractive ways for enterprises to purchase software, but it requires building products in a very different way from traditional software
Your Roadmap for An Enterprise Graph StrategyNeo4j
Speaker: Michael Moore, Ph.D., Executive Director, Knowledge Graphs + AI, EY National Advisory
Abstract: Knowledge graphs have enormous potential for delivering superior customer experiences, advanced analytics and efficient data management.
Learn valuable tips from a leading practitioner on how to position, organize and implement your first enterprise graph project.
Actively looking for new opportunity in Business Intelligence, Data Integration and Data Warehouse. Hands on experience in data analysis, providing ETL Solutions and building reports, dashboards and framework for business.
Tools/Technologies:
-Databases: SQL Server 2012, Teradata, MySQL.
-Reporting Tools: Pentaho Report Designer, Tableau.
-Dashboard Tool: Pentaho CDF, Pentaho CDE, Saiku.
-ETL Tools: Pentaho PDI, SSIS
-Scripting Languages: Python,UNIX Shell Scripting, Java script.
-Cloud: AWS – S3, RDS, EC2, DMS, Glue , snowflake, Metallion
Maximize Big Data ROI via Best of Breed Patterns and PracticesJeff Bertman
******** Abstract: ********
Not long ago the question was whether your organization had big data. Did you have
the volume, the velocity, the technology. Now those basics are largely given for most of
the people attending this event. The path to success is still fuzzy, however, with so many
technologies to choose from – and so many ways to use them.
This presentation triangulates in a holistic manner on the modern business dilemma:
how can we leverage technology to improve revenue, profit, market share, and numerous
other success criteria. That said, this is not about the analytics or KPIs -- although it is
about measurable improvement. It’s about lining up the right technologies and using them
in effective, proven ways to maximize Return on Investment (ROI). Since the slant here
is holistic, we’ll show how to blend infrastructure, tools, methods, and talent to avoid and
constantly trim technical debt… and to produce success stories that are consistently
repeatable, not a byproduct of individual heroics.
Presentation of issues and solutions we've faced during our growth over a period of 8 years. We cover several subjects like sales, RFPs, KPIs, quality controls, production, teams and motivation.
Session donnée à Drupagora 2016. Pourquoi utiliser Drupal plutôt que .NET, Java ou Symfony pour la réalisation d'applications métier stratégiques pour votre entreprise.
Multiple countries & multilingual e-commerce platforms using DrupalAdyax
In this session we go over our experience developing a large, international e-commerce site that is multilingual, multi-country and connected to SAP.
We’ll cover: management of several countries and associated workflows, importing and exporting content, CDN integration and optimization, SSL issues and Geo-location by IP.
L'estimation des projets Drupal n'est pas plus simples ou plus complexe que celle des projets web en général.
La gestion des projets au forfait est dangeureuse sur de gros projets et peut couter cher aux agences et SSII.
Nous proposons de partager ici les points importants, metrics et outils que nous utilisons à Adyax pour l'estimation et la gestion des projets Drupal au forfait.
Conférence donnée lors du #drupagora 2013.
Présentation des possibilités de Drupal pour des applications métier des entreprises et non plus comme simple CMS pour gérer du contenu.
Réaliser un site e-commerce multi-pays et multilingue connecté à SAPAdyax
Retour d'expérience sur la réalisation d'un gros site e-commerce international, multi-pays et multilingue, connecté à SAP.
Session donnée lors du Drupal Camp Paris 2013.
Gestion de plusieurs pays et des workflows associés
Import et export du contenu
Optimisations et intégration CDN
Problématiques SSL
Géo-localisation par IP
Présentation du CMS Drupal lors de la conférence AgoraCMS 2013.
Présentation Drupal
Héberger son site Drupal
Migration vers Drupal
Les 10 commandements d'un projet Drupal réussi
Histoire et raisons du succès de Drupal
Cours de 1h30 pour HETIC - H4.
Architecture Web.
Présentation générale de l'architecture web, bons et mauvais exemples.
Présentation des load balancers & proxys
Présentation des caches (memcached, varnish...)
Cloud
La création d'un site multilingue ne se limite pas avec Drupal à l'installation du module i18n. Il faut prendre en compte de nombreux paramètres comme : la détection de la langue, la lisibilité des polices de caractères, la détection de la langue, gestion des langues exotiques, redirection, workflow de traduction etc...
De la même manière, la gestion de de systèmes multi-pays
La gestion des assets médias (images, vidéos, sons, html5, graphiques interactifs, twitter, facebook, etc...) n'est pas simple par l'absence d'un outil DAM (Digital assets Management) digne de ce nom.
Dans cette présentation découvrez les trois solutions pour gérer de manière professionnelle les médias dans Drupal, les insérer librement dans les éditeurs de texte riche, recherche et réutiliser les médias, gérer les droits, etc...
Session donnée lors du salon Drupagora 2012.
Session donnée lors du Drupal Camp Lyon 2012. Présentant les différentes alternatives pour gérer la mobilité avec Drupal.
- Responsive Design
- Contextes mobiles (themes mobiles)
- Applications Natives et intégrations en Web Services ou HTML5
Drupal + Magento pour la plus puissante plateforme e-CommerceAdyax
Présentation donnée lors du Bargento 2012 à Paris. Forces et faiblesses de Magento. Forces et faiblesses de Drupal et de Drupal Commerce.
Grace au bridge d'intégration Drupal et Magento vous avee le meilleur de Drupal et le meilleur de Magento.
http://www.drupal.org/project/magento
eCommerce sur Ipad et autres tablettes tactilesAdyax
Appercu de ce qu'il faut et il ne faut pas faire lorsqu'on souhaite faire du commerce électronique sur les tablettes tactiles, telles que iPad, Android, etc...
Réussir son projet Drupal. Plusieurs clefs du succès par Maxime TOPOLOV (@mtopolov) CTO de @adyax, Leader Européen sur Drupal.
Méthodes qui marchent
Equipe projet
Organisation
Estimation du projet
Choses à faire et à pas faire....
Drupal usage by example : World Food ProgrammeAdyax
Presentation done during Drupal Gov Days in Brussels. #drupalgovdays
World Food Programe has an extensive usage of Drupal platform. See how, trough 3 examples : main web site (www.wfp.org) freerice (www.freerice.com) and weFeedBack (www.wefeedback.org)
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
16. What do we need to
estimate ?
What do we need to
estimate ?
17. S1 : Simple site : no authenticated trafic, less than 10 content types,
less than 20 templates, no external data flow, no or simple workflow
S2 : Medium site : simple user related features like comments, voting,
sharing, from 10 to 20 content types, from 20 to 50 templates, some
simple XML data sources, workflow and custom business features,
simple data migration
S3 : Complex site : transactional web site with high trafic (e-
commerce, social network, intranets), more than 20 content types,
more than 50 templates, many custom business logic and several
complex data sources, advanced data migration
Site complexity s1, S2, S3
18. Front-end complexity F1, F2, F3
F1 : Standard desktop output. Site is mostly blocs based, structure is
simple. No front-end animations, not much Javascript. No accessibility.
No mobile support. IE10+, FireFox, Chrome & Safari support.
F2 : More advanced front end with a mobile version for some templates.
Some basic front-end JS animations. Basic level of accessibility support.
IE8+ is now supported too. iOS & Android last two versions support.
F3 : Full-responsive design with 3 break-points. Level 2 of accessibility
support. IE6+ (degraded mode) support. Responsive tested in iOS,
Android, Windows Phone, UC Browser, Opera mini.
19.
20. Drupal & modules install and setup
S1 : 2 to 3 days
S2 : 4 to 7 days
S3 : 8 to 15 days
21. Couple of days to setup :
Redmine,
Users,
Mailing lists,
etc...
27. Data migration per content type
From Drupal : 1 day
From Structured DB : 2-3
days
From HTML : hell
28.
29. EACH DEPLOY COSTs YOU $$$
Drupal Clouds* : 0,5 days
Capistrano like : 1 day
Old School : 3 days
* Acquia Managed Cloud, Commerce
Platform, Pantheon
40. User centric RFP
Detailled presentation of features...
...but spreaded across several user stories.
You’ll need to be careful with templates and site structure...
...and with SEO, Analytics, Contexts, etc...
42. page centric RFPs
Easy to count templates
You’ll need to be carefull with business rules (why this
magic bloc actually appears on that particular page) and the
back-office (you need a dashboard for that ? really ?)
44. page centric RFPs
Easy to get features
You almost have to imagine the templates, contexts and
probably back-office features would not be described.
46. HIDDEN COSTS
Back-office clean up and theming
Workflow, notifications and user permissions
WYSIYWG setup, CSS clean up
Optimisations and architecture fine tuning
48. avoid being the most expensive
Be precise in your quotes. Describe exactly what you’ll do. Usual
number of rows in a quote : 20 (S1), 50 (S2) or 100 (S3)
Add as much options as you can.
In case of unclear feature, take low level estimate and explain exactly
what you’ll provide.
...or underestimate your build and bet on the run (dangerous strategy
usually employed by big IT companies)
51. Redmine & timelogs
1 line in your quote = 1 super task in redmine
Any issue must be a subtask of a quote-based super task
Force everyone to log time daily (specially project managers)
55. timelog take home messages
Everybody must log time
Keep the link between your initial quote and actual issues & tasks
Share estimates with developers & QA so they can warn you if you go
out of scope.
Stick to the plan, even during panic periods. (Yeah, i’ll log my hours next
week, we have a release now...)
56. Credits & Debits
how to manage change requests keeping
client happy
Credits & Debits
how to manage change requests keeping
client happy
58. change requests take home messages
Being precise in the initial quote, makes life easier when you need to bill
changes
If possible, don’t send many small bills but keep track of evolutions in a
credit / debit shared doc
When doing evolutions quotes keep in mind that the price should
include the dev of the evolution itself and the integration into the site
(which actually may be more complex thant the feature itself)
61. avoid never ending acceptance
You do agile bla bla but yet you always have this final acceptance
period.
Acceptance must be time boxed. You MUST define, with the client a
precise period of acceptance.
Days / weeks before the release define with your client ‘blocker’ issues.
Explain to the client what happens during the guarantee period.
Avoid doing new not blocking features during the acceptance.
64. THANK YOU!
WHAT DID YOU THINK?
Locate this session at the
DrupalCon Prague website:
http://prague2013.drupal.org/schedule
Click the “Take the survey” link
Editor's Notes
Estimates are probably the most dangerous work a project manager do. Many projects are late, we even say that 70% of IT projects are late. Doing fixed budget projects, you may loose money.
Everybody here knows the scary deadline. Approaching. And most of the time deadlines are not met.
So after a while deadlines are not so dead and scary. Is meeting deadlines and make right estimates is really impossible ? After all, we're smart guys, you all here, you do Drupal, so you ARE smart. And we do crazy things. We do Panels, Views we even understand how to create a module in Drupal 8. We're experienced developers or project managers. But wait, you do estimates in every day life, and you do them pretty well. Imagine you're in Prague, with a good Drupal friend.
He call's you in here, and says wazaaaaa.... hum, says let's have a glass of wine in the best bar in Prague. He gives you the address and what do you do ?
You'll probably open google maps, check how to get there, time you'll need. Add some extra time in case of any unpredictable problems.And usually, you'll be on time.
Not always. Everyone here knows some friends who're always late. Actually what make us late, in every day life, are errors in estimates and unpredictable events.
If you want never being late, you should add risks and estimate impact of risks over your plan.
For example : how long will it take to get to my bar if there is a strike and I have to go there walking.But you should also estimate the chances of actually this particular risk will happen and apply this percentage to your estimates. With all possible events. The problem of this approach is that some risks have unfinite consequences on your journey.
As said Leo Rosten, "Some things are so unexpected that no one is prepared for them." But let's being honest, during a Drupal project you have a limited amount of events making your estimates going wrong :
The first thing your developpers will work on, is Drupal & modules setup and content structure definition. Of course depending of site complexity you'll spent more or less time. We do not try to go deeply in details. But you'll need time to install this bulk set of modules, you eventually can speed up the process going with a distribution.
This is an exactly example of hidden costs. You setup a ticketing system with your client, create user accounts, setup GIT repository, branches, install your developpment server or create a pantheon or commerce guys platform. But you'll spend time on this too.
Contexts, you'll have a lot of small work to do with contexts. SEO, Analytics tag plan, Advertisement, Page titles, URLs, all rely on context. More contexts you have more work you'll have to produce. I rember this client we got. Big french machines rental company, Kiloutou. While we were in last stages of project release, you know those 2 weeks sprints that lasts 2 months... well we asked this client to send us tags plan. Site was a 30 templates e-commerce site. We got a 70 pages specifications and 300 tags to implements on pages, but also on clicks, actions, and different checkout scenarios. God, we spent 2 weeks implementing it. So be careful with contexts related tasks as they are directly linked to the number of templates.
Now we'll talk about something very special. Something that from my point of view gives you the most accurate way to measure the site's size. The templates. Templates are so important because while creating a brand new website you will there are so many people and time used on each of them, it always freaks me out.
You start sketching the product page, you sketch in all 3 responsive versions, then you probably try to make validations, backs and forths with the client so you create 3 wireframes. Finally, after that your designer will produce PSDs (again to validate them with the client), finally you'll produce statics HTML of each template to test on so many devices you sold to your clients (yeah rember during the presales phase when you actually said that this responsive will work even on a Nokia 3310, they finally silently added nokia's support to the contract). Then your drupal developer will work on implementing it in drupal. Finally. Let's see some metrics. Those numbers are some kind of empiric values from 250 projects we've done so far in Adyax.
Very diffcult to estimate but usually you spend from 2 to 5 days per content type depending of the source easiest from Drupal to Drupal, then from a highly structured DB to Drupal, and finally the worse, from unstructured HTML (with those so easy structure, if you have a <P> tag put is as teaser, and then, always, promise, always a <strong> means sub-title, hum, yeah really really all our contributors try to respect those rules... since 5 years....).
Deploy is always a big debate. If you're running on Acquia, Pantheon or Commerce Platform you can almost do continuous integration stuff and each deploy will take you minutes. On more classical hosters it will depends of the deploy policy you've setup with your client. So alway take this in account at early stages of the project. I got a big customer and we agreed to deploy after each sprint, so we agreed on 12 deploys. The problem was the client was running his live environemnt with an old school very big hosting company, who deploy manually using a tar.gz files on an FTP. Making errors during each and arguing it was our fault. We spent 25 man days on deploys. But wait, we said that deploying on Acquia, Pantheon or Commerce Platform would take minutes, that's not exactly truth. Deploy means, write down release notes (export deployed tickets from redmine for example), prepare your features, write some module_update functions, test the deploy, and THEN deploy. It take time. Usually each deploy
I do wonder why developers do bugs. They do, and that's why we need testers. How many of you have dedicated test teams ? ... Actually that might be developers doing QA or dedicated, doesn't really matters. What we've actually noticed is that testing is directly related to developpment time. It takes from 15 up 30 percent depending of site complexity. I include and mix here manual and automated testing.
Here again many variants are possible. A freelancer project may not require any management at all, while a big project envolving 10 developpers may require several project managers. But again, even a freelancer does some management work. The hard thing in estimation of management is the fact that management efforts depend not only from the project, not even from the knowledge level of your team, but from the kind of the client you have.
You know I had a project, an invite only community site, and the client was like 5 persons without any knowledge of the web stuff at all. Thoses are usually spotted by us, but we don't know why we accepted this project and the nightmare lasted for several months... Like why the site is not opening when i enter the url [email_address] . Those kind of clients may make you loose money, if you can avoid them just do it. Best processes cann't nothing against human factor.
Do you write specifications ? For all of your projects ? Say the truth. I think that agile did a lot against specifications. Actually I think that specs are the most important thing that will save your margins. You can write specs at the begingin of the project, or do it sprint by sprint, but you need to describe entirely the project by specs. And make sure you validate them with the client. This is the only way to decide what's in the scope what's not, what's a bug and what's a feature. I think even small project need specs. And large project need specs being constantly updated as they'll also serve as project documentation. If you don't want to lose money, write specs for all projects.
But wait, guys. What about features.
I mean those things that make your project unique. There is not only modules and templates. There are a lot of business logic, small or complex features. There are no rules of estimate of those things. The only way is to divide the features into small parts, templates, find modules that you could use and try to estimate the time for each part. As for the rest, the more precise you'll be the more accurate will be your estimates. For example for a "voting feature" you should estimate how long it would take to install and configure Voting API, FiveStars, do the theming for the fivestars, add some custom blocs, theme them, test everything, apply updates on content types, etc...
Your project is live, client finished paying doesn't mean you finished spending money. The client will call you and while during the project it’s ok and probably included in specifications, project managemment and stuff. Once your project is live, how do you deal with support ? You guys once your project is live if the client calls you in ? Well the problem with the support is the fact that it’s so close to the commercial relationship you’ve setup with your client, so you cannot bill easily that. I mean you cannot say when the client has spent 6 month with you on the phone that you’ll not take his next call because he did not took the support. So the right thing to do is to prepare the client from the very beging of the project and explain your support policy. You can go for a global fixed annual price or a ticket based system, but the most important is to prepare you client from the begining of the project or even during the presales phase.