Peter Peret Lupo, M.Sc., CSM, SCJA, ISC2 CC
Toronto, Ontario, Canada
2K followers
500+ connections
About
• Software Engineering Manager with over 20 years of experience with different software contexts (customized software, products, and SAAS) with a strong understanding and hands-on experience in various software development roles such as Requirements Engineer, QA, Scrum Master, Developer, Architect, and Customer Support Agent.
• Experienced Engineering Manager with over 13 years of experience managing single and multiple teams (from 5 to 25 people) in start-ups and small to large organizations (more than 17K people), in the private and public sectors, in the industry, and academic research in addition to consulting work to improve processes and management practices.
• M.Sc in Software Engineering (focused on Software Process and Product Quality), Specialization in Project Management (University of California, Irvine), Sun Certified Java Associate, and Certified ScrumMaster.
• Experience in software process improvement (SPI) initiatives based on capability maturity models such as CMMI, international engineering standards (ISO/IEC/IEEE 15939, 12207, 25000, etc.), SWEBoK, and Agile methodologies such as Scrum and eXtreme Programming (XP).
• Application of software measurement and statistical analysis to understand software process performance allied to the technical background necessary to investigate the cause of process issues and knowledge to employ scientific approaches to research solutions that meet organizational and development teams’ goals, promoting changes that ultimately lead to more quality and enhanced performance.
• Also worked as an independent consultant developing software, guiding improvements to the development process performance (improve productivity, lower costs, etc.), and providing training to private organizations and universities.
Articles by Peter
Contributions
-
What is the best way to manage system requirements during development?
There's no "best" way. It depends on the system's criticality, the complexity of the requirements, the experience of the team, and the overall knowledge about the field in the organization. As long as it supports development, maintenance, and fixing defects, it should be enough.
-
What causes scope creep in system development?
Requirement reviews are also great in fixing the issues that cause scope creep. A good technique is described in Travassos, G. H., Shull, F. and Carver, J. Working with UML: A Software Design Process Based on Inspections for the Unified Modeling Language, in Advances in Computers, vol. 54, Academic Press 2001. https://doi.org/10.1016/S0065-2458(01)80015-2
-
How do you handle OOP exceptions and errors in a secure and robust way?
There are several other things to consider. More importantly, where should you catch the exception vs. let it flow to the caller, or even catch it to do something and rethrow it or encapsulate it in a new one and then rethrow? I go through all that extensively here: https://blog.pplupo.com/2021-11-22-Exception-Handling/
Activity
-
Pessoal, alguém tem recomendação de webdesigner (no Brasil) pra uma página de profissional autônomo?
Pessoal, alguém tem recomendação de webdesigner (no Brasil) pra uma página de profissional autônomo?
Posted by Peter Peret Lupo, M.Sc., CSM, SCJA, ISC2 CC
Experience
Education
Volunteer Experience
-
Director of Finances
Director of Finances
Rotaract Program
Licenses & Certifications
-
Lean Six Sigma Green Belt Certification
Advanced Innovation Group Pro Excellence (AIGPE™)
-
Lean Six Sigma White Belt Certification
Advanced Innovation Group Pro Excellence (AIGPE™)
-
Lean Six Sigma White Belt Certification
Advanced Innovation Group Pro Excellence (AIGPE™)
Publications
-
Infrastructure for a MR-MPS-SW Software Process Improvement Based Body of Knowledge (Original title: Infraestrutura para um Corpo de Conhecimento em Melhoria de Processos de Software Baseado no MR-MPS-SW)
XV SBQS - Simpósio Brasileiro de Qualidade de Software, Conference Proceedings, ISSN: 2177-6369, pp. 151-165
-
Object Orientation: OO principles for robust architectures (in portuguese)
Java Magazine issue 127, pp 06-11 / Editora DevMedia.
This article presents object orientation concepts that allow the reader to develop code with improved quality aiming reuse, less defects, simpler designs and better responsibility segregation. To achieve this, fundamental concepts of object orientation interpretations are presented that serve as the foundation to a deeper understanding of design concepts that drive the development of more robust applications.
Other authorsSee publication -
Software design: upfront or on-going? (in portuguese)
TI Master
An interview about whether the design of the software should be planned ahead or evolved along, as the software itself is developed.
-
Application of the SPI-KM Approach to Support the Implementation of the MPS Model in Small and Medium-Sized Enterprises in Brazil
Software Quality Professional Journal, Volume 11, Issue 1/American Society for Quality
Although small- and medium-sized enterprises (SMEs) represent most of the of Brazilian software industry, these organizations struggle to implement software process improvement (SPI) initiatives aiming to increase their competitive advantages. One cause of the failure of many SPI initiatives conducted by SMEs is the lack of adequate process implementation approaches aligned to common characteristics of SMEs, such as a lack of financial and human resources. During the last five years, the…
Although small- and medium-sized enterprises (SMEs) represent most of the of Brazilian software industry, these organizations struggle to implement software process improvement (SPI) initiatives aiming to increase their competitive advantages. One cause of the failure of many SPI initiatives conducted by SMEs is the lack of adequate process implementation approaches aligned to common characteristics of SMEs, such as a lack of financial and human resources. During the last five years, the Brazilian software industry and research universities have been working cooperatively to develop and disseminate a Brazilian software process model, the MPS model, aimed at improving the quality of Brazilian software processes and products. To cope with the difficulties SMEs face during SPI implementation and to facilitate the dissemination of the MPS model, the authors developed an approach called SPI-KM, supported by a process-centered software engineering environment known as the Taba Workstation. The MPS model and the Taba Workstation are presented in this article. The results and lessons learned from the application of the SPI-KM approach in a group of five Brazilian SMEs that implemented the MPS model are also described.
-
Application of the SPI-KM Approach to Support the Implementation of the MPS.BR F and G levels in Small and Medium-Sized Enterprises in Rio de Janeiro (in portuguese)
VII SBQS - Simpósio Brasileiro de Qualidade de Software (Brazilian Software Quality Symposium)
During the last 5 years, Brazilian software industry and universities are working cooperatively to develop and disseminate the MPS Model, aiming to improve the quality of Brazilian software processes and products. In order to cope with difficulties Small and Medium-size Enterprises (SMEs) face during SPI implementation and to facilitate the dissemination of the MPS Model, we developed an approach, named SPI-KM, supported by a Process-centered Software Engineering Environment. This paper…
During the last 5 years, Brazilian software industry and universities are working cooperatively to develop and disseminate the MPS Model, aiming to improve the quality of Brazilian software processes and products. In order to cope with difficulties Small and Medium-size Enterprises (SMEs) face during SPI implementation and to facilitate the dissemination of the MPS Model, we developed an approach, named SPI-KM, supported by a Process-centered Software Engineering Environment. This paper presents the results and lessons learned of the application of the SPI-KM approach in a group of 5 Brazilian SMEs that implemented the MPS Model.
-
Implementing MR-MPS Levels G and F in an Organizations Group in Rio de Janeiro (in Portuguese)
III Workshop de Implementadores (W2 - MPS.BR)
COPPE/UFRJ has been providing consulting in software process improvements for several years and since 2003 has been implementing software processes in several small and medium organizations. This paper presents the work accomplished in a group of organizations in Rio de Janeiro aiming to achieve the MR-MPS maturity levels G and F in a cooperative model. The main characteristics of each implementation, the adopted implementation strategy and lessons learned from the reported experience are…
COPPE/UFRJ has been providing consulting in software process improvements for several years and since 2003 has been implementing software processes in several small and medium organizations. This paper presents the work accomplished in a group of organizations in Rio de Janeiro aiming to achieve the MR-MPS maturity levels G and F in a cooperative model. The main characteristics of each implementation, the adopted implementation strategy and lessons learned from the reported experience are presented.
-
Implementing Software Process Improvement Initiatives in Small and Medium-Size Enterprises in Brazil
QUATIC 2007 - 6th International Conference on the Quality of Information and Communications Technology
Appropriate process implementation approaches are fundamental for small and medium-size enterprises (SMEs) to obtain the most of software process improvement (SPI) benefits. COPPE/UFRJ has been providing SPI consultancy services to the Brazilian software industry for more than two decades. In order to cope with factors that have influence on SPI success, we developed an approach to implement SPI initiatives based on the Brazilian software process model (named MPS model) through the adoption of…
Appropriate process implementation approaches are fundamental for small and medium-size enterprises (SMEs) to obtain the most of software process improvement (SPI) benefits. COPPE/UFRJ has been providing SPI consultancy services to the Brazilian software industry for more than two decades. In order to cope with factors that have influence on SPI success, we developed an approach to implement SPI initiatives based on the Brazilian software process model (named MPS model) through the adoption of a SPI strategy (named SPI-KM) and the support of a process-centered software engineering environment named Taba Workstation. This paper presents the work conducted in a group of Brazilian SMEs aiming to deploy the MPS model based initiatives using the SPI-KM strategy supported by the Taba Workstation. We also discuss the lessons learned from implementing SPI in this group of SMEs and also other lessons collected throughout previous SPI experiences.
-
A methodology to build process perfomance models for software projects quantitative management (in Portuguese)
VI SBQS - Simpósio Brasileiro de Qualidade de Software (Software Quality Brazilian Symposium)
Statistical process control has been used in order to control the performance of software processes. Howerver, this technique is limited to control the value of a metric in a current project, compared to the same metric considering the process performance. In this paper we present a quantitative project management methodology combining statistical process control and statistical performance models to allow predicting behaviors for differente scenarios to support managerial decisions. The…
Statistical process control has been used in order to control the performance of software processes. Howerver, this technique is limited to control the value of a metric in a current project, compared to the same metric considering the process performance. In this paper we present a quantitative project management methodology combining statistical process control and statistical performance models to allow predicting behaviors for differente scenarios to support managerial decisions. The methodology was developed during the application of those techniques in a software organization to control and relate the Quality Assurance and Verification process.
-
Building a Web application using JEE (in Portuguese)
WebMobile Magazine, issue 11, pp 14-19. Editora DevMedia.
A tutorial on how to build a web application on Tomcat with JSF/RichFaces and Hibernate.
Other authorsSee publication -
Taba Workstation: Supporting Software Process Improvement Initiatives based on Software Standards and Maturity Models
EuroSPI - European Systems & Software Process Improvement and Innovation (LNCS)
International software standards and maturity models play an important role in Software Process Improvement initiatives defining best practices and providing knowledge to the definition of software processes. Nevertheless, the definition and deployment of software processes based on that standards and models is an expensive and knowledge intensive task. This paper describes an approach to the definition and deployment of software processes in small and medium size Brazilian companies supported…
International software standards and maturity models play an important role in Software Process Improvement initiatives defining best practices and providing knowledge to the definition of software processes. Nevertheless, the definition and deployment of software processes based on that standards and models is an expensive and knowledge intensive task. This paper describes an approach to the definition and deployment of software processes in small and medium size Brazilian companies supported by a Process-centered Software Engineering Environment named Taba Workstation. It also presents results related to a software process improvement initiative undertaken in a Brazilian organization that demonstrates the feasibility of the presented approach.
-
Taba Workstation: Supporting Software Process Deployment based on CMMI and MR-MPS.BR
7th International Conference on Product Focused Software Process Improvement (LNCS)
Deployment of software processes based on reference models is a knowledge-intensive task, i.e., a great amount of technical knowledge must be applied in order to guarantee conformance and adherence of processes deployed to the reference models adopted. Moreover, software process deployers have to deal with organizational and individual cultural problems on a regular basis, for instance, resistances to organizational changes. Therefore, the success of software process deployment within an…
Deployment of software processes based on reference models is a knowledge-intensive task, i.e., a great amount of technical knowledge must be applied in order to guarantee conformance and adherence of processes deployed to the reference models adopted. Moreover, software process deployers have to deal with organizational and individual cultural problems on a regular basis, for instance, resistances to organizational changes. Therefore, the success of software process deployment within an organization or organizational unit depends on both technical and social aspects of the software process deployment strategy definition and execution. This paper presents the Taba Workstation, an enterprise-oriented Process-centered Software Engineering Environment (PSEE) constituted of an integrated set of tools to support software process deployment based on the Capability Maturity Model Integration (CMMI) and the Reference Model for Brazilian Software Process Improvement (MR-MPS.BR). Software process appraisals demonstrated that the Taba Workstation constitutes one of the most important organizational assets to facilitate the success of software process deployment initiatives and to overcome the inherent difficulties.
-
An Approach for Software Process and Product Quality Assurance with Knowledge Management Support at TABA Station (in Portuguese)
Simpósio Brasileiro de Qualidade de Software, pp. 87-99 (Software Quality Brazilian Symposium)
The definition of software processes based on national or international reference models is important, but not sufficient to guarantee the quality of software products and processes. In order to increase the efficacy and efficiency of those processes and to increase the quality of software products, it is fundamental to guarantee the adequate execution of software processes. This work presents an approach to guarantee software processes quality with the support of Knowledge Management in the…
The definition of software processes based on national or international reference models is important, but not sufficient to guarantee the quality of software products and processes. In order to increase the efficacy and efficiency of those processes and to increase the quality of software products, it is fundamental to guarantee the adequate execution of software processes. This work presents an approach to guarantee software processes quality with the support of Knowledge Management in the TABA Workstation, an enterprise-oriented software development environment.
-
JPE: A Knowledge Representation and Reasoning System Integrated Development Environment (in portuguese)
Semana da Eletrônica 2004 da UFRJ
The construction of any knowledge representation and reasoning system begins with an unambiguous representation language which allows representing knowledge about a specific domain through a set of sentences. This set of sentences is called knowledge base. Besides that, well defined means of manipulating these bases are needed in both construction and utilization.
This work aims to present a knowledge representation and reasoning system integrated development environment called JPE (Java…The construction of any knowledge representation and reasoning system begins with an unambiguous representation language which allows representing knowledge about a specific domain through a set of sentences. This set of sentences is called knowledge base. Besides that, well defined means of manipulating these bases are needed in both construction and utilization.
This work aims to present a knowledge representation and reasoning system integrated development environment called JPE (Java Prolog Environment), which intends to offer a pre-defined set of logic programming languages and a set of tools to be used in the construction and manipulation of knowledge bases. -
OCA/OCP Java SE 7 Programmer I & II Study Guide (Exams 1Z0-803 & 1Z0-804) (Technical reviser of the book’s translation to Portuguese)
McGraw-Hill Education/Oracle
Technical reviwer of the book’s translation to Portuguese
Other authors
Courses
-
AccessForward’s Integrated Accessibility Standards Regulations (IASR)
-
-
Basic UNIX (NCE/UFRJ: http://www.nce.ufrj.br/)
-
-
Certified ScrumMaster Official Course (Boris Glogger / SWQuality: http://www.swquality.com.br/)
-
-
Codebashing’s Application Security and Secure Coding Training in HTTP Security Principles
-
-
Codebashing’s Application Security and Secure Coding Training in Java
-
-
Codebashing’s Application Security and Secure Coding Training in Java Advanced
-
-
Codebashing’s Application Security and Secure Coding Training in Java: Backend Security Basics
-
-
Data Quality and Governance
-
-
Deepening knowledge in High Maturity Practices of CMMI and MPS.BR
-
-
Financial Planning and Analysis (SEBRAE: http://www.sebrae.com.br/)
-
-
Flash MX (NCE/UFRJ: http://www.nce.ufrj.br/)
-
-
Google Cloud Digital Leader Learning Path
-
-
Higher CMMI Maturity Levels Introduction
-
-
Hyla (Leadership Training) (Rotaract/Rotary International: http://www.rotary.org/)
-
-
Implementing MPS levels E-D-C special course (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
Industrial Logic's Code smells, Refactoring, Microtesting, Test Driven Development, Legacy code, Faking & Mocking
-
-
Infosec IQ's Zombie Invasion (Malware training)
-
-
Introduction to Big Data, University of California, San Diego (Coursera: https://www.coursera.org/learn/intro-to-big-data).
-
-
Java SE 8 Lambdas and Streams (Oracle: https://apexapps.oracle.com/pls/apex/f?p=44785:145:0::::P145_EVENT_ID,P145_PREV_PAGE:4887,143).
-
-
Java Senior Developer (Object Orientation, Design Patterns, UML, Java, Log4J, JUnit, XML, JNDI, JMS, J2EE (EJB (Session Beans, Entity Beans BMP and CMP), JSP, Servlets), JBOSS, STRUTS and Test Driven Development) (NCE/UFRJ: http://www.nce.ufrj.br/)
-
-
Knowledge Management and Organizational Learning (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
MPS Appraiser Course (Softex/MPS.BR C3-MPS: http://www.softex.br/comunicado-softex-mps-022014/)
-
-
MPS.BR Model Official Implementer (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
MPS.BR Model Official Introduction (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
MR.MPS.BR V 1-2 levels A and B Update (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
Managing Technical Debt
-
-
Model Thinking (University of Michigan - Ann Arbor: https://class.coursera.org/modelthinking/)
-
-
Official ISC2 Certified in Cybersecurity
-
-
Ontario’s training on Supervisor Health and Safety Awareness in 5 Steps
-
-
Portfolio Management (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
QPS: Software Product Quality Assessment Model
-
-
Reuse Management and Component Based Development (Softex/MPS.BR: http://www.softex.br/mpsbr)
-
-
SQL (NCE/UFRJ: http://www.nce.ufrj.br/)
-
-
Six Sigma: Certified Lean Green Belt (Accredited)
-
-
Six Sigma: Certified Lean White Belt (Accredited)
-
-
Six Sigma: Certified Lean Yellow Belt (Accredited)
-
-
Software Analytics: Achievements and Challenges
-
-
Software Configuration Management (COPPE/UFRJ: http://www.coppe.ufrj.br)
-
-
Software Measurement and Analysis (COPPE/UFRJ: http://www.coppe.ufrj.br)
-
-
Software Process Improvement with Agile Methods and MPS Model
-
-
Software Projects Modeling with System Dynamics
-
-
Software Projects Statistical Management and Continuous Improvement: CMMI Levels 4 and 5 (Liveware: http://www.liveware.com)
-
-
Systems Analyst Career formation course - Petrobras Software Engineering (Petróleo Brasileiro S.A.: http://www.petrobras.com.br/)
-
-
UN's The Fight Against Corruption
-
-
Virtual Effective Manager finished on February 9th, 2022.
-
-
Virtual Effective Remote Manager finished on February 10th, 2022.
-
-
Working Together: The Ontario Human Rights Code and the Accessibility for Ontarians with Disabilities Act
-
-
Workshop ITIL (Pink Elephant: http://www.pinkelephant.com)
-
Projects
-
Copy Data
- Present
Copy Data is a Windows utility that adds to the explorer context menu (a.k.a. shell context menu) an option to copy the file contents to the clipboard. It works with different types of images and text files, including rtf.
-
After Credits
- Present
My first experience developing and Android app, Wait For Stinger (Jan '13) has undergone a major revamp with the contribution of What's After The Credits? (http://aftercredits.com). After some iteration with new requirements being incorporated it is available at Google Play (https://play.google.com/store/apps/details?id=com.pplupo.products.aftercredits.r2) and Amazon Appstore (http://smile.amazon.com/pplupo-com-After-Credits/dp/B00TNPTHOI) for free using Google Ads for monetization. By…
My first experience developing and Android app, Wait For Stinger (Jan '13) has undergone a major revamp with the contribution of What's After The Credits? (http://aftercredits.com). After some iteration with new requirements being incorporated it is available at Google Play (https://play.google.com/store/apps/details?id=com.pplupo.products.aftercredits.r2) and Amazon Appstore (http://smile.amazon.com/pplupo-com-After-Credits/dp/B00TNPTHOI) for free using Google Ads for monetization. By providing the movie title (in English) the app looks for it at What's After The Credits? site and loads information about scenes during or after credits.
-
BitBucket Mylyn Connector
- Present
The BitBucket Mylyn Connector (BitBucket Mylyn Connector: https://bitbucket.org/pplupo/bitbucket-mylyn-connector/) is an open-source Eclipse Platform Plugin (Eclipse Platform: http://www.eclipse.org/) which allows an easy integration between Eclipse, BitBucket's issue tracker and version control systems like Mercurial and Git, associating code changes to issue tracker issues through commits comments allowing automated traceability.
-
JSalt
- Present
JSalt (JSalt: http://code.google.com/p/jsalt/) is an open-source library which provides an easy, fast and safe way to encrypt passwords using salted hash algorithms compatible with JCE. The encrypted password may be generated in hexadecimal or encoded in base64. Besides that JSalt provides a password comparator that is safe against time attacks. The comparison time varies per length of the tested string and not the password's no matter the password's length, making it impossible for an attacker…
JSalt (JSalt: http://code.google.com/p/jsalt/) is an open-source library which provides an easy, fast and safe way to encrypt passwords using salted hash algorithms compatible with JCE. The encrypted password may be generated in hexadecimal or encoded in base64. Besides that JSalt provides a password comparator that is safe against time attacks. The comparison time varies per length of the tested string and not the password's no matter the password's length, making it impossible for an attacker to find out even the length of the password in time comparison attacks. Currently hosted at GitHub: https://github.com/pplupo/jsalt.
-
Trilobyte
Trilobyte is an Android App available at Google Play which allows an employee to check his worked hours recorded in REP 1000 models from Trilobit (electronic devices that record when the employee arrives and leaves the workplace). This app was developed by reverse-engineering the UDP network packets captured during the communication of the official desktop software and the device. To do that it was necessary to break down the data fields of the UDP packages, determine how the checksum was…
Trilobyte is an Android App available at Google Play which allows an employee to check his worked hours recorded in REP 1000 models from Trilobit (electronic devices that record when the employee arrives and leaves the workplace). This app was developed by reverse-engineering the UDP network packets captured during the communication of the official desktop software and the device. To do that it was necessary to break down the data fields of the UDP packages, determine how the checksum was calculated, how the packages receiving was controlled and other details (https://play.google.com/store/apps/details?id=com.pplupo.trilobyteapp).
-
EJUnitB3
-
Creation of an open-source automated testing framework to run EJB3 tests integrated to JUnit 4.x, 3.8.x and TestNG (EJUnitB3: http://ejunitb3.sourceforge.net/), allowing dependency injection by EJB3 annotations without needing an application server, being able to couple with several EJB3 stand-alone containers.
This project has been discontinued due to better approaches of testing EJB 3.x being developed. -
Statistic Process Control Chart
-
Statistic Process Control Chart is an open-source R extension package (https://www.r-project.org/) to generate time series chart for individual values (IndX) with mean and +/- 3 standard deviation lines and the corresponding moving range (mR) chart with the upper control limit. Also execute the 8 Shewhart stability run tests and display the violations (https://cran.r-project.org/web/packages/processcontrol/index.html). Currently hosted at GitHub: https://github.com/pplupo/processcontrol.
Honors & Awards
-
2017 Thesis and Dissertations on Software Quality Competition (CTDQS 2017) - 3rd place
Brazilian Computer Society
Languages
-
English
Native or bilingual proficiency
-
Portuguese
Native or bilingual proficiency
-
Spanish
Limited working proficiency
-
Italian
Elementary proficiency
-
French
Elementary proficiency
-
Romanian
Elementary proficiency
Recommendations received
9 people have recommended Peter Join now to view
People also viewed
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More