This document is a graduation project report for a Bachelor's degree in Applied Computer Technologies. The project involved developing a web platform for customer relationship management (CRM) for the company SINORFI. It was carried out using the Scrum agile methodology.
The report first provides background on SINORFI and its services, the purpose of the project, an overview of CRM and cloud computing. It then describes adopting the Scrum methodology, including roles and artifacts.
The main body of the report documents the initial "Sprint Zero" phase. This includes software requirements specification, product backlog, and technical choices. It also outlines the first development Sprint focusing on account management functionality.
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
Ce présent rapport a été rédigé dans le cadre du projet de fin d’étude pour l’obtention du diplôme de la licence en informatique de gestion. Ce projet consiste a développer une application web et mobile d’SOS remorquage. Afin de mettre en œuvre ce projet, nous avons utilisé le Framework « symfony2 »pour le développement web et Android pour le développement mobile.
Conception et développement d’une place de marché B2CNassim Bahri
Mon mémoire de PFE pour le projet Conception et développement d'une place de marché destiné au grand public(B2C).
Le concept de cette place de marché est assez simple puisqu’il joue le rôle d’un portail qui met en relation les entreprises avec une grande masse de clients. Ce dernier est composé de plusieurs vitrines dont chacune est relative à une entreprise qui sera responsable de la gérer suite à un contrat avec la poste.
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
Dans le cadre de notre projet de fin d’étude, nous nous intéressons à
développer une application qui sert à l’achat en ligne des produits de beauté,
reconnu dans le domaine informatique par le nom ” E-commerce ”, cette application
peut être développer sur plusieurs plate-forme notamment : An-
droïd , Mac OS et BlackBerry etc. Les supports de notre application Ecommerce
sont les téléphones portable mené, d’un système d’exploitation
Androïd.
--------------------------
http://nazihhenie.wordpress.com/
Lien du Blog:
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
Ce présent rapport a été rédigé dans le cadre du projet de fin d’étude pour l’obtention du diplôme de la licence en informatique de gestion. Ce projet consiste a développer une application web et mobile d’SOS remorquage. Afin de mettre en œuvre ce projet, nous avons utilisé le Framework « symfony2 »pour le développement web et Android pour le développement mobile.
Conception et développement d’une place de marché B2CNassim Bahri
Mon mémoire de PFE pour le projet Conception et développement d'une place de marché destiné au grand public(B2C).
Le concept de cette place de marché est assez simple puisqu’il joue le rôle d’un portail qui met en relation les entreprises avec une grande masse de clients. Ce dernier est composé de plusieurs vitrines dont chacune est relative à une entreprise qui sera responsable de la gérer suite à un contrat avec la poste.
Rapport de projet de fin d'étude licence informatique et multimédiaNazih Heni
Dans le cadre de notre projet de fin d’étude, nous nous intéressons à
développer une application qui sert à l’achat en ligne des produits de beauté,
reconnu dans le domaine informatique par le nom ” E-commerce ”, cette application
peut être développer sur plusieurs plate-forme notamment : An-
droïd , Mac OS et BlackBerry etc. Les supports de notre application Ecommerce
sont les téléphones portable mené, d’un système d’exploitation
Androïd.
--------------------------
http://nazihhenie.wordpress.com/
Lien du Blog:
PFE :: Application de gestion des dus d'enseignementNassim Bahri
Mon mémoire de PFE pour le projet Conception et développement d'une
application de gestion des dus d'enseignement pour l'Ecole Supérieure d'Economie Numérique Manouba. Le but de cette application est de centraliser les données de l'école d'une part (les parcours, les unités d'enseignement,...) et de faciliter l'affectation des charges horaire d'enseignement d'un autre part. Ce projet à été réalisé en adoptant Scrum comme étant une méthodologie de conception et de gestion de projet.
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
Ce rapport présente un projet qui a pour objectifs de réaliser une application mobile bancaire sur la plateforme Android pour permettre aux utilisateurs de localiser les agences et les distributeurs, et plusieurs autres services. Les banques aussi ont la possibilité de gérer ses données grâce à une application Web.
Résumé
Ce document englobe mon projet de fin d’étude réalisé dans le but d’obtenir le diplôme national d’ingénieur en informatique de l’école supérieure privée d’ingénierie et de technologies
(ESPRIT), suite à un stage qui a duré six mois effectués au sein de l’entreprise « DREAM TEK Consulting ». Un stage qui avait principalement pour objectif d’élargir et d’appliquer mes acquis et mes connaissances et de me préparer pour la vie professionnelle.
Ma mission était de concevoir et de réaliser une application web pour le Dashboarding et l’automatisation de la gestion des ressources RH et des produits de l’entreprise.
Ce rapport vous donne une idée bien détaillée sur le projet dans son cadre techniqueet fonctionnel.
********************************************************************
Abstract
The present document contains the details of the work done as the end-of-study project to get the national degree of IT engineering from the private higher school of engineering
and technology (ESPRIT), after a six-month internship in the firm « DREAM TEK Consulting ». An internship that aimed to expand and apply my skills and knowledge.
My mission was to design and implement a web application for dashboarding and automating the management of HR resources and the company products.
This document offers a very detailed idea about the project in both technical and functional scopes.
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
Projet de la gestion des réservations des équipements culturels de la commune d'Agadir, réalisé par AKHACHKHOUCH Ahmed et LOUKHNATI Mohamed Khalil au sein de la commune d'Agadir, ceci rentre dans le cadre de projet de Fin d'année en 4 ème année Génie informatique à l'ENSA d'Agadir.
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
Refonte et déploiement d’une solution de messagerie en utilisant l’architecture microservices.
Technologies utilisées: Angular 2, Spring Boot, Spring Cloud, Apache Camel, Kafka, MongoDB, MySQL.
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
C'est mon rapport du mon projet de fin d’études qu'il s’agit du développement d'une application de gestion du parc informatique
autant qu'un étudiant 5 eme année du l’école nationale des sciences appliquées de tetouan (ENSAT) au maroc
Rapport Stage PFE Bureau D'étude Electricité : ÉTUDE DE L’INSTALLATION ÉLECTR...SadokZgolli
This document is a project report for the electrical installation of a school complex located in Saint Georges de l'Oyapock, France. The complex includes a high school and middle school buildings. The report provides background information on the project scope and site plan. It also describes the required work, which includes a technical study of the lighting system and electrical installation for both low and high voltage. Calculation examples are provided for determining the lighting levels, cable sizes, short circuit currents and protection device ratings. The report aims to size the electrical installation appropriately and in compliance with relevant standards and regulations.
The document discusses an industrial training report for Micro Fibre Ltd, a textile company. It includes sections on project description, manpower management, machine description, raw materials, production planning and processes, quality assurance, maintenance, utilities, inventory control, cost analysis, and marketing. The report provides details on the company's facilities, departments, products, manufacturing processes, quality standards, and other operational aspects.
PFE :: Application de gestion des dus d'enseignementNassim Bahri
Mon mémoire de PFE pour le projet Conception et développement d'une
application de gestion des dus d'enseignement pour l'Ecole Supérieure d'Economie Numérique Manouba. Le but de cette application est de centraliser les données de l'école d'une part (les parcours, les unités d'enseignement,...) et de faciliter l'affectation des charges horaire d'enseignement d'un autre part. Ce projet à été réalisé en adoptant Scrum comme étant une méthodologie de conception et de gestion de projet.
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
Ce rapport présente un projet qui a pour objectifs de réaliser une application mobile bancaire sur la plateforme Android pour permettre aux utilisateurs de localiser les agences et les distributeurs, et plusieurs autres services. Les banques aussi ont la possibilité de gérer ses données grâce à une application Web.
Résumé
Ce document englobe mon projet de fin d’étude réalisé dans le but d’obtenir le diplôme national d’ingénieur en informatique de l’école supérieure privée d’ingénierie et de technologies
(ESPRIT), suite à un stage qui a duré six mois effectués au sein de l’entreprise « DREAM TEK Consulting ». Un stage qui avait principalement pour objectif d’élargir et d’appliquer mes acquis et mes connaissances et de me préparer pour la vie professionnelle.
Ma mission était de concevoir et de réaliser une application web pour le Dashboarding et l’automatisation de la gestion des ressources RH et des produits de l’entreprise.
Ce rapport vous donne une idée bien détaillée sur le projet dans son cadre techniqueet fonctionnel.
********************************************************************
Abstract
The present document contains the details of the work done as the end-of-study project to get the national degree of IT engineering from the private higher school of engineering
and technology (ESPRIT), after a six-month internship in the firm « DREAM TEK Consulting ». An internship that aimed to expand and apply my skills and knowledge.
My mission was to design and implement a web application for dashboarding and automating the management of HR resources and the company products.
This document offers a very detailed idea about the project in both technical and functional scopes.
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
Projet de la gestion des réservations des équipements culturels de la commune d'Agadir, réalisé par AKHACHKHOUCH Ahmed et LOUKHNATI Mohamed Khalil au sein de la commune d'Agadir, ceci rentre dans le cadre de projet de Fin d'année en 4 ème année Génie informatique à l'ENSA d'Agadir.
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
Refonte et déploiement d’une solution de messagerie en utilisant l’architecture microservices.
Technologies utilisées: Angular 2, Spring Boot, Spring Cloud, Apache Camel, Kafka, MongoDB, MySQL.
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
C'est mon rapport du mon projet de fin d’études qu'il s’agit du développement d'une application de gestion du parc informatique
autant qu'un étudiant 5 eme année du l’école nationale des sciences appliquées de tetouan (ENSAT) au maroc
Rapport Stage PFE Bureau D'étude Electricité : ÉTUDE DE L’INSTALLATION ÉLECTR...SadokZgolli
This document is a project report for the electrical installation of a school complex located in Saint Georges de l'Oyapock, France. The complex includes a high school and middle school buildings. The report provides background information on the project scope and site plan. It also describes the required work, which includes a technical study of the lighting system and electrical installation for both low and high voltage. Calculation examples are provided for determining the lighting levels, cable sizes, short circuit currents and protection device ratings. The report aims to size the electrical installation appropriately and in compliance with relevant standards and regulations.
The document discusses an industrial training report for Micro Fibre Ltd, a textile company. It includes sections on project description, manpower management, machine description, raw materials, production planning and processes, quality assurance, maintenance, utilities, inventory control, cost analysis, and marketing. The report provides details on the company's facilities, departments, products, manufacturing processes, quality standards, and other operational aspects.
This project charter outlines the goals of developing an educational portal for ISET Rades using Office 365 and SharePoint Online. The portal aims to introduce the university, provide online access to administrative services for students and staff, enable communication and sharing between users, and ensure security through authentication and role-based access. The portal will include administration, departments, instructors, and students sections. The project objectives are to introduce the university, allow online access to grades and documents, facilitate communication between users, and provide a secure system with role-based permissions. Defining clear goals and success criteria from the beginning will help ensure the project is successful.
Mohamed Ahmed is seeking a position where he can utilize his skills in technology and languages. He has a professional diploma in instructional technology from Fayoum University with a grade of 80.05% and a bachelor's degree in instructional technology with a grade of 84.18%. He has numerous certificates in English, Italian, computer skills and self-development areas. Mohamed has experience in marketing, organizing events, and volunteering with NGOs. He is skilled in various computer programs, languages and qualified for teamwork.
WELCOME WORDS FROM Mr KAHLAOUI MOHAMED GHASSEN
----------
The innovative idea is a source of financing, competitiveness, networking, as well as a source of solutions in the form of desires aimed at meeting and satisfying the psychological needs of future customers and consumers of the technology that has been obtained in a clearly defined territory and duration. To capitalize on efforts and meet customer needs, they must be involved in a participatory approach
Vision: i try to transform the learners to be confident and reflective to
engage them into responsible innovation for this reason i essay to add them
through a transparent communication plan.
● Mission: To fit and achieve the goals I execute a methodology and
pedagogy composed by theoretical and practical session and workshop
supervised by motivation theory for scale they psychology state and invite a
Leadership style to manage a conflict and conduct the change using many
models.
● Évaluation & Audit of Add Value : after each session i negotiate with
the learners , and i ask them before began the next workshop , i recap the
content of previous session , perhaps i using exercise contains many forms
like uses cases in a paper
This document provides a report on an industrial attachment at Interstoff Apparels Limited in Gazipur, Bangladesh. It begins with an introduction to the company, which was established in 2003 as a 100% export-oriented knit factory. The report then describes the various departments within the factory, including knitting, dyeing, finishing, printing, garments production, and support functions. It provides details on the factory's physical infrastructure and production capacities. The bulk of the report focuses on production processes, detailing the steps within knitting, dyeing, finishing, quality control, maintenance, utilities, and other operational aspects. It aims to describe the practical experiences gained during the industrial training attachment at Interstoff Apparels
Final Internship Report at Institute of Information Technology, University of Dhaka (IIT, DU [http://www.iit.du.ac.bd]); performed at Jantrik Technologies Ltd. [http://www.jantrik.com]
The document provides details about the internship of Mwesigwa Jovan Jonathans at World Vision Uganda from June 1st to August 8th, 2019. It includes declarations, dedications, acknowledgments and sections on the management of the field work practicum, case studies, lessons learned and a conclusion. The intern was placed in the Information Technology department and helped provide technical support. Key responsibilities included maintaining the network and assisting users. The internship provided real-world experience and an opportunity to develop technical and soft skills in a professional environment.
This document describes a graduation project for a remote access PC administrator application called RAPA. RAPA allows users to control their desktop computer from an Android device over a wireless network or the internet. The project uses a client-server model with a server component running on the desktop PC and a client component running on the Android device. The server is responsible for listening for connections, sending and receiving data, processing control commands, taking screenshots, and sending mouse and keyboard events to the operating system. The client opens connections to the server, sends/receives data and control commands, and sends mouse and keyboard events to the server. Both components are coded in Java. The document outlines the project idea, design considerations for local and internet
Réalisation d’un plan topographique de la ville de El-Brij,Sidi BouzidFiras Mejri
Rapport de projet synthèse intitulé : Réalisation d’un plan topographique de la ville de El-Brij,Sidi Bouzid.
Dans cette perspective, nous vison à la réalisation d’un levé topographique de précision par Drone pour la création d’un plan topographique à l’échelle 1/2000 et une orthophoto de résolution 5cm de la zone de EL BRIJ à Sidi Bouzid.
Rewrite a message exchange system and set up its testing environmentEmmanuel Padjinou
This report is about the MOX project which is basically a software designed to transfer messages between entities which are geographically distant, an accent is put on ensuring the reliability of the process. This is project aims to suppport the danish government with his reporting of water supply between danish municipalities.
Paullaster Amolo Okoth completed a 3-month internship at Samasource Kenya from January 4th to April 2nd, 2021. As part of fulfilling the requirements for a Bachelor of Science degree in Information Technology from Multimedia University of Kenya, Okoth gained practical work experience in Samasource's Service Delivery department. During the internship, Okoth worked on coding projects such as a Bluetooth chat application and an API monitoring tool. Okoth also contributed to platform improvements and provided support to agents. The internship provided valuable skills in areas like coding, cloud, web services, problem solving, and agile methodologies. Okoth concluded that the experience was important for their IT career and recommended establishing stronger partnerships between
Hibernate is an open source object-relational mapping framework for Java that provides a framework for mapping an object-oriented domain model to a traditional relational database.
2.4 Introduction to MySQL:
MySQL is a relational database management system based on SQL - Structured Query Language. Some key things about MySQL:
- MySQL is an open source RDBMS.
- It is very fast, reliable, and easy to use.
- It supports all major operating systems like Linux, Windows, macOS.
- MySQL is highly scalable - it can handle databases ranging from very small to very large applications.
- It is very popular for web-based applications due to its speed, reliability and ease of
Orange Labs France- Lannion
▪ Conception et réalisation d’une application sous Android à base du Rich Communication Suite RCS pour l’amélioration des moyens de communications traditionnelles et ce dans le cadre du « Enriched Calling » qui vient s’instaurer dans la vision 2020 d’Orange. L’application combine différentes technologies permettant ainsi aux utilisateurs de se retrouver facilement.
This document provides a summary of Mohamed Ghassen Kahlaoui's education and work experience. It lists his educational background which includes a professional master's degree from the National School of Advanced Sciences and Technologies in Tunisia and bachelor's degrees from the Higher Institute of Technological Studies and the Higher Institute of Applied Sciences, also in Tunisia. It then outlines his work experience which includes training and coaching roles with various organizations in Tunisia focused on youth development, human rights, and entrepreneurship. His experience spans both nonprofit and private sector organizations.
This document is a technical report submitted by Okpeh Harrison Jacob detailing his six month SIWES training at Elizade University's Information Communication Technology Unit from May 2018 to October 2018. The report provides an introduction to SIWES, a description of the work done during the training including learning PHP, HTML, CSS, JavaScript, MySQL, and completing projects. It also includes chapters on the knowledge gained, observations, contributions made and recommendations. The training provided hands-on experience in web development and database administration.
WIRELESS SENSOR NETWORK FOR REAL TIME AIR QUALITY MONITORINGnuru kessy
This document presents a senior project report that proposes a wireless sensor network for real-time air quality monitoring at the Dar es Salaam Institute of Technology (DIT) campus in Dar es Salaam, Tanzania. The project aims to address poor air quality at the DIT campus due to its location near congested roads with heavy traffic and nearby construction activities. The proposed system would involve placing sensor nodes around the campus to measure air pollutants in real-time. The data would be sent to a network coordinator/gateway and uploaded to a cloud server. An Android app would allow individuals to access real-time air quality maps of the campus to raise awareness and support further research.
Cegelec is part of the VINCI Energies group specializing in nuclear engineering. It has extensive experience in designing and manufacturing complex nuclear equipment. Cegelec worked on the ITER TB03 project to supply heavy nuclear doors for ITER. The report discusses Cegelec's organizational structure, history and reference projects to provide context around the company and its role in the ITER TB03 project.
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
This talk will cover ScyllaDB Architecture from the cluster-level view and zoom in on data distribution and internal node architecture. In the process, we will learn the secret sauce used to get ScyllaDB's high availability and superior performance. We will also touch on the upcoming changes to ScyllaDB architecture, moving to strongly consistent metadata and tablets.
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor IvaniukFwdays
At this talk we will discuss DDoS protection tools and best practices, discuss network architectures and what AWS has to offer. Also, we will look into one of the largest DDoS attacks on Ukrainian infrastructure that happened in February 2022. We'll see, what techniques helped to keep the web resources available for Ukrainians and how AWS improved DDoS protection for all customers based on Ukraine experience
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
"Choosing proper type of scaling", Olena SyrotaFwdays
Imagine an IoT processing system that is already quite mature and production-ready and for which client coverage is growing and scaling and performance aspects are life and death questions. The system has Redis, MongoDB, and stream processing based on ksqldb. In this talk, firstly, we will analyze scaling approaches and then select the proper ones for our system.
Introducing BoxLang : A new JVM language for productivity and modularity!Ortus Solutions, Corp
Just like life, our code must adapt to the ever changing world we live in. From one day coding for the web, to the next for our tablets or APIs or for running serverless applications. Multi-runtime development is the future of coding, the future is to be dynamic. Let us introduce you to BoxLang.
Dynamic. Modular. Productive.
BoxLang redefines development with its dynamic nature, empowering developers to craft expressive and functional code effortlessly. Its modular architecture prioritizes flexibility, allowing for seamless integration into existing ecosystems.
Interoperability at its Core
With 100% interoperability with Java, BoxLang seamlessly bridges the gap between traditional and modern development paradigms, unlocking new possibilities for innovation and collaboration.
Multi-Runtime
From the tiny 2m operating system binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, Web Assembly, Android and more. BoxLang has been designed to enhance and adapt according to it's runnable runtime.
The Fusion of Modernity and Tradition
Experience the fusion of modern features inspired by CFML, Node, Ruby, Kotlin, Java, and Clojure, combined with the familiarity of Java bytecode compilation, making BoxLang a language of choice for forward-thinking developers.
Empowering Transition with Transpiler Support
Transitioning from CFML to BoxLang is seamless with our JIT transpiler, facilitating smooth migration and preserving existing code investments.
Unlocking Creativity with IDE Tools
Unleash your creativity with powerful IDE tools tailored for BoxLang, providing an intuitive development experience and streamlining your workflow. Join us as we embark on a journey to redefine JVM development. Welcome to the era of BoxLang.
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsScyllaDB
ScyllaDB monitoring provides a lot of useful information. But sometimes it’s not easy to find the root of the problem if something is wrong or even estimate the remaining capacity by the load on the cluster. This talk shares our team's practical tips on: 1) How to find the root of the problem by metrics if ScyllaDB is slow 2) How to interpret the load and plan capacity for the future 3) Compaction strategies and how to choose the right one 4) Important metrics which aren’t available in the default monitoring setup.
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...Jason Yip
The typical problem in product engineering is not bad strategy, so much as “no strategy”. This leads to confusion, lack of motivation, and incoherent action. The next time you look for a strategy and find an empty space, instead of waiting for it to be filled, I will show you how to fill it in yourself. If you’re wrong, it forces a correction. If you’re right, it helps create focus. I’ll share how I’ve approached this in the past, both what works and lessons for what didn’t work so well.
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxSunil Jagani
Discover how AI is transforming the workplace and learn strategies for reskilling and upskilling employees to stay ahead. This comprehensive guide covers the impact of AI on jobs, essential skills for the future, and successful case studies from industry leaders. Embrace AI-driven changes, foster continuous learning, and build a future-ready workforce.
Read More - https://bit.ly/3VKly70
The Department of Veteran Affairs (VA) invited Taylor Paschal, Knowledge & Information Management Consultant at Enterprise Knowledge, to speak at a Knowledge Management Lunch and Learn hosted on June 12, 2024. All Office of Administration staff were invited to attend and received professional development credit for participating in the voluntary event.
The objectives of the Lunch and Learn presentation were to:
- Review what KM ‘is’ and ‘isn’t’
- Understand the value of KM and the benefits of engaging
- Define and reflect on your “what’s in it for me?”
- Share actionable ways you can participate in Knowledge - - Capture & Transfer
In the realm of cybersecurity, offensive security practices act as a critical shield. By simulating real-world attacks in a controlled environment, these techniques expose vulnerabilities before malicious actors can exploit them. This proactive approach allows manufacturers to identify and fix weaknesses, significantly enhancing system security.
This presentation delves into the development of a system designed to mimic Galileo's Open Service signal using software-defined radio (SDR) technology. We'll begin with a foundational overview of both Global Navigation Satellite Systems (GNSS) and the intricacies of digital signal processing.
The presentation culminates in a live demonstration. We'll showcase the manipulation of Galileo's Open Service pilot signal, simulating an attack on various software and hardware systems. This practical demonstration serves to highlight the potential consequences of unaddressed vulnerabilities, emphasizing the importance of offensive security practices in safeguarding critical infrastructure.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...DanBrown980551
This LF Energy webinar took place June 20, 2024. It featured:
-Alex Thornton, LF Energy
-Hallie Cramer, Google
-Daniel Roesler, UtilityAPI
-Henry Richardson, WattTime
In response to the urgency and scale required to effectively address climate change, open source solutions offer significant potential for driving innovation and progress. Currently, there is a growing demand for standardization and interoperability in energy data and modeling. Open source standards and specifications within the energy sector can also alleviate challenges associated with data fragmentation, transparency, and accessibility. At the same time, it is crucial to consider privacy and security concerns throughout the development of open source platforms.
This webinar will delve into the motivations behind establishing LF Energy’s Carbon Data Specification Consortium. It will provide an overview of the draft specifications and the ongoing progress made by the respective working groups.
Three primary specifications will be discussed:
-Discovery and client registration, emphasizing transparent processes and secure and private access
-Customer data, centering around customer tariffs, bills, energy usage, and full consumption disclosure
-Power systems data, focusing on grid data, inclusive of transmission and distribution networks, generation, intergrid power flows, and market settlement data
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
What is an RPA CoE? Session 1 – CoE VisionDianaGray10
In the first session, we will review the organization's vision and how this has an impact on the COE Structure.
Topics covered:
• The role of a steering committee
• How do the organization’s priorities determine CoE Structure?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
"NATO Hackathon Winner: AI-Powered Drug Search", Taras KlobaFwdays
This is a session that details how PostgreSQL's features and Azure AI Services can be effectively used to significantly enhance the search functionality in any application.
In this session, we'll share insights on how we used PostgreSQL to facilitate precise searches across multiple fields in our mobile application. The techniques include using LIKE and ILIKE operators and integrating a trigram-based search to handle potential misspellings, thereby increasing the search accuracy.
We'll also discuss how the azure_ai extension on PostgreSQL databases in Azure and Azure AI Services were utilized to create vectors from user input, a feature beneficial when users wish to find specific items based on text prompts. While our application's case study involves a drug search, the techniques and principles shared in this session can be adapted to improve search functionality in a wide range of applications. Join us to learn how PostgreSQL and Azure AI can be harnessed to enhance your application's search capability.
In our second session, we shall learn all about the main features and fundamentals of UiPath Studio that enable us to use the building blocks for any automation project.
📕 Detailed agenda:
Variables and Datatypes
Workflow Layouts
Arguments
Control Flows and Loops
Conditional Statements
💻 Extra training through UiPath Academy:
Variables, Constants, and Arguments in Studio
Control Flow in Studio
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
Must Know Postgres Extension for DBA and Developer during Migration
PFE .NET CRM
1. République Tunisienne
Ministère de l’Enseignement Supérieur et de la
Recherche Scientifique
Direction Générale des Etudes Technologiques
ISET de Rades
Département Technologies de l’Informatique
التونسية الجمهورية
العالي التعليم وزارةالعلمي والبحث
للدراسات العامة اإلدارةالتكنولوجية
ب التكنولوجية للدراسات العالي المعهدرادس
قســمتكنولوجياتاإلعالمية
Adresse : Rue El Quods, BP 172 - 2098 - Radès
Téléphone : 71 460 100 Fax : 71 442 322
Site Web : www.isetr.rnu.tn
:العنواننهجالقدسص.ب ،-172-2098-رادس
:الهاتف71 460 100:الفاكس71 442 322
www.isetr.rnu.tn :الواب موقع
Rapport de Projet de Fin d'Etudes
LICENCE APPLIQUEE EN TECHNOLOGIES DE L'INFORMATIQUE
PARCOURS: DEVELOPPEMENT DES SYSTEMES D’INFORMATIONS (DSI)
Entreprise:
SINORFI
Plateforme WEB pour la Gestion de la Relation Client
Code PFE : DSI-18-17 Année universitaire : 2017/2018
Encadré par:
Encadreur(s) entreprise: M. Mohamed
Tawfik WERFELLI
Encadreur(s) ISET: M. Riadh GHLALA
Réalisé par:
Rym DAKHLI
2. Tunisian republic
Ministry of Higher Education and Scientific
Research
General Directorate of Technological Studies
ISET of Rades
Department of Computer Technologies
التونسية الجمهورية
العالي التعليم وزارةالعلمي والبحث
التكنولوجية للدراسات العامة اإلدارة
ب التكنولوجية للدراسات العالي المعهدرادس
قســمتكنولوجياتاإلعالمية
Address: El Quods Street, BP 172 - 2098 - Radès
Telephone: 71 460 100 Fax: 71 442 322
Website: www.isetr.rnu.tn
:العنواننهجالقدسص.ب ،-172-2098-رادس
:الهاتف71 460 100:الفاكس71 442 322
www.isetr.rnu.tn :الواب موقع
Graduation Project’s Report
Applied license in computer technologies
Branch: DEVELOPMENT OF INFORMATION SYSTEMS (DSI)
Host Organization:
SINORFI
WEB Platform of Customer Relationship Management
Supervised By:
SINORFI’s Supervisor: Mr. Mohamed
Tawfik WERFELLI
ISET’s Supervisor: Mr. Riadh GHLALA
PFE Code: DSI-18-17 Academic Year: 2017/2018
Realized By:
Rym DAKHLI
3. DEDICATION
It is with great pleasure that I dedicate this work.
To my mother and my father, for their support, the encouragement they
have always given me and especially the sacrifices they made so that I could
succeed in my studies.
To my siblings, for their affection and their love. I wish you joy, and success.
To my friends, for all those enjoyable moments we shared together.
Rym DAKHLI
4. ACKNOWLEDGEMENT
At the end of this work, we would like to thank everyone who without them
this project would never be completed.
Our thanks are especially to:
Mr. Ahmed JOUINI, owner of SINORFI, for giving us the honor to work within
his team.
Mr. Mohamed Tawfik WEFELLI, who did lead me throughout my internship. His
modesty and his kindness is matched only by his great professional qualities.
I also particularly thank Mr. Riadh GHLALA for accepting to supervise my
work throughout this project. His availability and his valuable advices have
greatly helped me to complete this project.
I express my sincere thanks to all the team of SINORFI.
Our most distinguished expressions, for all those who have contributed near
or far to the accomplishment of this project.
5. LIST OF CONTENTS
Contents
General Introduction...............................................................................................................................1
1.Project's Frame ....................................................................................................................................2
1.1. Introduction .................................................................................................................................2
1.2. SINORFI and its services...............................................................................................................2
1.2.1. SINORFI's services .................................................................................................................2
1.2.2. SINORFI's products................................................................................................................2
1.3. Purpose behind the Project .........................................................................................................3
1.4. State of the art.............................................................................................................................3
1.4.1. Customer Relationship Management (CRM)........................................................................3
1.4.2. Cloud Computing ..................................................................................................................4
1.4.2.1. Features .........................................................................................................................4
1.4.2.2. Types..............................................................................................................................5
1.5. Project’s adopted Methodology:.................................................................................................6
1.5.1. Agile methods .......................................................................................................................6
1.5.2. Agile methodologies comparison .........................................................................................6
1.5.3. The choice of Scrum methodology .......................................................................................7
1.5.3.1. Scrum roles: ...................................................................................................................7
1.5.3.2. Scrum artifacts:..............................................................................................................7
1.5.3.3. Scrum formal inspection:...............................................................................................7
1.5.3.5. The paradox in scrum: Sprint zero philosophy: .............................................................8
1.5.4. Scrum roles ...........................................................................................................................8
1.6. Conclusion....................................................................................................................................8
2. Sprint zero:..........................................................................................................................................9
2.1. Introduction .................................................................................................................................9
2.2. SRS: software requirements specification (IEEE830 standard)....................................................9
2.2.1. Introduction ..........................................................................................................................9
2.2.1.1. Purpose ..........................................................................................................................9
2.2.1.2. Scope..............................................................................................................................9
2.2.2. Acronyms, definitions and references..................................................................................9
2.2.2.1. Acronyms .......................................................................................................................9
2.2.2.2. Definitions....................................................................................................................10
2.2.2.3. References ...................................................................................................................10
2.2.3. General description.............................................................................................................10
8. LIST OF FIGURES
Figure 1: CRM types [3]...........................................................................................................................3
Figure 2: Cloud Computing system [4]....................................................................................................4
Figure 3: Cloud computing types [6].......................................................................................................5
Figure 4: The Scrum flow representation [11]........................................................................................8
Figure 5: Context diagram.....................................................................................................................13
Figure 6: Global use case diagram ........................................................................................................14
Figure 7: Global class Diagram..............................................................................................................15
Figure 8: Global Component Diagram ..................................................................................................16
Figure 9: Deployment diagram .............................................................................................................18
Figure 10: Product backlog screenshot VSTS........................................................................................20
Figure 11: Use Case Sprint1 ..................................................................................................................23
Figure 12: Class Diagram sprint1...........................................................................................................24
Figure 13: Authentication Sequence Diagram......................................................................................25
Figure 14: Account creation sequence diagram ...................................................................................26
Figure 15: Admin Interface code Screenshot........................................................................................27
Figure 16: test Registration interface ...................................................................................................27
Figure 17: Use Case sprint2: Ticketing system......................................................................................31
Figure 18: class diagram sprint2 ...........................................................................................................33
Figure 19: delete trouble ticket sequence diagram..............................................................................34
9. LIST OF TABLES
Table 1: Agile methodologies comparison..............................................................................................6
Table 2: Scrum roles................................................................................................................................8
Table 3: Table of acronyms.....................................................................................................................9
Table 4: Table of definitions..................................................................................................................10
Table 5: Groups of diagrams in UML.....................................................................................................12
Table 6: Product backlog.......................................................................................................................19
Table 7: Sprint Backlog..........................................................................................................................22
Table 8: Use Case Briefs, Sprint1: Update Profile.................................................................................23
Table 9: Sprint2 backlog: ticketing system ...........................................................................................30
Table 10: Use Case Briefs, Sprint2: Delete non-processed ticket.........................................................32
Table 11: Use Case Briefs, Sprint2: Process ticket ................................................................................32
10. 1
General Introduction
During the Middle Ages, traders and craftsmen, have tried to take care of their customers. Thus, a
blacksmith or a baker had to offer the best service to his client to make sure to enhance the image of
its business also to keep it as a loyal client.
More recently, during the 50's or 60's, the customer could wait for months or even years for a product
ordered! In fact, companies generally had a "monopoly" in their sector of activity and exercised a
game of domination over their customers.
During the 1990s, the situation changed with the opening of trade to "competition" and the customer
became king. Therefore, Companies understand that taking care of their customers is essential to the
risk of a reduction in sales and getting a tarnished image.
Therefore, the customer has the choice. It should not be considered as passive, subjected to the
pressure of suppliers anymore, but as an actor who chooses knowingly.
The balance of power customer - supplier seems to rebalance to his advantage, and for the company,
there are no more customers acquired for life.
So, to insure its progress and positive income, companies today opted to new solutions so they can
better manage their relationship with their customers and partners such as the example of Customer
Relationship Management (CRM). CRMs were created to facilitate the communication between a
client and the company that provides him with several services.
Hence, this is what my graduation project looks into. We will start working on the most important
modules and carrying on until it covers the needs, this report will take you in a discovery of the
modules that I have realized since my internship began, it won't be so typical so that I'm not
implementing a classical process.
These modules are: an operational CRM module and analytical CRM module. They will be developed
within Microsoft .Net technology using several other technologies such as the Bootstrap framework.
To do this, we conduct a theoretical study to better understand the context of our project.
Our report will be divided into project's frame where we introduce the host organization, the subject
of our project and the project's adopted methodology, passing to the details of every sprint.
11. 1.Project's Frame
2
1.Project's Frame
1.1. Introduction
In this chapter, we will present the general frame of our project, namely the host company which
proposed and accommodated this project, it's purpose, then a preliminary study is in order ,that will
help understand the project's status on the market and we will end up by detailing the work
methodology adopted to accomplish a better results.
1.2. SINORFI and its services
SINORFI stands for (Société d'INgénierie d'ORganisation Financiere et Industrie), or Financial and
industry engineering company.
SINORFI covers all the management consulting services, from the definition of the strategy to the
complete implementation of the solutions.
SINORFI and its professionals work closely with their customers to make them jump in competitiveness
and be at the service of their performance.
SINORFI is specialized in consulting, integration of solutions and information systems.
SINORFI creates value for its customers by mobilizing its teams around the major transformations of
companies. Performance improvement, change management and the integration of new technologies
represent so many projects for which SINORFI brings the best solutions to the challenges of its
customers. [1]
1.2.1. SINORFI's services
[1]
Customer Relationship Management (CRM)
Improving operating performance
Assets and services management
Enterprise Resource Planning (ERP)
Energy management
1.2.2. SINORFI's products
[1]
IBM Tivoli
IBM Maximo
Sage
Oracle
Siemens SIMATIC
Siemens Maintegrity
12. 1.Project's Frame
3
1.3. Purpose behind the Project
As part of its business, the SINORFI deals basically with handling the incidents of the various
customers, the management products and the loyalty of their customers.
To do so, it does receive phones calls and even huge flow of e-mails, it engenders the risk of ignoring
some important incidents, or a customer loss, also that makes the work difficult and exhaustive.
SINORFI for that needs an application that solves these problems and to better understand the
principle of the relationship management points, it is necessary to define some basic concepts that
we present in the following section.
1.4. State of the art
1.4.1. Customer Relationship Management (CRM)
Customer Relationship Management is a set of practices, strategies and technologies used by
businesses to manage and analyze customer interactions and data, and a marketing approach to
building close relationships with customers and prospects to encourage them to focus on a strong
share of their purchase and incidents.
Currently: Buy or develop? [2]
The question that most companies ask is; which CRM software should I choose? In fact, there are so
many CRMs; The following table briefly explains the particularities of the dominant CRMs in the
market:
Software feature
Salesforce Sales Cloud Focused on innovation (social CRM and big data)
Sugar CRM Open Source and customizable
Microsoft Dynamics CRM Integrated to the Office Suite
Oracle Siebel CRM Very complete with a sales prediction tool
Each one of them is great, but each is missing something that you certainly need, the question that
must arise is why we need CRM?
So you better consider the context of your company’s business while highlighting Dominant
characteristics of CRM that you need.
Figure 1: CRM types [3]
13. 1.Project's Frame
4
While CRMs in the previous products is collaborative (social), analytical or/and operational that deals
with automations and smart scripts, SINORFI only needs:
•Operational CRM that focuses on customer service and after sales service.
•Analytical CRM that focuses on analyzing customer-related data for strategic or tactical purposes.
SINORFI can't afford the expenses of buying one of the previous CRM products and it doesn’t choose
an open source one that it doesn't want to handle any updates problems.
And since it is a company in the process of development it chooses to develop a CRM from scratch
that will grow with its needs.
1.4.2. Cloud Computing
While Cloud computing is a paradigm that enables real time access to shared and configurable system
resources and higher-level services that can be rapidly provisioned with minimal management effort,
often over the Internet. SINORFI chooses to deploy it's CRM product on Microsoft Azure Cloud service.
Figure 2: Cloud Computing system [4]
1.4.2.1. Features
The National Institute of Standards and Technology (NIST) provide a very precise definition of the
different elements that characterize the cloud: "This model promotes availability and includes five
main features: [5]
• Free on-demand service.
• Extended access to the network.
• Pooling of resources.
• Elasticity / scaling fast.
• Pay by use.
14. 1.Project's Frame
5
1.4.2.2. Types
The three model layers of IT-as-a-Service were introduced by NIST standards; [5]
1. SaaS: Software as a Service, the provider maintains the applications used by the client in a
completely transparent way. Example we could find Google applications (doc, reader, Gmail„
etc.) also Salesforce CRM, etc.
2. PaaS: Platform as a Service, the client only maintains its applications while the supplier
maintains the servers and the software infrastructure (Databases, application’s behavior in
the client side, security, and storage). It provides computational resources via a platform upon
which applications and services can be developed and hosted. example: Google App Engine,
Microsoft Azure Cloud, OpenShift (Redhat).
3. IaaS: Infrastructure as a Service. It provides resources are composed of virtualized
infrastructure which is mostly located in a remote Datacenters. Examples: SQL Azure.
Everyone loves Pizza, right! So the best way to understand this is to compare it to the famous
Pizza-As-a-Service.
Figure 3: Cloud computing types [6]
SINORFI focuses on the specific form of cloud: PaaS. Since it will have only access to the application and its
data (database, etc..), PaaS is the suitable form of implementation that it will be handling the presentation
and the data layers of the application once it is deployed to the cloud.
15. 1.Project's Frame
6
1.5. Project’s adopted Methodology:
The adoption of a development methodology is a must to ensure an acceptable level of quality and to
avoid missing deadlines.
1.5.1. Agile methods
An agile method is an iterative and incremental approach to software development, which produce,
within a constrained time, high quality software aims to meet the changing needs of users. The goal
of an agile method is to maximize the added value. The development is carried out by successive
iterations, it is possible, at the end of each iteration, to change priorities by ensuring that the elements
bringing the most value are realized first.
The principles of the Agile Manifesto are: [7]
• Satisfy the customer by delivering early and regularly useful software.
• Accept changes even late in development.
• Frequently deliver an application that works.
• Collaborate daily between customers and developers.
1.5.2. Agile methodologies comparison
In this section, we will try to identify the differences between some of the best known agile
development methods. The following table briefly compares agile methods, including: [8]
• Extreme Programming (XP).
• Rational Unified Process (RUP). [9]
• Scrum.
• Feature-Driven Development (FDD).
Table 1: Agile methodologies comparison
method Advantage Disadvantages
XP • Customer-driven development
• Reduced teams, focused on
developers in pairs.
• Built daily, continuous
improvement, adaptive to changes.
• Emphasize individual development the cost
of the general direction practices or
formalization.
• Risk of lack of control and structure,
leaving developers free to drift away from
the functions of the application.
RUP • The whole process helped with
tools.
• Well defined roles.
• Heavy, widely spread, it can be
difficult to implement in a specific way.
• Suitable for large projects that generate
a lot of documentation.
Scrum •mixed teams.
•30-day Iterations.
• Daily meetings.
• Implementation of the development
is not specified, taking considerations of
human resources management.
FDD •Well-defined and simple
process and very short
iterations
• Only focused on development.
16. 1.Project's Frame
7
1.5.3. The choice of Scrum methodology
Scrum uses an iterative and incremental approach that aims to maximize predictability. [10]
1.5.3.1. Scrum roles:
The Scrum team has three roles: [10]
1. The Product Owner is the one that has the idea that is going to be turning to a project.
2. The SCRUM Master acts as the team's leader in helping the team and the organization make
the best use of Scrum.
3. The Development Team is made up of professionals who work to make the product
incrementally with a series of short periods of time called Sprints.
1.5.3.2. Scrum artifacts:
Scrum proposes the creation of three essential artifacts: [10]
1. The Product Backlog is an ordered list of ideas for the product, which is maintained in the
expected production order.
2. The Sprint Backlog is the detailed development plan for the next Sprint.
3. The Burndown chart.
1.5.3.3. Scrum formal inspection:
Scrum prescribes four formal inspection and adaptation opportunities: [10]
1. Sprint Planning is a boxed meeting that triggers each sprint. During this meeting, the Scrum
team collaborates to select and understand the work to be done in the upcoming Sprint.
2. The Daily Scrum is a meeting that takes place at the same places and at the same time every
day. It is used by the development team to ensure that it is appropriate for the situation to
achieve the Sprint goal.
3. The Sprint Review (Sprint Review) is an hour-long boxing meeting where the Scrum team and
stakeholders review the Sprint result.
4. The Sprint Retrospective is a meeting that closes every sprint to examine how things went
about the process, relationships between people, and tools.
The following schema is a recap of the Scrum flow highlighting its roles, artifacts and inspections.
17. 1.Project's Frame
8
Figure 4: The Scrum flow representation [11]
1.5.3.5. The paradox in scrum: Sprint zero philosophy:
In the lifecycle of every project we need an inception or a starting point to include everything we need
to work on it, from the people to the processes. And it is a much smoother step to getting started than
to get lost in further steps.
For this previous reason, and to make scrum more practical, a special sprint set up, called Sprint zero,
and we also call it iteration zero or inception sprint.
What inception sprint should be?
Sprint Zero should be used to create the basic skeleton for the project so that future sprints can truly
add incremental value in an efficient way; It is used to prepare the necessary documents or delimiting
teams and their roles also for installing an appropriate environment for work.
In our case; specify the software requirements, prepare the product backlog then plan for the
upcoming typical sprints. [12]
1.5.4. Scrum roles
As we mentioned at first that we are going to adopt scrum methodology, we should first make sure
that the roles are well distributed until we can start working.
Table 2: Scrum roles
Scrum role FirstName & Last Name role
Product owner Ahmed JOUINI Define the functionalities to be build
Scrum Master Mohamed Tawfik WERFELLI Does anything possible to help the
team perform at their highest level
Development team Rym DAKHLI Requirements, design, development
1.6. Conclusion
In this chapter, we present our project and the motivations that drive us to develop a CRM from
scratch while introducing the host organization SINORFI.
After discussing new technologies and choosing Scrum framework, which will manipulate the life-
cycle of the Software product, we will run into sprints.
18. 2. Sprint zero:
9
2. Sprint zero:
2.1. Introduction
this chapter is an inception for our project it includes the requirements of our software, that goes with
IEEE 830 standard for software requirements specifications and the backlog of the product and a spike
clarification for the upcoming sprints. [13]
2.2. SRS: software requirements specification (IEEE830 standard)
The main idea of this specification standard is that it deals with agile methodology; it can be
modified all along the project in contrast with the older waterfall life cycles. So, it is an agile spec!
Placing this chapter here does not refer that it was done first, it was iteratively approached all along
the project!
2.2.1. Introduction
2.2.1.1. Purpose
This document fully describes the expected behavior of our software system; collect and analyze all
assorted ideas that have come up to define the system, its requirements with respect to consumers.
And provide a detailed overview of our software product, its parameters and goals all along the
project's life cycle.
It is intended for both the stakeholders and the developers of the system.
2.2.1.2. Scope
Our job is to develop a web and BI platform for customer relationship management to manage their
needs and provides the managers with a snapshot of company performance and the various functions
in one place. It is designed to reduce time-consuming tasks, increase sales and customer loyalty care.
More specifically, this system is designed to allow the users to better solve problems with a trouble ticket
module and a BI module that helps the manager with decision making.
It will be provided with a relational database and deployed on azure cloud service.
2.2.2. Acronyms, definitions and references
2.2.2.1. Acronyms
Table 3: Table of acronyms
Acronym Stands for
CRM Customer Relationship Management
ERP Enterprise Resource Planning
SINORFI Société d'INgénieurie d'ORganisation Financiere et Industrie
NIST National Institute of Standards and Technology
VSTS Visual Studio Team Services
UML Unified Modeling Language
HTTP HyperText Transfer Protocol
WCF Windows Communication Foundation
ODBC Open Database Connectivity
19. 2. Sprint zero:
10
2.2.2.2. Definitions
Table 4: Table of definitions
Term definition
CRM is a term that refers to practices, strategies and technologies that
companies use to manage and analyze customer interactions and data
NIST is one of USA’s oldest physical science laboratories.
WCF framework for building service-oriented applications
ODBC standard application programming interface (API) for accessing
database management systems
HTTP is the underlying protocol used by the World Wide Web and this
protocol defines how messages are formatted and transmitted.
2.2.2.3. References
This document is officially declared at:
IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. IEEE
Computer Society, 1998.
2.2.3. General description
2.2.3.1. System functionalities
The system can be divided into analytical and operational CRM;
o Operational CRM
Ticketing system
Sales management
o Analytical CRM
Dashboards and reporting
2.2.3.1.1. Functional requirements:
Our application must provide the features which are going to be specified in this section. The
processes to be implemented are:
• All Customers should be able to create a trouble ticket and keep informed by its status.
• Dashboards need to be useful, understandable and up-to-date as well as the reports.
• The Help desk and should be able to treat every single trouble ticket
• Customers should be able to modify their accounts.
• The manager should be able to manage the products.
• The customer should see the products
• The administrator should have access to all information around the system.
2.2.3.1.2. Non-Functional requirements:
This application must satisfy a series of non-functional requirements such as:
• Security: the system needs to control the users access and session (encrypted data).
• Performance: velocity of response time especially for data access.
• Maintainability: well commented source code.
• Data Integrity: Information should be provided by the CRM Platform on the Cloud.
20. 2. Sprint zero:
11
2.2.3.2. Actors identification
Administrator
o manage all accounts
o auditing of the system
o feedback management
Helpdesk
o Treats the trouble tickets.
Manager:
o Treats the trouble tickets.
o Product management.
Customer:
o Create incident tickets
o Send feedback.
2.2.3.3. Constraints
We have no constraints.
2.2.3.4. Hypotheses
This system is supposed to work on Azure cloud server, user can connect after having their accounts
from administration, the back-office should be responsive to any user requirements and should be
executive from any machine that supports an internet browser.
2.2.4. Minimal design up front
For the modeling of the system we will adopt a set of Unified Modeling Language UML diagrams.
The current UML standards call for thirteen different types of diagrams: class, activity, object, use
case, sequence, package, state, component, communication, composite structure, interaction
overview, timing, and deployment.
These diagrams are organized into three distinct groups:
1. Structural diagrams
2. Behavioral diagrams
3. Functional diagrams
The following table 4 represents the interest of those three groups, the specifications and focus of
each group and its description, and the associated UML diagrams.
21. 2. Sprint zero:
12
Table 5: Groups of diagrams in UML
Group Description Focus UML diagrams
Functional
View
The functionality of the software
as its roles in the business
process and its interaction with
the user and the environment.
How the system works
from the external
point of view.
Use case diagram
Activity diagram
Structural
View
The structure of the data that
supports the business process in
an organization and their
representation and process in the
software.
The logic organization
of data at technical
details such as how
the data are stored,
created or
manipulated in design
and implementation.
Object diagram
Class diagram
Package diagram
Deployment diagram
Component diagram
Behavioral
View
The internal dynamic aspects
that supports the business
processes in an organization.
The internal logic of
processes and how
the processes are
implemented
Sequence diagram
Communication
diagram
Behavioral diagram
State diagram
In the upcoming stage we will do as a first modeling iteration;
The context diagram and the system use case that will help understanding an external global view of
how our system is going to be as Functional view. The component diagram and the component
diagram to see better the physical and logical architecture of the system and facilitate the upcoming
work as Structural view.
We will be leaving a detailed use case as well as functional view.
Class diagram and sequence diagram Structural and behavioral respectively.
22. 2. Sprint zero:
13
2.2.4.1. Functional View
2.2.4.1.1. System context diagram
This diagram is not mentioned with the thirteen official diagrams of UML, it considers the system as a
black box to highlight its external relationships, and the maximum number of instances of each actor
connected to the system at a given point in time. [14]
A system context diagram (SCD) is a diagram that defines the boundary between the system, or part
of a system, and its environment, showing the entities that interact with it. This diagram is a high-level
view of a system. It is similar to a block diagram.
This diagram is called a top-level use-case diagram, but as it’s very similar to a type of diagram that
predates UML; it often called: context diagram. This type of diagram, shown in Figure 6, displays the
system of interest and all its actors—but it hides the use cases themselves.
The SCD takes place right after actor’s identification and before the use cases.
Figure 5: Context diagram
23. 2. Sprint zero:
14
2.2.4.1.2. Use Case Global view
The use case diagram is the primary form of system requirements for a new software program under
development. Use cases specify the expected behavior (what). It summarizes some of the
relationships between use cases and actors as represents the following Figure 7.
Figure 6: Global use case diagram
24. 2. Sprint zero:
15
2.2.4.2. Structural View
The following Figure represents the global class diagram and shows the set of classes we’re needing
in the project and their interrelationships.
Figure 7: Global class Diagram
In this section, the architecture of the CRM System is described in more detail using UML 2,
Component diagram.
It will represent an overview of the structure of the system which introduces single parts, like
interfaces and connections between them to show the structure the single components beginning
with the topmost, namely the component CRM and going on with the inner, more detailed
components are beheld and respectively their instance number indicated on the upper left of each
component.
It is organized as a layered architecture these layers are web, Business Logic, Data access and the Data
store or database.
25. 2. Sprint zero:
16
Figure 8: Global Component Diagram
The Figure 8 represents eventually the Global Component diagram that shows the dependencies and
interactions between software components. A component is the container of logical elements and
represents things that participate in the execution of a system.
For each instance of CRM exists only one instance of the component Database where all data is stored.
The component Data representing the data Access layer of a classical three-layer-architecture hides
details of the database and provides data access to the application layer represented by the
component Business Logic.
The communication between the components Data Store and Data Access is managed by ODBC as an
implementation of .NET Persistence API with the persistence framework Entity Framework.
Each of the components Data Access and Business Logic provides generic interfaces to communicate
with Business Logic and Web respectively;
26. 2. Sprint zero:
17
IPersistance boundary includes each of the interfaces:
• IUserRepository
• ITicketRepository
• IProductRepository
IBusiness boundary includes each of the interfaces:
• IUserService
• ITicketService
• IProductService
While the Component diagram deals with layered architecture, down below Deployment diagram will
highlight the physical tiers architecture.
The following Figure 9 represents the Structural deployment diagram that shows the architecture of
the system as distribution of software artifacts to deployment targets.
Deployment target is usually represented by a node which is either hardware device or some software
execution environment (web browser, web server and data server).
Nodes could be connected through communication paths to create networked systems of arbitrary
complexity (HTTP and ODBC).
28. 2. Sprint zero:
19
2.3. Product Backlog
The agile product backlog in Scrum is a prioritized features list containing short descriptions of all
functionalities desired in the product. When applying Scrum, it is not necessary to start the project
with a completed documentation of all requirements. The Scrum product backlog is then allowed to
grow and change as more is learned about the product and its customers.
Table 6: Product backlog
Sprint Sprints
Priorities
ID
User Story
User Stories
Priorities
Account
s
manage
ment
25 1 as an administrator I want to be able to create
accounts and roles
25
2 as an administrator I want to be able to block
accounts
5
3 as an administrator I want to be able to
reactive accounts
5
4 as an administrator I want to be able to read all
the accounts
12
5 as a customer I want to be able to update my
profile
5
6 as a helpdesk I want to be able to update my
profile
5
7 as a manager I want to be able to update my
profile
5
Ticketin
g system
25 8 as a customer I want to be able to create tickets 25
9 as a customer I want to be able to read the
state of the tickets that I created
25
10 as a customer I want to be able to delete my
ticket not yet treated
12
11 as a helpdesk I want to be able to read all
tickets and owner profiles
20
12 as a helpdesk I want to be able to update
tickets
25
13 as a manager I want to be able to read all the
tickets and the profile of the owners
12
14 as a manager I want to be able to update tickets 12
Product
manage
ment
12 15 as a customer I want to be able to read
products
20
16 as a manager I want to be able to create
products
25
17 as a manager I want to be able to update a
product
20
18 as a manager I want to be able to delete a
product
5
Analytic
al
manage
ment
- 19
as a customer I want to be able to send a
feedback of satisfaction
-
PS: descending priority order.
29. 2. Sprint zero:
20
The project management tool used to organize the work and especially share it, is
VisualStudioTeamService.
Figure 10: Product backlog screenshot VSTS
2.4. Technical choice
• Visual Studio: Integrated Development Environment
• SQL Server: Relational database server
• Visual Studio Team Service: Git and project management tool
• ASP.NET MVC5(.NET framework): It is a runtime execution environment it contains the
Common Language Runtime (CLR), the base class libraries and other managed libraries.
[15]
• C#: Object Oriented programming language chosen to code the .NET application. [15]
• ASP.NET identity: Framework that includes authentication, works with Open Web Interface
for .NET (OWIN), and included with the ASP.NET. [15]
• Entity Framework: is an object-relational mapper that enables .NET developers to work
with relational data using domain-specific objects. It eliminates the need for most of
the data-access code that developers usually need to write. [15]
• Bootstrap Framework: Bootstrap is the most popular HTML, CSS, and JavaScript
framework for developing responsive, mobile-first websites. Bootstrap is completely
free to download and use. [16]
2.5. Conclusion
This was the sprint zero that handled the Software Requirements Specifications document that will
have iterations and incrementations all along the project, the First Scrum artifact; product backlog,
scrum roles and a global view about the system and the sprints.
The upcoming parts will be Sprints containing its artifacts ceremonies and other disciplines.
30. 4. Sprint1: Accounts management
21
4. Sprint1: Accounts management
Plan
4. Sprint1: Accounts management........................................................................................................21
3.1. Sprint Planning...........................................................................................................................21
3.1.1. Sprint backlog......................................................................................................................22
3.2. Daily Scrum ................................................................................................................................23
3.2.1. Analysis ...............................................................................................................................23
3.2.1.1. Use Case.......................................................................................................................23
3.2.1.2. Use case briefs .............................................................................................................23
3.2.2. Design..................................................................................................................................24
3.2.2.1. Class Diagram: Accounts management........................................................................24
3.2.2.2. Authentication sequence Diagram ..............................................................................25
3.2.2.3. Account creation sequence diagram ...........................................................................26
3.2.3. Implementation ..................................................................................................................27
3.2.4. Test......................................................................................................................................27
3.3. Sprint review..............................................................................................................................28
3.4. Sprint retrospective ...................................................................................................................28
3.1. Sprint Planning
As far as we already have our product backlog, this inspection had place in 28/03/2018 and lasted for
two hours, and where we decided to complete a set of product backlog items.
This agreement has defined the sprint backlog based on the team’s velocity or capacity and the length
of the sprint.
31. 4. Sprint1: Accounts management
22
3.1.1. Sprint backlog
During the Sprint Planning inspection, we selected few items from the product backlog, delimited the
user stories and necessary tasks to accomplish each of them. Down below the table representing
Sprint backlog tasks and estimation in days of each task.
Table 7: Sprint Backlog
Id User Story Id task Tasks Estimation Priority
1 as an administrator I want to
be able to create accounts and
roles
1 Integrate interfaces 3 12
2 Implement create user
method
4 25
3 Implement method
to assign role
3 20
2 as an administrator I want to
be able to block accounts
4 Conceive and implement
the method to block
account
3 12
3 as an administrator I want to
be able to reactive accounts
5 Implement the method to
reactive blocked accounts
3 12
6 test block and reactive
accounts
3 5
4 as an administrator I want to
be able to read all the accounts
7 Conceive the interface
to display accounts
3 12
8 Implement the method to
display
3 12
9 Test the functionality 2 12
5 as a customer I want to be able
to update my profile
10 Conceive the interface
to display profile
3 5
11 Implement the method
and interface to display
the users profile
4 5
12 Test 2 5
6 as a helpdesk I want to be able
to update my profile
13 Conceive the interface
to display profile
3 5
14 Implement the method
and interface to display
the users profile
4 5
15 Test 2 5
7 as a manager I want to be able
to update my profile
16 Conceive the interface
to display profile
3 5
17 Implement the method
and interface to display
the users profile
4 5
18 Test 2 5
32. 4. Sprint1: Accounts management
23
3.2. Daily Scrum
All along the Sprint an everyday inspection takes place where we deal about the work done, the
upcoming steps and the problems we had during the work. Yet in this sprint we had to make several
iterations between analysis, design, code and test.
3.2.1. Analysis
3.2.1.1. Use Case
Figure 11: Use Case Sprint1
3.2.1.2. Use case briefs
Table 8: Use Case Briefs, Sprint1: Update Profile
Name Update Profile
description The user can update personal information through his profile section like
his phone number, birthday...
actors Customer, helpdesk, Manager
preconditions Accounts created and active
Basic flow Read account and update information
Alternative flow Account blocked, leaving the page without validating the changed
information
Exceptional flow
Postcondition Validate the updated information
33. 4. Sprint1: Accounts management
24
3.2.2. Design
3.2.2.1. Class Diagram: Accounts management
This Part and the following figure represents the class diagram of the very first sprint (Accounts
management), its importance is that it makes the connection between, the use cases, the business
layer models and the interface with the user.
Figure 12: Class Diagram sprint1
34. 4. Sprint1: Accounts management
25
3.2.2.2. Authentication sequence Diagram
In this diagram, we first highlight the parts that participate in the realization of the scenario
"Authentication".
The following Figure illustrates the different interactions between any type of user and the system at
the phase of connection.
Figure 13: Authentication Sequence Diagram
35. 4. Sprint1: Accounts management
26
3.2.2.3. Account creation sequence diagram
In this diagram, we highlight the parts that participate in the realization of the scenario "Account
Creation".
In the following Figure we’ll be presenting the different interactions between administrator and
system after authentication.
Figure 14: Account creation sequence diagram
36. 4. Sprint1: Accounts management
27
3.2.3. Implementation
Down below a screenshot of some code we have made.
Figure 15: Admin Interface code Screenshot
3.2.4. Test
Software testing is a process of executing a program or application with the intent of finding
the software bugs. It can also be stated as the process of validating and verifying that
a software program or application or product: Meets the business and technical requirements that
guided its design and development.
In the figure 21 down below we screenshotted the administrator interface after logging In to register
a new user.
Figure 16: test Registration interface
37. 4. Sprint1: Accounts management
28
3.3. Sprint review
As the Scrum principles are, this inspection took place in 20/04/2018, lasted for an hour with the
product owner to discuss whether he is satisfied. We discussed the imperfections of this first sprint
and came out with some (would have) functionalities that we decided to leave them up to another
sprint after getting the (should have) ones done.
3.4. Sprint retrospective
This inspection was a great way to the team to reflect on the sprint, the work that was done, the goals
achieved, and set our course for the next sprint.
The tool used was oral conversation! It was simpler than whiteboards and sticky notes. However, we
had a paper and a pen to write down important ideas.
As most important things we have deal about are the KSS; what to keep, what to start and what to
stop; We will keep a better team communication during the work, start working on a best commented
code quality and stop doing anything that wastes time.
38. 5. Sprint2: Ticketing System
29
5. Sprint2: Ticketing System
Plan
5. Sprint2: Ticketing System..................................................................................................................29
4.1. Sprint Planning...........................................................................................................................29
4.1.1. Sprint backlog......................................................................................................................29
4.2. Daily Scrum ................................................................................................................................31
4.2.1. Analysis ...............................................................................................................................31
4.2.1.1 Use Case........................................................................................................................31
4.2.1.2 Use Case briefs..............................................................................................................32
4.2.2. Design..................................................................................................................................32
4.2.2.1. Class Diagram: Ticketing system..................................................................................32
4.2.2.2. delete trouble ticket sequence diagram......................................................................33
4.3. Sprint Review .............................................................................................................................35
4.4. Sprint retrospective ...................................................................................................................35
4.1. Sprint Planning
For the host organization’s benefit, the product owner decides that this is for now the most important
sprint regarding to its functionalities, in this inspection we discussed for more than three hours dating
24/04/2018, since this sprint has deeply larger tasks to realize, we decided to set a goal of basic
ticketing system that respond to the basic requirements. And therefore, realizing the following sprint
backlog.
4.1.1. Sprint backlog
Those few items selected from the product backlog, representing a basic functionality of a ticketing
system desired. The below table (Sprint backlog) englobes user stories broken down into more specific
tasks and estimated days to accomplish each of them.
39. 5. Sprint2: Ticketing System
30
Table 9: Sprint2 backlog: ticketing system
Id User Story Id task Tasks Estimation Priority
8 As a customer I want to
be able to create tickets
1 Implement the class
diagram and Entity
Framework mapping
3 25
2 Conceive the interface
responsible to add the
ticket
3 25
3 Implement the add ticket
method to the customers
interface
3 25
4 Test the creation of the
ticket
2 20
9 As a customer I want to
be able to read the state
of a ticket that I created
5 Implement the read
method with the
customer’s interface
4 12
6 Test the method 2 12
10 As a customer I want to
be able to delete my
ticket that is not yet
treated
7 Plan the algorithm of
testing if the ticket could
be deleted
2 12
8 Implement the method 3 12
11 9 Test it 2 12
As a help desk I want to
be able to read all tickets
and their owners profile
10 Conceive the display
interface
3 25
11 Code the interface 3 12
12 Code the display method
for the tickets
3 20
13 Code the display method
for the owner of each
ticket
4 12
14 Test every task as a help
desk
2 12
12 As a help desk I want to
be able to update tickets
15 Code the method to
update tickets
4 20
16 Test the update as a help
desk
2 12
13 As a manager I want to be
able to read all tickets and
their owners profile
17 Conceive and code the
interface
4 12
18 Code the display method
for the tickets
3 12
19 Code the display method
for the owner of each
ticket
3 5
20 Test every task as a
manager
2 12
14 As a help desk I want to
be able to update tickets
21 Code the method to
update tickets
3 12
22 Test the update as a help
desk
2 12
40. 5. Sprint2: Ticketing System
31
4.2. Daily Scrum
Typically, every single day we had to make a daily scrum meeting, setting the context of the previous
and upcoming days of work.
That we detailed in the below parts of this sprint the artifacts and the theoretical facts we could
document in this report.
4.2.1. Analysis
4.2.1.1 Use Case
Figure 17: Use Case sprint2: Ticketing system
41. 5. Sprint2: Ticketing System
32
4.2.1.2 Use Case briefs
Table 10: Use Case Briefs, Sprint2: Delete non-processed ticket
Name Delete non- processed ticket
description The customer can delete the ticket created by mistake or if the problem
is solved after a while he created the ticket.
actors Customer
preconditions Authentication
Being the owner of the ticket
The ticket is not opened and its process started
Basic flow Create ticket
Open ticket and delete it
Alternative flow the ticket is starting process or solved,
then deleting it is impossible
Exceptional flow
Postcondition A confirmation delete message
Table 11: Use Case Briefs, Sprint2: Process ticket
Name Process ticket
description The user can update personal information in his profile like his phone
number, birthday...
actors Customer, helpdesk, Manager
preconditions Accounts created and active
Basic flow Read account and update information
Alternative flow Account blocked, leaving the page without validating the changed
information
Exceptional flow
Postcondition Validate the updated information
4.2.2. Design
4.2.2.1. Class Diagram: Ticketing system
In this Part we represent the class diagram of the second sprint (Ticketing system), highlighting the
most needed classes for this sprint.
42. 5. Sprint2: Ticketing System
33
Figure 18: class diagram sprint2
4.2.2.2. delete trouble ticket sequence diagram
In this diagram, we highlight the parts that participate in the realization of the scenario "Delete trouble
ticket".
In the following Figure we’ll be presenting the different interactions between customer and system
after authentication while managing his tickets.
44. 5. Sprint2: Ticketing System
35
4.3. Sprint Review
this inspection took place in 18/05/2018, lasted for an hour when the product owner was present. We
discuss the product’s state, we came out with some other requirements that will be present in the
upcoming sprint backlog.
4.4. Sprint retrospective
As well as the previous sprint the team discussed the work done, the goals achieved and non-
achieved, and our communication with each other.
The inspection lasted for an hour and we created a plan for improvements to be enacted during the
next Sprint.
45. General Conclusion and perspectives
36
General Conclusion and perspectives
In this project, we created our CRM from scratch by learning and exploring a well propelled we
technology, which allows easy and perfect communication between the Client-side, fully developed in
HTML5 and Razor pages, and the .NET Server-side.
This report is the summary of our graduation project from the higher institute of technological studies
of Rades (ISETR) (in French “institut supérieur des études technologiques de radès (ISETR)”) at the
host company SINORFI. It summarizes the work done to develop this application.
This work provides the most important services to SINORFI primarily: the ticketing system.
It is supposed to be hosted on Azure Cloud service but this task is delayed by a decision from the
responsible of SINORFI.
The realization of this report is divided into three big axes; the first one deals with the general frame
of the project (presenting the host organization its problems and the solution proposed), and the
methodology adopted.
The second is the sprint zero; which is something a little special with Scrum, since we are not familiar
with this methodology before that it was a must to have a sprint zero that contains the hole work
done before starting the typical known sprints(Dividing roles, technical choices and tools used),
therefore we had the software requirements specifications ‘document, the first most important
artifact; the product backlog and we planned a little about the upcoming sprints and an overview
about their repartition.
Afterwards, the third part id obviously the sprints iterations, each sprint deals with several
functionalities.
This internship was a fabulous experience to me with its ups and downs, that I learned from scratch
Scrum practically and .net technology as well. Discovered for the first time the work within a Digital
Service Company, it was equally a chance to discover CRM s and think about my own startup project.
47. Appendix A: Scrum
38
Appendix A: Scrum
INTRODUCTION
SCRUM is a loose set of guidelines that govern the development process of a product, from its design
stages to its completion. It aims to cure some common failures of the typical development process,
such as:
• Chaos due to changing requirements - the real or perceived requirements of a project usually
changes drastically from the time the product is designed to when it is released. Under most product
development methods, all design is done at the beginning of the project, and then no changes are
allowed for or made when the requirements change.
• Unrealistic estimates of time, cost, and quality of the product - the project management and the
developers tend to underestimate how much time and resources a project will take, and how much
functionality can be produced within those constraints. This usually cannot be accurately predicted at
the beginning of the development cycle.
• Developers are forced to lie about how the project is progressing - When management
underestimates the time and cost needed to reach a certain level of quality, the developers must
either lie about how much progress has been made on the product, or face the indignation of the
management.
SCRUM has been successfully employed by hundreds of different companies in many different fields,
with outstanding results.
SCRUM VALUES
The SCRUM values are derived from the Agile values of software development.
• Individuals and interactions over processes and tools - processes and tools are helpful, but they will
do you no good if the team does not communicate and collaborate in a constructive fashion.
• Working software over comprehensive documentation - documentation is important, but what’s
most important is to have working software.
• Customer collaboration over contract negotiation - you are not just looking to get a contract and get
money that way - you are solving the customer’s problem.
• Responding to change over following a plan - if the requirements or perceived requirements
changed, so should the plans and design.
48. Appendix A: Scrum
39
THE SCRUM PROCESS
The scrum process has 3 main phases:
FIG 1: The Scrum process
PLANNING
In this phase, the project is planned and high-level design decisions are made.
SPRINT CYCLE
FIG 2: the scrum cycle
49. Appendix A: Scrum
40
The sprint cycle is an iterative cycle of about 3-4 weeks, in which the actual development of the
product is done. It starts out with a Sprint Planning Meeting to decide what will be done in the current
sprint. Then the development is done. A sprint is closed with a Sprint Review Meeting where the
progress made in the last sprint is demonstrated, the sprint is reviewed, and adjustments are made to
the project as necessary. The sprint cycle is repeated until the product’s development is complete.
The product is complete when the variables of time, quality, competition, and cost are at a balance.
• Develop the product further - implement, test, and document.
• Wrap up the work - get it ready to be evaluated and integrated.
• Review the work done in this sprint.
• Adjust for any changes in requirements or plans.
CLOSURE
In this phase, the product’s development is brought to a close, and the product is released.
THE SCRUM TEAM
The SCRUM team consists of 2 groups
- the interested team, which consists of people who are interested, but who will not be doing the
work, and the working team;
- people who are interested, and will be doing the work on the project.
A team typically has no more than 6-9 working members, although Scrum has been successfully used
with more members. If there are more members than manageable, the project should be broken into
multiple sub-projects, each focusing on one, self-contained area of work (one for QA, one for
documentation, etc.). There should be people to act as bridges - that is, to attend the meetings of
more than one SCRUM team, and act as a communication bridge between the teams. Members of
teams that are closely related/involved with each other should sit in on the other teams’ Scrum
meetings.
THE LEADER (SCRUM MASTER)
The team’s leader is called the Scrum Master. He should be one of the members of the working team
- that is, he should be one of the people who is actually doing the work on the project. The Scrum
Master measures progress, removes impediments, and leads the team meetings.
50. Appendix A: Scrum
41
COMMONLY USED TERMS
SPRINT
The product is developed in a series of 1-to-4-week iterations, or sprints. Before a sprint is begun, a
Sprint Planning Meeting is held to determine what features are to be implemented in that sprint. The
sprint has 4 major steps:
• Develop the product further - implement, test, and document.
• Wrap up the work - get it ready to be evaluated and integrated.
• Review the work done in this sprint.
• Adjust for any changes in requirements or plans.
PRODUCT BACKLOG
A prioritized list of all the desired changes to the product being developed, put together by the product
owner. See Figure 2.
SPRINT BACKLOG
A list with items that will be completed in the current sprint, taken from the product backlog. See
Figure 2.
DAILY SCRUM MEETING
A 15-minute SCRUM meeting is held every day. The SCRUM Master asks the three questions, and all
members of the team and interested parties take part and give feedback. The meeting should be held
at the same place every time, so that people know where to go.
UNIT TESTING
A unit test is an automated test that ensures that the functionality required for a certain area of a
project is implemented, and that there are no breaking changes that have not been taken into
consideration.
IMPEDIMENT
Impediments are things that get in the way of the progress of the project. The SCRUM Master is
responsible to look for and remove these obstacles so that they do not slow down or impair the
project.
51. Appendix A: Scrum
42
3 QUESTIONS
The Scrum Master asks the developers 3 important questions at every SCRUM meeting:
1. What have you accomplished since the last meeting?
2. Are there any obstacles in the way of meeting your goal?
3. What will you accomplish before the next meeting?
PRODUCT OWNER
The person who commissions the project, and defines the requirements and priorities for the product.
SPRINT PLANNING MEETING
A meeting at the beginning of a sprint where the sprint is planned. Items from the Product Backlog
are selected to be completed in the sprint, based on the priorities set by the Product Owner.
SPRINT REVIEW MEETING
A sprint is closed with a Sprint Review Meeting where the progress made in the last sprint is
demonstrated, the sprint is reviewed, and adjustments are made to the project as necessary.
KEY PLAYERS/AUTHORS:
• Jeff Sutherland is one of the originators of SCRUM, and was one of the first people to apply SCRUM
to a real-life project.
• Ken Schwaber is one of the originators of SCRUM.
• Mike Beedle has successfully used SCRUM in numerous large-scale projects, and, together with Ken
Schwaber, wrote the book Agile Software Development with SCRUM.
52. Appendix B: Academic meeting (procès-verbal PV)
43
Appendix B: Academic meeting (procès-verbal PV)
MEETING INFORMATION’S:
Meeting Location ISET Rades Meeting Date 08/05/2018
Meeting Time 3.15-4.30pm
Meeting Notes prepared by Rym DAKHLI Meeting Notes
Date
09/05/2018
Purpose of Meeting Formal inspection for Sprint1 Planning
Attendees
Riadh GHLALA
Rym DAKHLI
Not attended
DISCUSSIONS SYNTHESIS:
Entry Product:
earlier version of this report
Goals of the meeting:
The goals of the meeting were two:
1. Revise the report
2. Test the code
Revise the report
Mr. Riadh had provided us with such important information about how a report should be.
Test the code
Revising weather the code is depending from the specifications.
53. Appendix C: Sprint1 planning
44
Appendix C: Sprint1 planning
MEETING INFORMATION’S:
Meeting Location SINORFI local Meeting Date 28/03/2018
Meeting Time 2.00-5.00pm
Meeting Notes prepared by Rym DAKHLI Meeting Notes
Date
10/04/2018
Purpose of Meeting Formal inspection for Sprint1 Planning
Attendees
Product owner: Ahmed JOUINI
Scrum Master: Mohamed Tawfik WERFELLI
Team: Rym DAKHLI
Not attended
DISCUSSIONS SYNTHESIS:
Entry Product: Product backlog
tab 1: product backlog
Sprint ID User Story
1 1 as an administrator I want to be able to create accounts
1 2 as an administrator I want to be able to block accounts
1 3 as an administrator I want to be able to reactive accounts
1 4 as an administrator I want to be able to read all the accounts
1 8 as a customer I want to be able to update my profile
1 15 as a helpdesk I want to be able to update my profile
1 19 as a manager I want to be able to update my profile
2 9 as a customer I want to be able to create tickets
2 10 as a customer I want to be able to read the state of the tickets that I created
2 11 as a customer I want to be able to delete my ticket not yet treated
2 16 as a helpdesk I want to be able to read all tickets and owner profiles
2 17 as a helpdesk I want to be able to update tickets
2 20 as a manager I want to be able to read all the tickets and the profile of the owners
2 21 as a manager I want to be able to update tickets
3 12 as a customer I want to be able to read products
3 22 as a manager I want to be able to create products
3 23 as a manager I want to be able to update a product
3 24 as a manager I want to be able to delete a product
4 13 as a customer I want to be able to send a feedback of satisfaction
54. Appendix C: Sprint1 planning
45
Goals of the meeting
The goals of the meeting were to:
1. Set the goal of the sprint
2. Identify tasks from selected items
3. Estimation of tasks
4. Assignement of tasks
5. The commitment of the team
6. Output Product: backlog sprint 1
1. Set the goal of the sprint
There are three main focuses:
▪ Implementing the interface
▪ Make the design
▪ Creating users and roles
▪ authentication
2. IDENTIFY TASKS FROM SELECTED ITEMS
Integrate interfaces.
Implement class diagram.
Map code with database.
Conceive and implement methods to create accounts, block and reactive them.
Implement the methods to allow the user to update his own profile.
Test the functionalities.
3. Estimation of tasks
After we set all the technical aspects. The estimation was made with the product owner about 3
weeks of work.
4. Assignment of tasks
Once the sprint activities have been defined and the product owner describes the priorities, the
team members usually volunteer to own certain tasks and then activities can be performed by
one or more people depending on their availability, but in this specific project the only member
is ‘Rym DAKHLI' who will perform all the required tasks.
5. The commitment of the team
Ideally the team commits collectively to the sprint backlog and its elements. As much as they can
do in the sprint timing and on the list of tasks.
55. Appendix C: Sprint1 planning
46
Output Product: backlog sprint 1
The team provided a sprint backlog 1 in an easily visible and accessible form.
tab 2: sprint1 backlog
Id User Story Id task Tasks Estimation
1 as an administrator I want to be able
to create accounts and roles
01 Integrate interfaces 2
11 Implement class diagram 1
21 Map code with database 2
2 as an administrator I want to be able
to block accounts
31 Conceive and implement
the method
3 as an administrator I want to be able
to reactive accounts
41 Implement the method to
reactive blocked accounts
2
51 test block and reactive
accounts
1
4 as an administrator I want to be able
to read all the accounts
61 Conceive the display
interface
1
71 Implement the method to
display
81 Test the functionality 1
8 as a customer I want to be able to
update my profile
91 Conceive the display
interface
2
101 Implement the method and
interface to display the
users profile
3
111 Test 1
15 as a helpdesk I want to be able to
update my profile
121 Conceive the display
interface
2
131 Implement the method and
interface to display the
users profile
3
141 Test 1
19 as a manager I want to be able to
update my profile
151 Conceive the display
interface
2
161 Implement the method and
interface to display the
users profile
3
171 Test 1
56. Appendix D: Daily Scum meeting
47
Appendix D: Daily Scum meeting
Meeting Location Skype Meeting Date 05/04/2018
Meeting Time 9.00-9.20am
Meeting Notes prepared by Rym DAKHLI Meeting Notes
Date
10/04/2018
Purpose of Meeting Formal Scrum inspection for Sprint1 Daily meeting
Attendees
Scrum Master: Mohamed Tawfik WERFELLI
Team: Rym DAKHLI
Not attended
Meeting agenda:
1. Tasks done.
2. Tasks in progress.
3. Problems preventing progress.
1. Tasks done:
Id user story 1
2. Tasks in progress
• creating roles
3. Problems preventing progress
Team not familiar with the technology.
57. Appendix E: Sprint 1 Review
48
Appendix E: Sprint 1 Review
Meeting Location Skype Meeting Date 20/04/2018
Meeting Time 9.00-10.00am
Meeting Notes prepared by Rym DAKHLI Meeting Notes
Date
10/04/2018
Purpose of Meeting Formal Scrum inspection for Sprint1 Daily meeting
Attendees
Product owner: Ahmed JOUINI
Scrum Master: Mohamed Tawfik WERFELLI
Team: Rym DAKHLI
Not attended
Input product:
Our potentially deliverable product that we have developed at the end of sprint 1.
Steps:
• Preparation of a demonstration highlighting a syllabus management scenario considering all the
stakeholders of our application.
• Recall the purpose of the “to create an authentication system”
• We performed the demonstration according to the scenario prepared before the beginning of the
meeting.
• The plan of the setting on line: the product owners decided that the setting on line had to be at
closing the project by assembling all other deliverables.
58. Appendix F: Prioritize Your Agile Stories
49
Appendix F: Prioritize Your Agile Stories
Scott Ambler says that 85% of all features built into software products are either rarely used, or never
used at all. So as much as some stakeholders might think that a particular product feature is essential,
it is highly likely it will end up being one of the 85% that go unused. One of the fundamental reasons
for using an Agile methodology is to focus on the things that bring the greatest value, so how do you
actually determine which stories provide the greatest value and are thus scheduled first? To be
effective and obtain consistent, repeatable results requires a system or process that is quick, easy to
use and consistently applied. [17]
The quick answer is to rank all of the cards on a scale of 1 to 10, or 1 to 100 if you need finer
differentiation, and then sort them in order from highest to lowest priority. This is a pretty common
approach, but it is challenging to apply a single numerical value to what is usually a multidimensional
question.
Time is the first vector because time is almost inevitably the fundamental constraint on all
projects and it is the one finite resource. This vector is up to the stakeholders.
Business Value is the second, it could thus mean the amount of revenue that might be
generated or lost, effect on brand or reputation, performance issues, security concerns…
It is up to the team to decide in each case what the Business Value guidelines should be, and how
to classify each item.
These two by themselves does not mean much, but if we put them together and match with our
backlog we can assess the priority o fa user story or a task.
FIG 3: Priority Range