Igor Bondarenko discusses best practices for organizing the development process of Magento modules. He recommends choosing ideas based on business analysis, using specialized development tools, and forming teams of narrowly skilled professionals. Bondarenko also stresses the importance of testing, including testing compatibility with other extensions and automation using tools like Selenium IDE. The key to success is performing thorough business analysis, using high-quality tools, skilled teams, and comprehensive testing.
Continuous Integration and Continuous Deployment in Enterprise scenarioDavide Benvegnù
The presentation about Continuous Integration and Continuous Deployment during the Microsoft DevOps Breakfast.
General info about CI and CD.
Demo with Visual Studio Team Services (apply also too TFS)
United Global Soft
We provide QTP/QA Automation Online training by real time experts.
Contact : +91 8099902123
+1-201-710-8393
Mail Id : info@unitedglobalsoft.com
One of the cornerstones in Agile development is fast feedback. For engineering, "fast" means "instantly" or "in 5 minutes", not "tomorrow" or "this week". Your engineering practices should ensure that you can answer yes to most of the following questions:
- Do we get all test results in less than 5 minutes after a commit?
- Is our code coverage more than 75% for both front-end and back-end?
- Can we start exploratory testing in less than 15 minutes after a commit?
- Do all our tests pass more than 90% of our commits?
This talk will give you practical advice on how to get to "yes, we get fast feedback".
Want to automate testing on your site? don't know coding? No Problem! Selenium to your rescue!!
Drupal + Selenium = Drulenium
In this session I will demonstrate how Selenium can be used to
- Build the site
- Generate test content
- Deploy Dev -> Stage -> Prod
- Automate Testing
Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run."
Experience Level: Beginner
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
Continuous Integration and Continuous Deployment in Enterprise scenarioDavide Benvegnù
The presentation about Continuous Integration and Continuous Deployment during the Microsoft DevOps Breakfast.
General info about CI and CD.
Demo with Visual Studio Team Services (apply also too TFS)
United Global Soft
We provide QTP/QA Automation Online training by real time experts.
Contact : +91 8099902123
+1-201-710-8393
Mail Id : info@unitedglobalsoft.com
One of the cornerstones in Agile development is fast feedback. For engineering, "fast" means "instantly" or "in 5 minutes", not "tomorrow" or "this week". Your engineering practices should ensure that you can answer yes to most of the following questions:
- Do we get all test results in less than 5 minutes after a commit?
- Is our code coverage more than 75% for both front-end and back-end?
- Can we start exploratory testing in less than 15 minutes after a commit?
- Do all our tests pass more than 90% of our commits?
This talk will give you practical advice on how to get to "yes, we get fast feedback".
Want to automate testing on your site? don't know coding? No Problem! Selenium to your rescue!!
Drupal + Selenium = Drulenium
In this session I will demonstrate how Selenium can be used to
- Build the site
- Generate test content
- Deploy Dev -> Stage -> Prod
- Automate Testing
Selenium IDE is an integrated development environment for Selenium scripts. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run."
Experience Level: Beginner
An introduction to the concepts behind Continuous Delivery as well as an introduction to some of the tools available for implementing continuous delivery practices on a new project. This presentation is geared towards Java developers, but is applicable to all.
The only way to know if your systems can handle the number of users is to load test, however load testing is hard and the infrastructure expensive. Come and see Martin demontrate the tools and techniqies that are required to test your software under load, even in Production.
DevQAOps - Surviving in a DevOps WorldWinston Laoh
Talk given by Winston Laoh at the QA/LA meetup hosted at Q Los Angeles. The goal of the presentation was to inform and persuade test related engineers on how to integrate into DevOps organizations.
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
One developer, one machine, one sacred build process. For the past two years, we have worked to change this story into one that is more reliable, repeatable, and reproducible. I'll show you our process and give plenty of demos of how we safely push code into production multiple times per day.
Break Up the Monolith- Testing Microservices by Marcus MerrellSauce Labs
Microservices is more than a buzzword: it’s an industry-wide tidal wave. Companies are spending millions to break up monoliths and spin up microservices, but they usually only involve QA at the very end. This talk by Marcus Merrell centers around real-world experiences and will pose questions that attendees can ask their developers/product people, and offer solutions for teams to help make your service more discoverable, more testable, and easier to release.
Continuous Integration as a Way of LifeMelissa Benua
Continuous integration (CI) is a buzzword in software development today. We know it means “run lots of builds,” but having a continuous integration pipeline opens up opportunities well beyond making sure your team's code compiles. What if this pipeline could improve everything from the quality of code reviews to how often and safely you deploy to production and how you monitor your product in the wild? What if CI could provide insights into how automated tests are performing and how to improve them? Melissa Benua describes how to set up a basic CI infrastructure and then transform it into a way of life for development and test teams. Using free or nearly free tools, Melissa walks through a practical approach to making sure your code works—all the time and at every stage of the release train. Come away with practical advice for creating builds and running automation on the fly without spending hundreds of hours or thousands of dollars.
What is continuous integration?
Building a feature with continuous integration
Practices of continuous integration
Benefits of continuous integration
Introducing continuous integration
Final thoughts
Continuous integration tools
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...Sauce Labs
In this SauceCon 2019 talk, Fernando and Amir use observations from running 2 billion tests for thousands of Sauce Labs customers to outline the the key drivers of success in continuous testing and an provide an actionable way to see how organizations are doing relative to other successful testers. They discuss a new index which can be used by any organization to evaluate their progression towards continuous testing, and cover the components of the new continuous testing index, what makes these components such strong maturity indicators, how organizations can improve on each of the metrics, and what happens organizationally when those metrics are improved
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
Overview the Challenges and Limitations of Android App Automation with Espres...Sauce Labs
During this SauceCon 2019 presentation, Jagmit demonstrates how to set up Espresso, develop/execute tests and identify elements, and execute the Espresso tests in a Continuous Integration environment using Jenkins and Firebase.
Training Webinars - Secret hacks for OutSystems 10OutSystems
OutSystems Wizard Stacey Levine will unveil the "Secret Hacks for OutSystems 10" that will make you love the platform. This webinar will focus on the features and accelerators that make hardcore development a breeze.
Free Online training: https://www.outsystems.com/learn/courses/
Follow us on Twitter http://www.twitter.com/OutSystemsDev
Like us on Facebook http://www.Facebook.com/OutSystemsDev
How Vanguard Got to a CD-CD World by Craig SchwarzwaldSauce Labs
In this SauceCon 2019 presentation, Craig Schwarzwald discusses the main phases Vanguard software testing has undergone over the last 10+ years, from thousands of manual tests, to thousands of automated tests with Selenium, to Shifting Left, and to now focusing on Contract Testing. He discusses what Contract Testing is and talks about its importance in the CI/CD pipeline (giving the team virtually E2E coverage at the speed of Unit tests).
The only way to know if your systems can handle the number of users is to load test, however load testing is hard and the infrastructure expensive. Come and see Martin demontrate the tools and techniqies that are required to test your software under load, even in Production.
DevQAOps - Surviving in a DevOps WorldWinston Laoh
Talk given by Winston Laoh at the QA/LA meetup hosted at Q Los Angeles. The goal of the presentation was to inform and persuade test related engineers on how to integrate into DevOps organizations.
Usg Web Tech Day 2016 - Continuous Integration, Deployment, and DeliveryStephen Garrett
One developer, one machine, one sacred build process. For the past two years, we have worked to change this story into one that is more reliable, repeatable, and reproducible. I'll show you our process and give plenty of demos of how we safely push code into production multiple times per day.
Break Up the Monolith- Testing Microservices by Marcus MerrellSauce Labs
Microservices is more than a buzzword: it’s an industry-wide tidal wave. Companies are spending millions to break up monoliths and spin up microservices, but they usually only involve QA at the very end. This talk by Marcus Merrell centers around real-world experiences and will pose questions that attendees can ask their developers/product people, and offer solutions for teams to help make your service more discoverable, more testable, and easier to release.
Continuous Integration as a Way of LifeMelissa Benua
Continuous integration (CI) is a buzzword in software development today. We know it means “run lots of builds,” but having a continuous integration pipeline opens up opportunities well beyond making sure your team's code compiles. What if this pipeline could improve everything from the quality of code reviews to how often and safely you deploy to production and how you monitor your product in the wild? What if CI could provide insights into how automated tests are performing and how to improve them? Melissa Benua describes how to set up a basic CI infrastructure and then transform it into a way of life for development and test teams. Using free or nearly free tools, Melissa walks through a practical approach to making sure your code works—all the time and at every stage of the release train. Come away with practical advice for creating builds and running automation on the fly without spending hundreds of hours or thousands of dollars.
What is continuous integration?
Building a feature with continuous integration
Practices of continuous integration
Benefits of continuous integration
Introducing continuous integration
Final thoughts
Continuous integration tools
Azure Integration DTAP Series, How to go from Development to Production – Par...BizTalk360
A series of sessions with focus on how to set up a Build & Release setup for Common integration parts with VSTS.
In these sessions all will be made hands on and focus will be on understanding the quirks and common tasks.
For Azure Functions we will Create Functions, check in the options we have to extract the code. Create a Build and Release setup inside VSTS to move/promote the API to next step/environment in the chain.
How to Measure Success in Continuous Testing by Fernando Vidal and Amir Rozen...Sauce Labs
In this SauceCon 2019 talk, Fernando and Amir use observations from running 2 billion tests for thousands of Sauce Labs customers to outline the the key drivers of success in continuous testing and an provide an actionable way to see how organizations are doing relative to other successful testers. They discuss a new index which can be used by any organization to evaluate their progression towards continuous testing, and cover the components of the new continuous testing index, what makes these components such strong maturity indicators, how organizations can improve on each of the metrics, and what happens organizationally when those metrics are improved
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
Overview the Challenges and Limitations of Android App Automation with Espres...Sauce Labs
During this SauceCon 2019 presentation, Jagmit demonstrates how to set up Espresso, develop/execute tests and identify elements, and execute the Espresso tests in a Continuous Integration environment using Jenkins and Firebase.
Training Webinars - Secret hacks for OutSystems 10OutSystems
OutSystems Wizard Stacey Levine will unveil the "Secret Hacks for OutSystems 10" that will make you love the platform. This webinar will focus on the features and accelerators that make hardcore development a breeze.
Free Online training: https://www.outsystems.com/learn/courses/
Follow us on Twitter http://www.twitter.com/OutSystemsDev
Like us on Facebook http://www.Facebook.com/OutSystemsDev
How Vanguard Got to a CD-CD World by Craig SchwarzwaldSauce Labs
In this SauceCon 2019 presentation, Craig Schwarzwald discusses the main phases Vanguard software testing has undergone over the last 10+ years, from thousands of manual tests, to thousands of automated tests with Selenium, to Shifting Left, and to now focusing on Contract Testing. He discusses what Contract Testing is and talks about its importance in the CI/CD pipeline (giving the team virtually E2E coverage at the speed of Unit tests).
Igor Bondarenko - Process organization of the development modules specific to...Meet Magento Italy
Over the years of my working experience, I have faced the fact that the way development process is organized differs greatly from company to company. At the same time, if we take the development of extensions as a separate subject it may seem to be a short-term activity, which has no particular nuances. In practice, it turns out that the development of an extension is not at all that simple.
I want to talk about how we have organized the process of extensions development at our company, and give some recommendations on how to optimize the development process so that to reduce costs and improve your product quality.
My report covers the following aspects of the development process:
- getting prepared for development: what idea to choose and what to do next
- role separation within a team
- tools
- development of an extension
- testing
- differences in approaches for Magento and Magento 2
All practices are divided into groups, so listeners can choose those of them that will harmoniously fit into their workflows.
High Performance Software Engineering TeamsLars Thorup
Based on my experiences building high performance engineering teams, this presentation focuses on the technical practices required. These practices centers around automation (build, test and deployment) and increased collaboration between Engineering and QA (TDD, exploratory testing, prioritization, feedback cycles).
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
SharePoint gives us a great platform for developing sophisticated intranet portals and collaboration sites and many other workloads. But it can also be a challenge to use modern software development frameworks like Scrum and XP. Wouldn’t it be great if we could get all the benefits of Agile practices – faster development, predictable deliveries, better quality, less stress and happy stakeholders? In this session we will cover the definitions of Lean, Agile, Scrum, Kanban, XP, and TDD. Then we will look at the specific challenges around Agile SharePoint development and some development techniques to overcome these obstacles. This talk covers both project delivery and engineering. We’ll look at unit tests, integration tests, UI tests, continuous integration and, of course, test-driven development (TDD) with practical experiences from real-life Agile SharePoint projects.
Getting Started With Coded UI testing: Building Your First Automated TestImaginet
This training seminar will demonstrate how to record tests run against various types of application user interfaces using Microsoft Visual Studio's Coded UI Tests and how to replay them at any time. Additionally, we will explore how to embed validations, either simple or elaborate, to ensure your application is producing the correct results. Learn how to improve the quality of your applications by having a repeatable set of Microsoft Coded UI Tests available to ensure defects don’t go unnoticed!
XP teams try to keep systems fully integrated at all times, and shorten the feedback cycle to minutes and hours instead of weeks or months. The sooner you know, the sooner you can adapt.
Watch our record for the webinar "Continuous Integration" to explore how Azure DevOps helps us in achieving continuous feedback using continuous integration.
Building environment of #UserDevOps and not only DevOpsRajnish Chauhan
In so much of IT tools and technology we missed and forgotten the very user and requirement. If requirement are not of high quality , we can not expect the software of quality as quality is not only all about defects & bugs but also if it is usable and meeting the need of user community.
There are many tools and methodology and I have detailed what minimum with one can start UserDevOps transformation and can bring values to business.
Learn about the benefits of writing unit tests. You will spend less time fixing bugs and you will get a better design for your software. Some of the questions answered are:
Why should I, as a developer, write tests?
How can I improve the software design by writing tests?
How can I save time, by spending time writing tests?
When should I write unit tests and when should I write system tests?
Enter the mind of an Agile Developer, BSG shares with you how we do software development and how to embed agile methodologies into your development process.
this presentation contains agile engineering practices which are used by software community.
These practices provides agility in the software development. Applying agile software development without these practices is not easy for software developers.
Similar to Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento (20)
Italy Agriculture Equipment Market Outlook to 2027harveenkaur52
Agriculture and Animal Care
Ken Research has an expertise in Agriculture and Animal Care sector and offer vast collection of information related to all major aspects such as Agriculture equipment, Crop Protection, Seed, Agriculture Chemical, Fertilizers, Protected Cultivators, Palm Oil, Hybrid Seed, Animal Feed additives and many more.
Our continuous study and findings in agriculture sector provide better insights to companies dealing with related product and services, government and agriculture associations, researchers and students to well understand the present and expected scenario.
Our Animal care category provides solutions on Animal Healthcare and related products and services, including, animal feed additives, vaccination
Gen Z and the marketplaces - let's translate their needsLaura Szabó
The product workshop focused on exploring the requirements of Generation Z in relation to marketplace dynamics. We delved into their specific needs, examined the specifics in their shopping preferences, and analyzed their preferred methods for accessing information and making purchases within a marketplace. Through the study of real-life cases , we tried to gain valuable insights into enhancing the marketplace experience for Generation Z.
The workshop was held on the DMA Conference in Vienna June 2024.
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfFlorence Consulting
Quattordicesimo Meetup di Milano, tenutosi a Milano il 23 Maggio 2024 dalle ore 17:00 alle ore 18:30 in presenza e da remoto.
Abbiamo parlato di come Axpo Italia S.p.A. ha ridotto il technical debt migrando le proprie APIs da Mule 3.9 a Mule 4.4 passando anche da on-premises a CloudHub 1.0.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
2. About Myself
• 10 years in IT
• 2 years in Magento
Development
• Head of Business
Development in Neklo
3. What would I talking
about?
• How to choose an idea
• Selecting a tools
• How to prepare a team
• Development processes
• Advises to developers
• QA and Testing
• How to release an extension
11. Working with a team of 2
or more people
• Select Team lead
• Split Magento Versions
• Tasks decomposition
• Assign tasks to skilled person
12. Team of one developer
• Start working with minor Magento versions
• Develop extension sequentially:
• Backend
• Admin part
• Frontend
13. How to provide compatibility
with third-party extensions?
14. What should developers
team do?
• Use integration through events
• Do not use Rewrite
• Use frontend integration life
hacks:
• Layout substitution
• JS Injection
15. What should QA team do?
• Test on “working” Magento
• Test compatibility with top
rated extensions
• Do NOT test compatibility with
all of extensions
18. Key points of
testing process
• Stop development until the end of
first QA iteration
• Switch project during first
iteration of testing
• Starting from the second iteration
of testing start to work in parallel
with the QA team
19. Test Automation
• Tests should be written by QA
Team
• Don’t use complex
frameworks:
• Short-term activity
• Skilled QA
• Negative ROI
20. What to use for test automation?
Use Selenium IDE or SpiderTest:
•Powerful test recorder
•Testers should not have
programming skills
•Developers could use any
programming language
•Lightweight scripts
•Easy to attach scripts to defects
•Free tools
22. Forgot to test readiness
for loading in Magento
Connect
• Build a package
• First load and wait for
approve, then promote
• Test installation file per
file
23. Key success factors
• Perform business analysis
• Using high-quality and thoughtful
tools
• Using narrowly skilled
professionals
• Don’t forgot testing
24. Thank you for attention!
Skype: igor.bondarenko1
E-mail: igor.bondarenko@neklo.com
Editor's Notes
Greeting
Hello everyone, my name is Igor Bondarenko.
Stating the problem
In my report I will speak upon how to organize the process of Magento extensions development.
About Me
A few words about me: 10 years in IT, for the last few years have been involved in Magento development, Head of Business development at Neklo
Introduction to the topic
Over the years of my working experience, I have faced the fact that the way development process is organized differs greatly from company to company. At the same time, if we take the development of extensions as a separate subject it may seem to be a short-term activity, which has no particular nuances. In practice, it turns out that the development of an extension is not at all that simple.
Today I'll tell you how we have organized the process of extensions development at our company, and will give some recommendations on how to optimize the development process so that to reduce costs and improve your product quality.
Here I would like to note that we do not make any difference between processes that take place while we develop extensions for sale and those for custom development, so, everything I’ll be talking about works perfectly for both cases.
Listing the key points
My report will cover the following aspects of the development process:
getting prepared for development: what idea to choose and what to do next
role separation within a team
tools
development of an extension
testing
All practices are divided into groups, so you can choose those of them that will harmoniously fit into your workflow.
I am often asked what extension to develop. Well, the point is that it is impossible to predict whether an extension will be successful on the market or not. And even if somebody knew he wouldn’t tell you.
And that’s why:
give this task to a business analyst, not a developer!
business analyst studies current marker situation, analyzes it, defines crucial user problems that need to be solved and prepares technical requirements
analyst handles the technical requirements to the development department for an assessment
decide whether it pays to develop an extension (выгодно ли)
gather a team
If the development of the module turns out to be economically unjustified, then you should refuse the idea of such commercial extension. If it’s custom development, then find an analogue to use instead.
So, what shall you do if there’s no business analyst in your team and you don’t have a possibility to hire one.
Apologists of Agile Development: Lisa Crispin and Alistair Cockburn in their works recommend delegating the tasks of a business analyst to the QA department.
If you are using agile development methodologies, such as a whole team approach and self-organized team, then your QA specialists play the role of a mediate between business and the development team, as they are engaged in the negotiation with the customer on the requirements.
If that is the approach you use, it makes sense for you to teach your QA the basics of business analysis and entrust him the task.
I recommend you to split your developers between hostings + separate hostings for a support team and QAs. That is very handy as each developers uses his own Magento entities and they don’t impede anyone.
one developer develops for the initial version and the second for the latest one
automating process with the help of MageInstall: we easily deploy any Magento version needed
there are other useful features MageInstall has:
direct links to frontend and admin panel
sessions cleanup
cache cleunup
cron starting
direct link to database
possibility to view already installed extensions
extensions disabling with one click
store deletion
mass actions for all the above listed
sometimes specific store is neeed, with specific data, in this case we use generator. This is an internal extension that is gradually improving and getting filled with new functionality. It allows you to generate orders, customers, products, etc.
If you do not have enough time or resources to create such n extension, it makes sense to entrust your QA department with writing automated tests which will fill the store with necessary amount of data.
This approach takes more time, but it is cheaper, and these tests can be run at night.
I highly recommend you to use Version Control System (git or hg)
Having all the extensions in your repository, you can easily install the extension you need along with the Magento version needed right from MageInstal: you won’t have to do it manually
Use a development toolbar, which allows you to quickly view huge amount od useful data:
additional information on a request
layout handlers
events triggered for the current request
database requests and the time of their completion
etc.
use the Log Popup extension that shows new logs from the log file and will immediately signal in case there’s an error that should be fixed. Otherwise, log errors can stay unnoticed which will result in problems further on.
enable developer mode! – this will also notify the developer on the code issues
issue tracker and properly set up workflow.
the detailing should be moderate – micromanagement doesn’t lead to good results
During the development process, we came to a conclusion that the most advantageous is the approach when there are highly specialized experts engaged in development. Thus, Magento developers do the backend and admin panel, frontend developers write frontend, and system administrators deal with servers and configurations.
Here i would like to mention the importance of the extensions testing, we do not put it to the shoulders of our end-users, so there’s always a QA specialist in our development team.
At first glance it may seem that staff increase is a one-way ticket to the increase in the cost of development, but I’d like to note here that a significant reduction in development time allows, on the contrary, to reduce costs.
So, let’s summarize how the development process is organized in our particular case:
For every extension to be developed there is a Lead assigned, who manages the development process, sets tasks and monitors their completion.
there are separate developers to deal with the admin panel, frontend and backend
if there are more than 3 developers in a team, we split them into smaller groups
if there’s such a necessity we involve additional developers and QA specialists in the development
At that, I understand that it is not always possible to each time allocate a separate team for the development of an extension, so I will touch upon it a little bit later and, when speaking on the technical details, I will dwell upon practices that are applicable for both teams and a single developer.
When developing within a team of 2 or more people:
the first developer is developing on the initial version of Magento - we usually take 1.4.1.1
the second developer takes the latest version (1.9.2.0)
if there are other developers involved, then we give them intermediate versions
split tasks into a backend (instal scripts, models, collections), underlying implementation, admin panel and frontend.
If there’s one developer:
start from the initial version – in our case it’s 1.4.1.1 - and time to time check on the latest version - 1.9.2.0
start with the backend and then proceed to the admin panel and fontend
An important issue is the compatibility of your extensions with the third-party extensions.
Analyze how to integrate your extension to Magento with minimal problems in the future on the side of the developers, and, most importantly, of the support team.
integrate through events
avoid rewrite
Frontend integration:
layout substitution
js injection
at the end of the page, or any other place suitable, draw our block but do it hidden, and after its upload we move it to another place with a js, as the majority of Magento themes contain the same class and id name. Still, if they are different, I recommend you to write your own frontend part so that they will initiate(?»инититься») through the configuration, and then, after you changed the value of a selector or the option in the configuration, everything starts to work without code research and long debugging
Also, we solve issues of a compatibility with popular third-party extensions at the design stage already, so that they work together seamlessly out of the box. To do this, we take the most popular extensions of the leading developers and the QA team checks our extensions compatibility with theirs.
What should you remember:
commits review – Leads and Seniors check the code of Junior specialists. Juniors check the code of their Leads and study the advanced methodologies of writing a code.
codestyle – the use of a codestyle allows to reduce time on formatting other developer’s code
give the extensions to the QA team for testing
we do not put it to the shoulders of our end-users, so there’s always a QA specialist in our development team.
During the first testing:
do not lead the development
switch to other tasks
After your extension returned from testing:
fix the bugs found and pass them for testing
work alongside with the developers to make the process faster
+ automated tests:
help with the long-playing products
a QA specialist can write tests during the development process and in it will reduce your future testing costs
selenium ide + bugs
In case with distributing paid extensions Magento Connect usually shows the link to the developer’s website. At that, the free extension needs to be packaged and uploaded on the Magento Connect website.
Do not forget to create product in the system and to install the published version of the extension before you start to promote it.
Note that not all the developers install extensions Magento Connect, so you should unpack it and try to install it file-by-file.
Conclusion
To sum up, I would like to list the key points of the development process that will help you to create high-quality extensions. These are the following:
Business analysis prior to developing
Using high-quality and thoughtful tools
The principle of splitting duties between highly specialized professionals
Profound testing
All of the above named practices may seem expensive to implement, but I’d like to say that all of them can reduce the development time and overall labor costs.