Learn 14 Antipatterns. Three types of antipatterns. Traps that are applicable to common solutions. Development, Architecture, and Project management pattern. Feud,Golder ,
Test Driven Development (TDD) is a core practice in the SDLC, especially ones that run using the agile mindset and leverage the practices of eXtreme programming. Since its inception and rediscovery by Kent beck in the late 1990s, it has gained popularity among many software development teams. However, like any popular software development practices, teams lose interest in TDD overtime and drop the practice all together. The main reason behind this is practicing it "the wrong way".
In this session, I present 7 anti-patterns that can ruin the TDD experience of a software development team. I also present how to counter these anti-patterns to fully leverage the benefits of TDD.
Test Driven Development (TDD) is a core practice in the SDLC, especially ones that run using the agile mindset and leverage the practices of eXtreme programming. Since its inception and rediscovery by Kent beck in the late 1990s, it has gained popularity among many software development teams. However, like any popular software development practices, teams lose interest in TDD overtime and drop the practice all together. The main reason behind this is practicing it "the wrong way".
In this session, I present 7 anti-patterns that can ruin the TDD experience of a software development team. I also present how to counter these anti-patterns to fully leverage the benefits of TDD.
Keynote: A Roadmap for Domain-Specific Low-Code PlatformsObeo
Low-code development platforms aspire to streamline the development, deployment and maintenance of specific types of software systems, and to make these activities accessible to an increasingly digital-native workforce. In this talk I will discuss the importance of domain-specific (as opposed to one-size-fits-all) low-code platforms in this new landscape and I will focus on the main opportunities and challenges of assembling such platforms from existing open-source components.
Dimitris Kolovos, University of York
Domain Driven Design (DDD) is a topic that's been gaining a lot of popularity in both the Java and .NET camps recently. Entities, value types, repositories, bounded contexts and anti-corruption layers -- find out what all the buzz is about, and how establishing a domain model can help you combat complexity in your code.
Richard Dingwall is a .NET developer and blogger with a passion for architecture and maintainable code.
He is currently working at Provoke Solutions as lead developer on a six-month project introducing test-driven development (TDD) and domain-driven design (DDD) to a large ASP.NET ERP system.
An hour-long talk given at Wellington .NET user group, Sept 23 2009.
Explain Domain-Driven Design, its main concepts and tools, and the Event Storming practice to highlight the importance of a good design and empower a team to start using it progressively.
Developing software for complex & ever-changing business domains is challenging enough, but factor in the need to integrate with multiple legacy systems while working closely with business experts & it can feel a little overwhelming. In EventStorming developers & business experts use sticky notes to map out a story of how the software system behaves given a particular business problem to solve. This improves communication & collaboration, uncovers misunderstandings early, & accelerates deeper domain knowledge. Learn EventStorming rules, how to facilitate an EventStorming workshop, how it can help a team cultivate shared understanding & be more productive, & how it transitions to designing loosely-coupled, distributed, event-based systems.
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Did you know OutSystems enables you to use JavaScript to costumize how users interact with your applications? In this session, see how we've developed and extended patterns over the years and learn the best practices you can follow.
Link with resources: https://bit.ly/2F8P29j
Presented at JavaOne 2013, Tuesday September 24.
"Data Modeling Patterns" co-created with Ian Robinson.
"Pitfalls and Anti-Patterns" created by Ian Robinson.
How Software Developers Destroy Business Value.pptxAaron Stannard
Software developers are intended to be massive, highly leverageable value creators for their companies and teams - using their creative and technical talent to build products themselves or mission-critical systems that facilitate the delivery of value inside the business. The blunt truth, however, is that many software developers would screw up tying their own shoes when left to their own devices. There's an abundant corpus of work out there on how managers routinely let down their software developers through insufficient planning, communication, listening, and support. In this talk we're going to explore the inverse - how individual software developers contributing to a project unintentionally sabotage their teams, their companies, their projects, and themselves through: * Immutable technical preferences + biases; * Bad attitudes; * Poor listening; * Inflexible and unproductive learning styles; * Risk aversion; * Incuriosity; * And more! Most importantly, in this talk we're going to try to address how we can help shift developers who want to learn and improve, but are have trouble executing, become the high value contributors they'd like to be.
Slides from the "Much ado about Agile", Agile Vancouver Conference 2015. This talk is around examples of MVP on small startups and Enterprise level. What's the ultimate MVP?
Keynote: A Roadmap for Domain-Specific Low-Code PlatformsObeo
Low-code development platforms aspire to streamline the development, deployment and maintenance of specific types of software systems, and to make these activities accessible to an increasingly digital-native workforce. In this talk I will discuss the importance of domain-specific (as opposed to one-size-fits-all) low-code platforms in this new landscape and I will focus on the main opportunities and challenges of assembling such platforms from existing open-source components.
Dimitris Kolovos, University of York
Domain Driven Design (DDD) is a topic that's been gaining a lot of popularity in both the Java and .NET camps recently. Entities, value types, repositories, bounded contexts and anti-corruption layers -- find out what all the buzz is about, and how establishing a domain model can help you combat complexity in your code.
Richard Dingwall is a .NET developer and blogger with a passion for architecture and maintainable code.
He is currently working at Provoke Solutions as lead developer on a six-month project introducing test-driven development (TDD) and domain-driven design (DDD) to a large ASP.NET ERP system.
An hour-long talk given at Wellington .NET user group, Sept 23 2009.
Explain Domain-Driven Design, its main concepts and tools, and the Event Storming practice to highlight the importance of a good design and empower a team to start using it progressively.
Developing software for complex & ever-changing business domains is challenging enough, but factor in the need to integrate with multiple legacy systems while working closely with business experts & it can feel a little overwhelming. In EventStorming developers & business experts use sticky notes to map out a story of how the software system behaves given a particular business problem to solve. This improves communication & collaboration, uncovers misunderstandings early, & accelerates deeper domain knowledge. Learn EventStorming rules, how to facilitate an EventStorming workshop, how it can help a team cultivate shared understanding & be more productive, & how it transitions to designing loosely-coupled, distributed, event-based systems.
Modelling a complex domain with Domain-Driven DesignNaeem Sarfraz
Domain-Driven Design is an approach to modelling business complexity explicitly in your software. This deck of slides runs through the key concepts focusing on both the strategic and tactical aspects of DDD.
Did you know OutSystems enables you to use JavaScript to costumize how users interact with your applications? In this session, see how we've developed and extended patterns over the years and learn the best practices you can follow.
Link with resources: https://bit.ly/2F8P29j
Presented at JavaOne 2013, Tuesday September 24.
"Data Modeling Patterns" co-created with Ian Robinson.
"Pitfalls and Anti-Patterns" created by Ian Robinson.
How Software Developers Destroy Business Value.pptxAaron Stannard
Software developers are intended to be massive, highly leverageable value creators for their companies and teams - using their creative and technical talent to build products themselves or mission-critical systems that facilitate the delivery of value inside the business. The blunt truth, however, is that many software developers would screw up tying their own shoes when left to their own devices. There's an abundant corpus of work out there on how managers routinely let down their software developers through insufficient planning, communication, listening, and support. In this talk we're going to explore the inverse - how individual software developers contributing to a project unintentionally sabotage their teams, their companies, their projects, and themselves through: * Immutable technical preferences + biases; * Bad attitudes; * Poor listening; * Inflexible and unproductive learning styles; * Risk aversion; * Incuriosity; * And more! Most importantly, in this talk we're going to try to address how we can help shift developers who want to learn and improve, but are have trouble executing, become the high value contributors they'd like to be.
Slides from the "Much ado about Agile", Agile Vancouver Conference 2015. This talk is around examples of MVP on small startups and Enterprise level. What's the ultimate MVP?
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
The ninth principle from the Agile Manifesto states that technical excellence enhances agility, but when the codebase is ugly and the deadlines are tight, most teams don’t choose to refactor mercilessly, adopt TDD, or evaluate automated testing tools—unless they have the proper support. In our experience working with multiple teams in a single codebase, developers can feel victim to a legacy codebase if only a few people are writing clean code or refactoring; guiding them on how to decrease technical debt while delivering their projects helps "unstuck" their other agile practices. We will talk about the challenges we’ve seen with Product Owners, Managers, and Scrum Masters interacting with teams at various stages of agile+technical excellence and how a focus on technical practices sparked a wider interest in craftsmanship. Learn how can you influence the team towards the right practices while fostering their sense of ownership. Getting serious about technical excellence requires support from technical and non-technical roles, and we’ll share how we partnered as coaches to help an organization through a technical turnaround with some tips for others who need to do the same.
OK, I’m ready to DevOp. Now what?
We’ve heard a lot about the technologies behind DevOps, and even a bit on the processes that some DevOps shops employ. What we haven’t heard too much about directly is a fundamental matter of bootstrapping. If you’re a leader or influencer in a software or IT shop, you’re sold on this DevOps idea but overwhelmed by the difference between where you are now and where you need to be, you’ve come to the right place. We’ve heard all about the unicorns of the movement, and what they are doing. Much time is spent talking about their innovative technologies. But how did they get there? Moreover, how can YOU get there? We’re going to spend some time discussing how to get started and find success on the rocky road to DevOps. We’re going to talk about the roles of executives, middle managers, front line managers, and individual contributors in this transformation. We’ll talk about the layered approach to transforming your culture, and building the processes and tool chains on top of it. At the tactical level, we’re going to talk about an example team and what their first year looks like, what are the major milestones they will reach, and how to measure their success along the way.
These slides quickly illustrate how you can successfully adopt Agile to improve your development efforts. In addition to discussing how and why teams are interested in Agile, it covers some of the challenges of adopting it and suggestions for ensuring success.
Marty talks about the hard parts of Product Management - People, Process, Product and Culture. For more detail about the talk, see our Meetup page here:
https://www.meetup.com/ProductTank-Auckland/events/248013722/
Want to sharpen your Product Management Skills and network with awesome people from the Auckland Product Management Community? Then join us at ProductTank Auckland:
https://www.meetup.com/ProductTank-Auckland/
Over the past couple of years we've migrated from a traditional, waterfall development process to more of an iterative one. At the same time we've moved from structured to object oriented programming languages. These are big transitions and we are proud to say that we've released our first .NET product built on an object oriented framework.
We have recently adopted the Lean Start-up Process first introduced by Eric Ries. This is a presentation I gave at our customer advisory board meeting that was adapted from Eric's presentation found here:
http://www.slideshare.net/startuplessonslearned/eric-ries-lean-startup-presentation-for-web-20-expo-april-1-2009-a-disciplined-approach-to-imagining-designing-and-building-new-products
Find us at http://exumatech.com or @ExumaTech
Couples Counseling for Product DevelopmentJoe Stump
An introduction to Non-Blocking Development and how to get your entire business, from sales to software development, aligned to ship more product more quickly.
AutoGPT is a new AI tool that can automate many of the mundane tasks that take up your time. With AutoGPT, you can focus on the creative and strategic aspects of your work, while the AI takes care of the repetitive and time-consuming tasks.
In this talk, we will discuss how AutoGPT can be used to improve your productivity. We will cover a variety of topics, including:
How to use AutoGPT to automate your tasks
How to integrate AutoGPT into your workflow
How to troubleshoot common problems with AutoGPT
Discover the fascinating world of data science with this beginner-friendly introduction to the field. This presentation covers key concepts and skills, making it perfect for those who are new to data science or looking to refresh their knowledge. You'll learn about the role of a data scientist, the data science process, and popular tools and techniques used in the industry.
Content Overview:
Introduction to Data Science
Key Components and Terminology
Data Types and Sources
Data Cleaning and Preprocessing
Exploratory Data Analysis
Feature Engineering and Selection
Machine Learning Algorithms
Model Evaluation and Validation
Data Visualization Techniques
Essential Tools and Libraries
Real-World Applications and Use Cases
Building a Data Science Career
Tags: #DataScience #MachineLearning #BigData #Analytics #DataVisualization #AI #Python #DataEngineering #Statistics
1. Mindset of an Architect
2. Character of an Architect
3. Habits of an Architect
4. Leader in an Architect
5. Skillset of an Architect
We will also address the following burning questions in every senior software developer.
How to become highly productive.
How to see the big picture when architecting solutions
How to keep me updated on these changing technologies
How to cope with stress in the fast-paced world
How to be successful in spite of heavy competition
Five simple tools that make you ultra-productive.
How to Lead a team without being a manager
How to increase your salary
How to balance your professional and personal life
How not to feel insecure in your office
How to overcome the feeling of stagnation in your career
How to motivate your team without any fake pep talks
How to build a self-motivated team
How to learn core concepts faster
How to implement what you learned in your project
How to overcome procrastination
How to overcome the fear of becoming invalid in your company
How to ignore politics and still climb the corporate ladder.
How to express your ideas to upper management
How to build a high-quality team
How to position yourself as an architect, so you can get opportunities automatically.
How to be an ethical leader
How to sell yourself without coming out as a salesperson
How to motivate your team to new technologies, even though your project does not facilitate new technologies.
How to build your own digital presence.
How to become a demon developer.
How to write simple architectural documents that can be understood by all stakeholders - a pragmatic approach.
5 Simple tools that make you more productive
How to adapt to the new environment and become an architect who has the most influence.
How to build a new team from the ground up.
Blockchain is one of the trending technology that is catching up in the tech space. It solves multiple use cases where the data integrity should be high. In this ppt, the author has worked on explaining the concepts in a simple and elegant way
1. Why Event streaming
2. What is Event streaming
3. What is Transmitting Event Streams
4. What are message brokers
5. Types of message brokers available in market
6. Databases and streams
7. Event Sourcing
8.Command vs Events
9.State, Streams and Immutability
10. Immutable Events
11. Stream Events
12. Stream Joins
13. Demo on Azure Event Hub
14. Visualize data anomalies in real-time events sent to Azure Event Hubs
Tips & Tricks to build software architecture documentKarthikeyan VK
This slide shows the step by step process on how to build an architecture document that addresses all stakeholders concerns using viewpoints and perspectives.
How to double your productivity as a developerKarthikeyan VK
Learn how to become more productive as a developer. In this presentation, you will learn what you should do, not do and how to change yourself to become more productive
In the presentation, we talk about 7 design patterns and 5 antipatterns. It also talks about why you should use design patterns for better architecture. Principle based desing is also discussed. To see the video, visit https://youtu.be/h-_Ns6nmWKw
Discuss four pillars of azure architecture - Security, Performance & scalability, Availability & recoverability and Efficiency & Operation. Things you need to consider before architecting in the cloud. This presentation also provides a framework for architectural decisions
Understanding LUIS and how you can build your own Support team with minimal effort. Learn all the important concepts around QNA Maker and LUIS such as Entity, Intent, and utterance.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
top nidhi software solution freedownloadvrstrong314
This presentation emphasizes the importance of data security and legal compliance for Nidhi companies in India. It highlights how online Nidhi software solutions, like Vector Nidhi Software, offer advanced features tailored to these needs. Key aspects include encryption, access controls, and audit trails to ensure data security. The software complies with regulatory guidelines from the MCA and RBI and adheres to Nidhi Rules, 2014. With customizable, user-friendly interfaces and real-time features, these Nidhi software solutions enhance efficiency, support growth, and provide exceptional member services. The presentation concludes with contact information for further inquiries.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Anthony Dahanne
Les Buildpacks existent depuis plus de 10 ans ! D’abord, ils étaient utilisés pour détecter et construire une application avant de la déployer sur certains PaaS. Ensuite, nous avons pu créer des images Docker (OCI) avec leur dernière génération, les Cloud Native Buildpacks (CNCF en incubation). Sont-ils une bonne alternative au Dockerfile ? Que sont les buildpacks Paketo ? Quelles communautés les soutiennent et comment ?
Venez le découvrir lors de cette session ignite
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Check out the webinar slides to learn more about how XfilesPro transforms Salesforce document management by leveraging its world-class applications. For more details, please connect with sales@xfilespro.com
If you want to watch the on-demand webinar, please click here: https://www.xfilespro.com/webinars/salesforce-document-management-2-0-smarter-faster-better/
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
3. WHAT IS ANTIPATTERNS ?
• An anti-pattern is something that looks like a
good idea, but one backfires when applied.
• An Antipattern is a pattern that tells how we go
from a problem to a bad solution.
• Identifying bad practices can be as valuable as
identifying good practices.
7. DEVELOPMENT ANTIPATTERNS -
• Continuous Obsolescence
• Lava Flow
• Golden Hammer
• Walking through minefield
• Mushroom Management
8. CONTINUOUS OBSOLESCENCE
• Problem
• Support for particular version of
software is going to be withdrawn by a
vendor. Upgrade becomes mandatory
and urgent.
10. CONTINUOUS OBSOLESCENCE
• Trap
• Obsolescence means process of becoming
obsolete or outdated and no longer used, it
becomes continuous we just upgrade our
software.
• Wasting time on only upgrading the version of
software
• Version incompatibility occurs between
dependencies.
11. CONTINUOUS OBSOLESCENCE
• Effective solution
• Refactor/Rearchitect your application to
better architecture, so you can skip even the
upgrade of software version because your
system is robust.
• Proper abstraction will help in upgrading
easier, so abstract first before upgrading.
12. LAVA FLOW
• Problem
• MVP is approved, let us add some features to
the MVP and move it market.
13. LAVA FLOW
• Counter Productive Solution
• Add few features with the current
MVP and move it market to test the
waters with user environment,
without rearchitecting, because time
is money.
14. LAVA FLOW
• Trap
• Code will become like lava from volcano
with multiple if and else.
• More new features added on the brittle
MVP architecture.
• You keep adding small features to MVP,
by the time you know it becomes full
blown project.
15. LAVA FLOW
• Effective solution
• You need to build a architecture driven design
and replace your MVP application with a
project.
• Key is to think in terms of architecture driven
design from the start and should be ready to
ditch the MVP and move it to a project.
16. GOLDEN HAMMER
• Problem
• As an architect or developer, you learn a new
technology and you get excited by the
technology
17. GOLDEN HAMMER
• Counter Productive Solution
• Next problem that comes to you,
you start using the technology you
learnt and solve the problem.
18. GOLDEN HAMMER
• Trap
• You will be bending backwards, to fit your
solution into the problem.
• You will start seeing every problem as nail
and start using the learned or known solution
as Golden Hammer.
19. GOLDEN HAMMER
• Effective solution
• As a senior developer or an Architect, you
should always be skeptical about your choice
of solutions.
• Always ask yourself, Am I using your golden
hammer ?.
• Think of solutions/technology that exactly fits
your problem/challenge not your knowledge.
20. GOLDEN HAMMER
• Effective solution
• Always play Devils Advocate for your
choice.
• This does not mean you should be
insecure about your solution
22. WALKING THROUGH MINEFIELD
• Counter Productive Solution
• Start implementing and release feature as fast
as possible.
• Reduce the time to market and acquire more
customer base.
23. WALKING THROUGH MINEFIELD
• Trap
• Build a brittle system that breaks every
day.
• Latest research tells us around 2-5 bugs
are being added for every line of code
added to the System.
• No proper test plan.
24. WALKING THROUGH MINEFIELD
• Trap
• Fix only symptoms, not the actual cause.
• Developers are not responsible for bugs,
testers are held responsible.
25. WALKING THROUGH MINEFIELD
• Effective solution
• Build a proper abstraction and architecture driven
design for scaling.
• Only, then implement feature faster, your
software build on strong base and enables
extension faster.
• Developer should feel ashamed when tester find a
bug in their code. Tester are only to validate
feature and do integration testing.
26. MUSHROOM MANAGEMENT
• Problem
• Don’t disturb developer, let them be productive.
• Overpowering manager wants to keep all his
control, because he is not tech savvy.
27. MUSHROOM MANAGEMENT
• Counter Productive Solution
• Hide them from stakeholders.
• Exclude them from all meetings
• Let requirements comes down from
multiple layers.
28. MUSHROOM MANAGEMENT
• Trap
• Keeping them in the dark, developers don’t know
what is happening with, what they are creating and
also what to create
• They grow like a mushroom in a dark room, and
managers manage them.
29. MUSHROOM MANAGEMENT
• Effective solution
• Let stakeholders talk to end-users,
let them be in the loop.
• If possible, make them travel to
onsite for 15 days at least and go to
actual place where the software is
used.
31. ARCHITECTURE ANTIPATTERNS
• Ad Hoc Integration
• Cover your assets
• Architecture by Implication
• Swiss Army Knife
• Reinvent the wheel
32. AD HOC INTEGRATION
• Problem
• Let us Integrate two different existing products
together, so they work seamless.
33. AD HOC INTEGRATION
• Counter Productive Solution
• Expose an interface and let the application talk to
each other in REST/TCP protocol.
• Integrate as fast as possible and move to
production and see how well, it is received in
market.
34. AD HOC INTEGRATION
• Trap
• No proper abstraction is Thought through.
• Hell goes loose because you cannot add features in
both the application because of brittle abstraction.
• This is like going back to Monolith to
Microservices.
35. AD HOC INTEGRATION
• Effective solution
• Take your time to build abstraction layer.
• Abstraction should be even outside the two
applications, like a Queue/Message
Mechanism based on project.
• Integration should be a new project, by itself.
37. COVER YOUR ASSETS
• Counter Productive Solution
• Add every decisions in the document.
• Address all information in a single
view.
• Try to address all stakeholders in each
and every section.
38. COVER YOUR ASSETS
• Trap
• Document are unclear for communication with
stakeholders including developer.
• Too much information only makes the document
tough to maintain.
• Changes becomes hard because document is brittle
with unnecessary information relevant to present
architecture.
39. COVER YOUR ASSETS
• Effective solution
• Compare no more than 3 alternatives, to
record your decision process.
• Use Viewpoints to communicate to different
stakeholders.
• Find a document tool that helps to update
your document easily like Confluence
documentation or WIKI
40. ARCHITECTURE BY
IMPLICATION
• Problem
• From experience, architects understands
documentation process is burdensome.
• Understand the Cover your assets antipattern.
41. ARCHITECTURE BY
IMPLICATION
• Counter Productive Solution
• Architect solutions without
documentation.
• Follows architecture by implication and
discussion with developers
42. ARCHITECTURE BY
IMPLICATION
• Trap
• No proper thought process creates a brittle
software patterns.
• Scaling becomes a problems
• Missing the Process of putting your thoughts in a
document is more important than the actual
document.
• Discipline of playing a devils advocate for your own
choice of technology is missed.
43. ARCHITECTURE BY
IMPLICATION
• Effective solution
• Use Viewpoints to communicate to different
stakeholders.
• Find a document tool that helps to update
your document easily like Confluence
documentation or WIKI
44. SWISS ARMY KNIFE
• Problem
• Application should provide solutions to all
domain problems. E.g.:-Retail, Logistics etc
45. SWISS ARMY KNIFE
• Counter Productive Solution
• Build a single monolithic application
that solves all the problem.
• Put all your corresponding logic in a
single class file.
• Build all process in a single UI.
46. SWISS ARMY KNIFE
• Trap
• Violation of single responsibility principle.
• Violation of Interface segregation principle.
• Application becomes too complex for a change.
47. SWISS ARMY KNIFE
• Effective solution
• Think in terms of number lines you can put in
a class/method.
• How small is small in a module.
• Drive your solution based on event driven and
domain driven architecture.
48. REINVENT THE WHEEL
• Problem
• Members in the team with great developers and
architects, they are presented with a business
problem to solve.
49. REINVENT THE WHEEL
• Counter Productive Solution
• Start working on the problem and start
developing the solution.
• No R&D check to see whether the
solution is already solved in the market
and how it is solved.
50. REINVENT THE WHEEL
• Trap
• Always going for Build choice in Build Vs Buy
decisions
• Wasting solving the problems that may be already
solved.
• Burning midnight oil because the solution is built
ground up.
• Takes a long time to build a bug free solution.
51. REINVENT THE WHEEL
• Effective solution
• First research on the problem, whether it is
already solved
• Is there solution that is available in market.
• How much we can build and how much we can
buy ?
54. BLOWHARD JAMBOREE
• Problem
• Technology consultant are bought into the team
for consultancy for a particular technology or
domain challenge.
• Business stakeholders attends a new conference
or reads about new technology.
55. BLOWHARD JAMBOREE
• Counter Productive Solution
• Developers are bought into meeting
with the consultant and developers
need to explain their problem and
listen for solution.
• Developers answers the concerns of
stakeholder with respect to new
technology.
56. BLOWHARD JAMBOREE
• Trap
• Developers spend too much time answering the
concerns of managers and decision makers.
• Experts are misinformed; occasionally, they
represent biased viewpoints.
• Rarely is there any hands-on research and
experience backing up their conclusions.
57. BLOWHARD JAMBOREE
• Effective solution
• An in-house expert on each key technology is
an invaluable asset to every organization
• Give developers time to do POC and propose
solution in structured manners.
• Ask questions and incentivize innovative and
collaborative ideas.
58. INTELLECTUAL VIOLENCE
• Problem
• When someone who understands a theory,
technology, or buzzword uses his knowledge to
intimidate others in a meeting situation.
59. INTELLECTUAL VIOLENCE
• Counter Productive Solution
• Developers consult them as a final
step, if they cannot solve a problem.
• They put up with the ill-treatment
because they need them.
• Defensive culture
60. INTELLECTUAL VIOLENCE
• Trap
• Non-collaborative environment is created.
• Gangs formed.
• People are de-motivated when they want to learn
anything new. They feel they are good enough.
61. INTELLECTUAL VIOLENCE
• Effective solution
• Talk to the intimidator and tell him to become
a mentor rather than being antagonist
• Knowledge imbalance should be brought
down by proper training.
• Make sure intimidator does not feel insecure
about his position otherwise it will backfire.
63. THE FEUD
• Counter Productive Solution
• Developers tend to take a calculated
risk when addressing concerns.
• Co-operation seems to be ambiguous
in presence and absence of the
manager.
• Emails are used extensively for every
communication.
64. THE FEUD
• Trap
• Waste of time.
• Unproductive environment.
• Hostile environment where co-operations between
teams are punished directly or indirectly.
65. THE FEUD
• Effective solution
• More office gatherings.
• Effective plan to tear down the wall by the
higher management.
• Facilitate new relationship formation.
• If nothing works, separate them.
67. FIRE DRILL
• Counter Productive Solution
• Management asks the developers to
wait.
68. FIRE DRILL
• Trap
• Waste of time.
• Compromises are willingly made in software quality
and testing.
• In a perverse way, the emergency situation makes
the job easier for some software developers, as
management will accept almost any software.
69. FIRE DRILL
• Effective solution
• Use internal and external models technique.
• Internal models will be almost concrete, so
start working on them until external models
are finalized.
• Start the project after a certain stage of initial
discussion and then demo to stakeholders so
they can think by looking rather than thinking
in paper.
70. SUMMARY
• Antipatterns helps to avoid the common
solution traps
• Three types of antipatterns
• Antipatterns improves your vocabulary.
• Think of antipatterns as checklist when
taking up known solutions and the
problem that comes with it.