Accepted Tutorials

Following is the list of accepted tutorials for AMECSE 2014. All tutorials will be half-day (3-4 hours) and will be conducted in parallel during the second day of the conference, Wednesday October, 22 2014. Please make sure to indicate the tutorial you will attend during registration.


Overview: This tutorial will provide an overview of both the theoretical and practical backgrounds needed for the agile development of software requirements specifications. The tutorial covers the software requirements body of knowledge and competencies, the agile software requirements engineering, user stories, stakeholders, user personas and user experiences, agile estimation and team velocity, requirements discovery and elicitation, use case development, non-functional requirements development, and acceptance testing.

Professor Kassem Afif Saleh

Kassem Saleh

Dr. Kassem A. Saleh received his BSc, MSc, and PhD in Computer Science from the University of Ottawa in Canada in 1984, 1985 and 1991, respectively. Dr. Saleh worked as a software design engineer at Northern Telecom in 1984 and then as a computer systems specialist at Mediatel, Bell Canada, from 1985 to 1991. He is currently a professor in Information Sciences at Kuwait University. Kassem was on the faculty of Concordia University during 1991-1992, Kuwait University from 1992 to 2000, and American University of Sharjah from 2000 to 2007. Dr. Saleh is also a Certified Information Systems Security Professional (CISSP) since 2005, and a Certified Software Development Professional (CSDP) since June 2014.  He is a senior member of IEEE and a professional member of the ACM. His research interests include software engineering, requirements engineering, communications protocols, information security, environmental informatics and IT Management and Technology Transfer. Dr. Saleh has published more than 130 refereed journal and conference papers and has presented numerous tutorials and lectures at international conferences and universities worldwide. Dr. Saleh has authored a textbook titled Software Engineering in 2009. The Journal of Systems and Software has ranked Dr. Saleh among the top scholars in the field of systems and software engineering in seven of its annual assessments published from 1996 to 2003. Dr. Saleh is currently editor-in-chief of the Journal of Software. Dr. Saleh founded and chaired the Kuwait Conference on e-Systems and e-Services (


Overview: This tutorial will provide an overview of automotive safety needs and industry constraints  as well as safety within the product development life cycle. The tutorial will discuss what is special about Safety-Critical software explaining the commonalities / non-commonalities between automotive and aviation domains. It will also introduce the new concept of “STAMP” Systems-Theoretic Accident Model and Processes - a new accident modeling approach and will discuss how this can be useful to industries with safety critical systems in Egypt.

Hossam Yahia Moawi -Software Safety Expert at  Valeo – Egypt

Hossam YahiaHossam is the leader of software safety service-line in Valeo-Egypt providing SW safety analyses and services to all product-groups worldwide. Certified trainer and training author at Valeo Electronic School.





Overview: Software Oriented Architecture (SOA) is a powerful architecture pattern that enable modifiability, testability, and reusability. On the other hand SOA is joined with a heavy stack of technologies. Which lead to be thought by researchers, Software Developers, Designers and Architects as an architecture pattern suitable only for Large Enterprise systems. This tutorial will propose a lite SOA approach that enables software developers to design lightweight system benefiting from the power of SOA without the efforts related to adopting all its technology stack. Also they will know how to support business agility with SOA. Researchers will learn how to exploit their work to community or business. Also will have an overview of how to get benefit from SOA principles to leakage the power of cloud to speed up processing of heavy computation problems by distributing it over multiple cloud processing units.

Best candidate for this session are software developers of all types, researchers that uses software development as part of their work, and business owners with a software development background.

Mustafa Gamal, R&D Consultant, SECC – ITIDA

Mustafa Gamal

Mustafa Gamal, Research and Development Consultant at the Software Engineering Competence Center has 13+ years of experience in the field of software development and training both inside and outside Egypt. He worked as an architect, and software developer for desktop, web and cloud based applications as well as SOA and workflow based systems. 
Mustafa has a master degree in Cloud Based Applications Architecture and Design with three published papers in the same field. He believes in connecting research to business applications to provide most optimized solution for each unique business problem. Mustafa’s experience includes training in the field of software development from different aspects for about 9 different programming languages as well as coaching the trained teams in their software development projects.
One of his most featured projects as software architect is the Emergency Management System for the Saudi Red Crescent SRCS. The system is designed and implemented to manage the ambulance lifecycle of the Saudi ambulance service. It integrates with mobile and phone networks to manage and save calls. Also it detects phone caller address to help merging similar calls and detect false calls. In addition the system integrates GPS and GIS systems for best performance on managing emergencies.

Mustafa holds a master degree in Software Engineering from Faculty of Engineering, Helwan University. His research work was in developing architectural model that uses Service Oriented Architecture methods and disciplines to develop Software as a Service applications hosted over cloud infrastructure. 


Overview: SWEBOK V3.0 is the most recent completely revised and updated version of the internationally respected Guide to the Software Engineering Body of Knowledge from IEEE Computer Society published in 2014. The SWEBOK Guide characterizes the contents of the software engineering discipline, promotes a consistent view of software engineering worldwide, clarifies software engineering’s place with respect to other disciplines, provides a foundation for training materials and curriculum development, and provides a basis for certification and licensing of software engineers.

Newly imagined as a living, changing document, and updated as technology and the engineering profession changes over time. In this tutorial, we will highlight major changes in 15 Knowledge Areas that has been reflected in the SWEBOK, presenting different usage of the guide in major educational institutions worldwide such as SCP (SWEBOK Certificate Program). We will also review IEEE certifications based on the SWEBOK such as CSDP (Certified Software Developer Professional) and CSDP (Certified Software Developer Associate).

Maged Koshty – Managing Directo, ExpertWave

Maged ElkoshtyMaged Koshty is the only IEEE Software Engineering Certified Instructor in the EMEA region and the managing director of ExpertWave specialized in Software Engineering and project management development, training and consulting. Maged has worked for major companies like Apple and Corel in Canada and ITWorx in Egypt and has over twenty five years of hands-on experience in developing software projects for international companies worldwide.




Overview: Test-Driven Development is gaining traction as an approach to software development that reduces both defect density and development effort. 

Unfortunately, TDD does not enjoy its renowned international status in our region. A recent survey indicates that TDD is among the least adapted Agile practices in Egypt! In this tutorial, attendees will be introduced to TDD, how and why it works, and will provide tips on how to adopt it safely in various environment. Attendees will also watch or get to try an actual TDD session and see how the approach provides a hospitable and safe environment for innovation and creativity.

Ameer Gaafar, Quality Expert, SECC-ITIDA

Ameer GaafarAmeer Gaafar has been leading and coaching software development teams for over 15 years. He successfully performed roles combining development leadership, delivery management, customer interfacing, and strategic alignment in software development organisations. Ameer’s skills and knowledge repository include Institutionalization of agile methodologies, software architecture, enterprise systems integration, service-oriented architecture, domain-driven design, and domain specific languages.
Ameer currently works as an agile coach and software development expert with ITIDA, Egypt. As an agile coach, he helps teams and software firms in adopting agile mindset and practices. Ameer frequently lectures on topics related to agile design, evolutionary architecture, TDD, and design patterns. In addition, he works closely with several clients towards modernizing their current software architecture and creating cloud offerings.
Earlier in his career, Ameer progressed from a software developer all the way to software development head for over five years. During this time, he developed and led the development and evolution of several business critical ERP, supply chain, CRM, and digital asset management products.
Ameer maintains a blog at


Overview: One of the most painful activities in software development is maintaining extremely poor legacy code! Moreover, teams transitioning to Agile suffer from challenges like moving towards shorter iterations with shorter time for regression testing, trying to cover poor code with automated tests, prioritizing which refactorings to apply on which code, and convincing managers with the value of refactoring.

In this session, I will present a simple, sustainable, and stepwise approach to refactor legacy code. This approach divides the refactoring effort into three stages: (1) Quick-wins; simple and least risky enhancements. (2) Divide-and-conquer the code into modules with identified and clear interfaces. (3) Inject-quality-in the code by wrapping modules with automated tests. I will give an overview of several experiments and case studies applying this approach and will present some interesting observations and insights. Finally, I will go through the roadmap and demo refactoring a piece of spaghetti and cluttered code. I will also demo the use of several famous tools which enable safe and efficient legacy code refactoring.

This topic is based on several experiments done over the course of 3 years and was first presented as an experience report at the Agile Conference 2013 at Nashville; then at Agile2014 at Orlando, USA, and finally at AgileAfrica 2014 at Johannesburg, South Africa.

Amr Noaman - Agile Trainer & Consultant, Agile Academy



Amr Noaman Abdel-Hamid is an agile coach, trainer and practitioner who’s passionate about spreading agile and lean thinking in Egypt and the Middle East. Amr is a co-founder of Agile Academy, the only training organization accredited by the International Consortium of Agile (ICAgile) in Egypt and the Middle East.

 Amr is one of the leading contributors to the agile community in Egypt since 2009. Throughout the last 5 years, while working with the Software Engineering Competence Center (SECC), Amr initiated the biggest Agile Adoption program in Egypt to help teams and organizations deliver software at their maximum potential. Through this initiative, Amr has trained more than 500+ professionals and coached many teams from a wide range of public and private organizations in Egypt and the Middle East such as Vodafone, Orange, Valeo, and ITWorx.

Amr is a frequent speaker at national and international conferences and forums, such as the Agile Conference, Scrum Global Gathering, PMI Global Congress, and a keynote speaker at AgileAfrica. Amr has co-authored the Process Increments method, an agile method for Software Process Improvement. He is also an author of several industrial reports and articles, and writes frequently at his blog: Tales of Agile Software Development. You can reach Amr through emailLinked-in, or twitter @amrnoaman


Overview: This tutorial starts with a brief review to Scrum, then explains in detail ScrumMaster focus and his responsibilities. It covers also the required qualifications and skills to fill his role competently. The tutorial then make an open discussion and recommendation on which existing role in the team could migrate to ScrumMaster, and discuss advantages and challenges of each role. 

The tutorial then explains the facilitation for various Scrum meeting and how it is important for the ScrumMaster to contribute to his local community.

Ahmed Hammad – Quality Expert, SECC-ITIDA 

Ahmed HammadAhmed is working at SECC as a Quality Expert for more than 7 years, consulted many small, medium and large organization in software process improvement and how to improve analysis, architecture, design, programming and testing practices. Ahmed trains and coaches teams on Agile, Scrum, extreme programming, and Kanban and is actively researching and developing Agile and software engineering offerings to support the software industry in Egypt. 

Ahmed worked for 14 years in software organizations such as Sakhr, Harf and QuickTel as programmer, project manager and technical manager. As a result, he has extensive software development and management experience in Desktop, Database, Web, Mobile, and Embedded applications. This helps him to guide software process improvement with deep understanding to the technical and management challenges. 


Overview: Software development is considered young compared to other established industries. Many challenges face software development teams, resulting to low success rate. Misguided use of practices drawn from other fields cause more harm that good. Over the past 2 decades a set of software development methodologies have evolved and proved success in the field. This tutorial provides a decent introduction to the landscape of Agile development methodologies. It then covers deeper day to day Engineering practices that are necessary for fulfilling the promise of Agile Development. It then covers some of the pitfalls and traps that hinder teams during adoption of Agile Development methods. 

Ibrahim El-Etr, Program Management, Orange Labs  

Ibrahim is currently the Head of Program Management in Orange Labs Cairo, and a NBA student in the German University in Cairo. Ibrahim joined Orange Labs as the Head of Software Development in 2006. Ibrahim has 8 years of solid management experience, leading several teams to deliver several portfolios of software products to market. He has over 21 years of software development experience associated with highly diversified portfolio of international companies in different culture environments such as Orange, Telepin, Airwide solutions, Mitel networks, Nortel networks, and Newbridge (Alcatel Lucent). He spent the first 15 years of his career working for start up companies including owning my own business. Entrepreneurship is part of his DNA and he brings that outlook and method of work to every team he works with. 

Mohamed Ragab, Head of Technology & Agile Development Coach, Orange Labs 

Mohamed is currently the Head of Technology, and an Agile Development Coach in Orange Labs Cairo. Mohamed joined Orange Labs as a Senior Software and Service Architect in 2009. Mohamed Ragab has more than 15 years of experience building software systems in a wide range of industrial domains. Mohamed has experience working in small local companies as well as large multi-national companies, delivering projects ranging from small collocated teams with few developers to large distributed teams with a few hundred developers on board. Mohamed’s expertise is in the Java platform, Open Source technology stacks, software development infrastructure and automation, and Agile Development Methodologies.