Two intensive sessions full of presentations, each session with invited talks (20+10 minutes) and speed-talks (10+5 minutes).
The speakers were invited for selected topics based on relevance and value for the participants, delivered as exciting ideas, research projects, experience reports, or lessons learned, from experienced speakers and agile practitioners.
We will explore two different aspects of agile education: educating agile masters and applying agile practices to educational practice. Agile mastery depends on knowledge that is not made explicit in any agile book (e.g. behavior-driven objects, metaphoric reasoning, and design thinking, among other knowledge and experience). Agile approaches (e.g. product backlogs, iterative and incremental, pair programming) are directly applicable to higher education and can lead to deeper understanding, greater retention, and enhanced integration of knowledge.
~ o ~
David West is an educator, professional developer, and consultant in software development with more than thirty years experience. He is the author of Object Thinking, and of numerous papers in the areas of objects, agile, and design. He is engaged in redefining / reinventing both a profession and the educational support required for that profession. He is using Systems Design Studios as the vehicle for that effort. He can be reached at profwest @ fastmail.fm.
TDD and automated refactoring with Eclipse
Test-driven Development with good IDEs allows quickly to advance from a test case using an object to the creation of its class and methods. While support for Java is very good in many IDEs, like Eclipse JDT, corresponding features were missing for C++. With the new ISO standard C++11 the language regains popularity and thus supporting agile practices is needed. The IFS Institute for Software at FHO/HSR Rapperswil created a bunch of Eclipse CDT plug-ins and support for C++ unit testing, Test-Driven Development, automatic Refactoring of legacy code toward seams that enable unit testing, and the automated creation of test stubs and mock objects based on these seams. The talk will demonstrate the available features in a live demo and shows how C++ can be used in an agile way. On request, some of the new features of C++11 can be shown to the audience as well.
~ o ~
Prof. Peter Sommerlad is head of IFS Institute for Software at HSR Rapperswil. Peter is co-author of the books POSA Vol.1 and Security Patterns. His goal is to make software simpler by Decremental Development: Refactoring software down to 10% its size with better architecture, testability and quality and functionality. He is actively supporting agile development with C++ and other languages by his students’ efforts to create Eclipse-based tools for refactoring and test automation. Peter is currently writing “Simple C++” – a book addressing programmers converting (back) to C++11 from C, Java, C# and old-style C++.
~ o ~
Scrum at Critical Manufacturing
Critical Manufacturing is a Portuguese company created in 2009, that provides software solutions which enable the tracking of all the steps involved in the manufacturing of products such as photovoltaic cells and panels, computer memory, mobile phone chips, chip cards, wireless communication products, x-ray devices etc.
This talk will present the 2 main challenges that the company faced in these 3 years of Scrum usage: How to create a complex product using a new methodology (never used by anyone in the 20+ team members) and be able to deliver something in a short timeframe? How to use Scrum in the maintenance of applications whose customers are used to work in a Waterfall fashion way?
Teresa is co-founder of Critical Manufacturing and currently she’s the Operations and Quality Manager of the company. Besides this role she also promotes the usage of Scrum within the company, performing Scrum trainings for the teams and the customers, facilitating continuous improvement thru experience sharing and promoting agile events.
Besides the great interest in agile methodologies, she has embraced the cause of “keep it simple” working daily in the continuous improvement of any process or procedure that crosses her way.
PGMADS: An agile postgraduate course under an agile retrospective: lessons learned
Catarina Reis & Ricardo Martinho
PGMADS was the first postgraduate course in Portugal on the subject of agile software development methods. We applied an agile strategy to its implementation and into the actual learning process. We will take a look at our product backlog, our sprints and releases, Finally we will present our retrospective and lessons learned, together with our customers’ feedback.
~ o ~
Catarina Reis is Lecturer at the Computer Science Department of the School of Technology and Management of the Polytechnic Institute of Leiria. Her main focus areas include software engineering, object-oriented programming and managing projects in web and mobile environments: smartphones (Java 2ME, Android, Symbian and iOS). Holds a PhD in Multimedia Engineering by the Polytechnic University of Catalonia, Barcelona: “Monitor and Visualize Schizophrenic Patients’ Performance in e-Therapy Contexts”.
~ o ~
Ricardo Martinho is Lecturer at the Computer Science Department of the School of Technology and Management of the Polytechnic Institute of Leiria. Holds a PhD by the Universidade de Trás-os-Montes e Alto Douro: “ConFlex4SP – A Framework for Controlling Flexibility in Software Processes”. Currently takes part in organizing committees of Enterprise Information Systems and Health Informatics conferences and workshops. His main focus areas include software engineering, enterprise applications development and information systems.
~ o ~
Setup, plan, and run a team with tfspreview.com
José António Silva
Microsoft’s application lifecycle management tooling is all about enabling teams to deliver great software. In this session we look on how to engage early and often with your project’s stakeholders to ensure that your team is building the right software for them. Discover tooling to help you more effectively plan and track work by using the new web-based project management tools. And, developers can stay on-task and “in the zone” with the new “My Work” and code review features.
We will look at how to set up, plan, and manage a project using the new agile planning tools in the Team Foundation Service Preview. You’ll learn how to easily prioritize your backlog and decompose the work into the appropriate level of granularity. Next, you’ll see how to plan a sprint and leverage your teams capacity when making a commitment. Finally, we show you how to use the built in task board to manage the work throughout the sprint while keeping an eye on the progress of your team.
Agility and Scrum: So easy to say … What about Implementation?
The DNA of Sinfic has a clear identification with Scrum. After the implementation of pilot projects, are being developed guidelines and recommendations to incorporate Scrum practices in the teams and are also being identified metrics and recommendations to the project teams.
The importance of the teams and their physical location in order to manage efficiently the different number of communication channels is one of the criteria recommended implementation of Scrum in the organization, and is still under review the question “In distributed teams is the application of Scrum of Scrums the best solution? Do we need a Scrum of Scrums just to manage the communications between the different teams?”
The change of the project metrics, in particular the earned value metrics were replaced by metrics such as team velocity, points per hour, missing points and the cost per sprint. These metrics takes in account the complexity of the requirements and the projects profiles and types, in the establishment of a knowledge base and historical repository.
Another issue to consider is related to the granularity of requirements, in particular the use of team oriented to use cases descriptions, and the association of use cases to themes or epics requiring their decomposition into sub-scenarios and requirements.
TSP/PSP and Agile/Scrum: Similarities & Differences Study
The Personal Software Process (PSP) and the Team Software Process (TSP) are process improvement frameworks tailored to produce virtually defect free software and deliver it on time.
The main focus of this speed talk is to state some of the similarities and differences between TSP/PSP and Scrum methodologies as well as some Agile practices. Why was there a need to blend these methods (TSP and Agile)? What were we trying to accomplish, or what was the goal here? The goal was to get the best of the TSP and Agile methods/models so that we could develop high quality products in a predictable and repeatable way to successfully tackle projects that are highly unpredictable, rapidly changing, with unknown final client, among others.
There are a few similarities between both management methods (TSP and SCRUM), as well as some differences. There also seems to be a lot of misunderstandings regarding TSP and this presentation will try to debunk some of them. TSP can be Agile too! – Incremental, iterative and adaptive.
~ o ~
César Duarte is a Software Engineer and holds a Master’s Degree in Informatics and Computing Engineering. He graduated from the Faculty of Engineering, University of Porto (FEUP) in Portugal and is currently working as a Consultant in Software Engineering at Strongstep – Innovation in software quality. He also worked as a Research assistant at ESB – Universidade Católica Portuguesa – Porto. His specialties and research interests are related to Software Engineering, Software Process Improvement, Personal Software Process (PSP) and Team Software Process (TSP).
~ o ~
SCRUM – The life changer
This presentation will be about a employee (myself) with a previous consulting (3rd Best Place to Work in Portugal) background to an agile background transforming it’s lifestyle completely. Starting with consulting I would like to reflect to the audience the culture, team spirit, project management, customer relationship, development practises. The daily living of a consultant cursed with the 2000 and late culture and methods.
After consulting, I’ll explain what’s the culture of my current company (Blip) that uses Scrum and Kanban, the living culture, team spirit, the freedom given to the team to manage their own project (commitment), Quality Assurance (Automatic Vs Manual) and the Agile adoption from a employee perspective. The idea of the presentation is to give an overview of Waterfall VS Agile, with real life examples passing through the process of how we do SCRUM at Blip and what are the tangible (deliverables) intangible (culture, quality of life) outcomes of it.
Automatic Task Contexts through Feature Demonstration
Systematic use of task contexts in software development is gaining momentum, given the growing Mylyn ecosystem for the Eclipse platform. Mylyn enables integration of task and application lifecycle management (ALM) tools (e.g. ScrumWorks), which play a major role in Agile methods. The concept of task context is undoubtedly valuable, with advantages regarding productivity and knowledge-sharing between developers. The available tool support automates the otherwise tedious and laborious task of keeping record of the artifacts related to a certain task (e.g. a bug fix). However, the way developers gather the elements of a task is still manual, in the sense that they have to search themselves which artifacts to visit. This search process may take a considerable amount of time, especially if the the part of the code base that needs to be explored is unfamiliar to the developer.
In this talk I’ll present and demonstrate a research tool prototype that enables developers to automatically construct task contexts by demonstrating program features. The proposed mechanism is suitable for interactive applications and relies on program instrumentation that interconnects the program to inspect and the IDE. The tool prototype is integrated with Mylyn/Eclipse and supports Java/OSGi. Developers can make use of the mechanism by launching OSGi components with an additional instrumentation component. The approach consists of an effective strategy for instantly locate code fragments that are executed within a delimited time frame, while not requiring modifications in the code to be inspected. All a developer has to do is to demonstrate a feature on the running program, while the tool is recording. Upon doing that, a newly formed task context comprising the executed methods is available for inspection, saving time which would be necessary to find the relevant implementation parts for the feature at hand.
How Agile is Rails?
Are you adopting Agile methodologies but still can’t enjoy them to the fullest? Learn why Ruby on Rails boosts your development performance while maintaining software quality. José Mota will dissect all four manifesto principles and apply them to Rails development.
~ o ~
Will Agile Change the World?
When I started to learn agile I though that is just for software development but more I learn more I realized that agile is a way of working together to accomplish a goal. So if Agile is a powerful method that enables accomplish goals by a team, is perfect to all our activities that involve a group of people. In nowadays, work in all sectors and any kind of activity should be organized in highly performance teams and agile enables this.
In my path to discovery examples of agile in other areas I started to read a collection of books that showed me that agile isn’t just for software development. My presentation is a journey through the books I read recently that I want to share with you.
~ o ~
João Cerdeira’s professional career started in 2000, when he joins SIBS (main bank broker in Portugal), where he helped to develop the MBnet Service. In 2002, he accepted a new challenge and joined the core team at MULTICERT, a small, recently created company to explore the Public Key Infrastructure business in Portugal, where he had different Roles from Software Developer to Team Leader. From the long list of projects and activities, one of the most important was the architecture design of the Portuguese Electronic ID Card. Nowadays, his main professional activity is in project and team management. The agile path also includes a Scrum Master Certification and training about Agile Coaching. He is also the Porto Agile MeetUp co-organizer.
~ o ~