Refactoring for Design Smells - With Examples from OpenJDK
Refactoring has received considerable attention in the last decade given the important role it plays in Agile methods. With Martin Fowler popularizing ‘code smells’ in his classic book on Refactoring, most programmers know about smells. However, refactoring design smells and architecture smells is also equally important for creating high quality software. This presentation introduces important design smells and the refactoring strategies for addressing them. The talk includes interesting examples of design smells found in OpenJDK 7.0 (Open source Java Development Kit) code base.
Outline/Structure of the Tutorial
Introduction: 10 minutes
Refactoring abstraction smells: 15 minutes
Refactoring encapsulation smells: 15 minutes
Refactoring modularization smells: 15 minutes
Refactoring hierarchy smells: 15 minutes
Key take-aways and wrap-up - 10 minutes
Q & A - 10 minutes
Learning Outcome
For developers, leads, and architects: get practical insights on refactoring design smells in real-world software
For managers: get an understanding of how smells relate to technical debt, and why refactoring these smells is important ensure that your software project “doesn’t go bankrupt” with technical debt.
Target Audience
Developers, leads, architects, managers
Links
Research presentation: http://www.slideshare.net/slideshow/embed_code/25158413
Research Paper: http://www.jot.fm/issues/issue_2013_06/article1.pdf
schedule Submitted 9 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Cara Turner - Building Creative Teams: Motivation, Engagement and Retrospectives
90 Mins
Talk
Advanced
How do software teams become creative? If you're not a start-up, does creativity even play a role in the business driven world of software development? Idea generation is the basis of all our work - no matter how challenging or mundane. With a scientific approach to implementing change, creativity is the basic tool we have for addressing the challenges of software development.
This talk explores the elements of engagement and creativity along with the neuroscience of generating ideas. These give us specific insight into how employing different agile retrospective formats over the course of the product development process can extend our usual practices and develop a thinking mind-set comfortable with tackling daily work with a fresh and explorative approach.
-
keyboard_arrow_down
Ram Srinivasan - The Conflict Paradox
90 Mins
Workshop
Intermediate
It is not a question of if a team is going to have a conflict; it is a question of when. Equipping them to deal with conflict is more than creating agreements or having a good facilitator. We look at a conflict model that focuses on dynamics of conflict by understanding- 1. Cognitive skills:self-awareness about triggers, hot spots, emotions,behaviors. 2. Emotional skills:reading emotions, body language, balancing emotions, using curiosity 3. Behavioral skills:understanding others’ perspectives and needs, avoiding 8 destructive behaviors, embracing 8 constructive behavior. In an organizational setting, it is important to understand the source (culture, interdependence, incompatibility, personality, power, etc.) and types of conflict (cognitive vs. affective). Creating awareness about conflict processes, retaliatory cycles and building a conflict profile can empower teams engage in constructive disagreements.
-
keyboard_arrow_down
Gerry Kirk - Create an Agile virus in your organization, empower your team, change your life
90 Mins
Tutorial
Beginner
Need buy in from a key manager or executive to adopt Agile? Desiring better team collaboration? Hungry for a saner life at home?
Try Personal Kanban, winner of the Shingo prize for Operational Excellence. It's the fastest, simplest way to taste test the goodness of the Lean Agile approach to managing knowledge work. Personal Kanban empowers small teams and individuals, at work and at home.Give that overwhelmed executive instant relief. Build your own system, and soon curious onlookers ask and then create their own. Look out, you've just released an Agile virus in your organization!
You've also discovered a way for you and your team to get more out of your efforts, to improve communication, and find time for the things that matter most.In this session you'll learn how to create a Personal Kanban system through stories, examples and interactive exercises. Walk away understanding the psychology behind visualizing work and limiting work in progress, inspired and motivated to make a difference at work and home. -
keyboard_arrow_down
Ram Srinivasan - The Shared Mind: Essence of Interpersonal Neuroscience
90 Mins
Workshop
Advanced
Why are some leaders socially adept while others show lack of maturity? Why some teams are high performing teams and others just are not? Ever wonder why people behave the way they behave? I did too. As a coach, my quest to help teams collaborate better (and organizations create great culture) took me through an extraordinary journey through the maze of gamification, motivation, psychology, coaching, system thinking, organizational development and group process, and interpersonal neurobiology. Through this journey, I discovered why Lean/Agile principles are brain-friendly and how they help teams and organizations. In this session I share some of the insights that I have gained applying some of these principles coaching teams and organizations. You will also learn how you can share these concepts with other and gave teams and organizations a “language” to have crucial conversations, thereby increasing the system’s (team/organization) self-awareness.