Software Practices
Software Process
- Agile Alliance. 2021. What is Agile? https://www.agilealliance.org/agile101/
- Kent Beck. 2004. Extreme Programming Explained. Addison-Wesley. ISBN 978-0321278654.
- Birgitta Böckeler and Nina Siessegger. 2020. On Pair Programming. https://martinfowler.com/articles/on-pair-programming.html
- Frederick P. Brooks. 1975. The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley. ISBN 978-0201835953.
- Alistair Cockburn & Laurie Williams. 2000. The Costs and Benefits of Pair Programming in eXtreme Programming and Flexible Processes in Software Engineering . 223-243. Addison-Wesley. ISBN 978-0201710403.
- Jacek Czerwonka et al. 2015. Code reviews do not find bugs: how the current code review best practice slows us down. ICSE ‘15: Proceedings of the 37th International Conference on Software Engineering - Volume 2. Pages 27–28. DOI 10.5555/2819009.
- Llewellyn Falco. 2014. Llewellyn’s strong-style pairing. https://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html
- Martin Fowler. 2000. Continuous Integration. https://www.martinfowler.com/articles/originalContinuousIntegration.html
- Martin Fowler. 2018. Refactoring: Improving the Design of Existing Code. Addison-Wesley. ISBN 978-0134757599.
- GitLab. 2022. GitLab CI/CD. https://docs.gitlab.com/ee/ci/
- Philipp Hauer. 2018. KotlinConf 2018: Best Practices for Unit Testing in Kotlin. https://www.youtube.com/watch?v=RX_g65J14H0
- Alan Kay. 2021. Is Software Engineering Still an Oxymoron? GOTO 2021. https://www.youtube.com/watch?v=D43PlUr1x_E
- Robert C. Martin. 2003. Agile Software Development: Principles, Patterns and Practices. Pearson. ISBN 978-0135974445.
- Robert C. Martin. 2008. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson. ISBN 978-0132350884.
- Hugo Matilla. 2022. Refactoring Summary. GitHub repository. https://github.com/HugoMatilla/Refactoring-Summary
- Steve McConnell. 1994. Rapid Development. Microsoft Press. ISBN 978-1556159008.
- Steve McConnell. 2004. Code Complete. 2nd Ed. Microsoft Press. ISBN 978-0735619678
- Bertrand Meyer. 2014. Agile!: The Good, the Hype and the Ugly. Springer. ISBN 978-3319051543.
- Mihai Popescu. 2019. Pair Programming Explained. Shopify Engineering. https://shopify.engineering/pair-programming-explained
- Mary Poppendieck & Tom Poppendieck. 2003. Lean Software Development: An Agile Toolkit. Addison-Wesley Professional. ISBN 978-0-321-15078-3.
- Roger S. Pressman & Bruce R. Maxim. 2020. Software Engineering: A Practitioner’s Approach. 9th Edition. McGraw-Hill Education. ISBN 978-1259872976.
- Raycast Technologies Inc. 2021. No Code Reviews By Default. https://www.raycast.com/blog/no-code-reviews-by-default/
- Winston Royce. 1970. Managing the Development of Large Software Systems. Proceedings IEEE WESCON. pp. 1-9.
- Caitlin Sandowski et al. 2018. Modern Code Review A Case Study at Google. Proceedings ICSE SEIP ‘18. DOI: 10.1145/3183519.3183525.
- Ken Schwaber and Jeff Sutherland. 2010. The Scrum Guide. https://scrumguides.org/index.html
- Jeff Sutherland & Ken Schwaber. 1995. Business object design and implementation. OOPSLA ‘95 workshop proceedings. The University of Michigan. p. 118. ISBN 978-3-540-76096-2.
- Dave Thomas & Andrew Hunt. 2019. The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition. Addison-Wesley Professional. ISBN 978-0135957059.
- Various. 2001. The Agile Manifesto. http://agilemanifesto.org
- Visual Paradigm. 2021. Learning Guides (Project Management, UML, Process Models). https://www.visual-paradigm.com/guide/
- Laurie Williams, Robert R. Kessler, Ward Cunningham and Ron Jeffries. 2000. Strengthening the case for pair programming in IEEE Software, vol. 17, no. 4, pp. 19-25, July-Aug. 2000, doi: 10.1109/52.854064.
Requirements
- Alan Cooper. 2014. About Face: The Essentials of Interaction Design. Wiley. ISBN 978-1118766576.
- Interaction Design Foundation. 2021. Personas - A Simple Introduction. https://www.interaction-design.org/literature/article/personas-why-and-how-you-should-use-them
- Interaction Design Foundation. 2021. What is Prototyping? https://www.interaction-design.org/literature/topics/prototyping
- Travis Lowdermilk. 2013. User-Centered Design: A Developer’s Guide to Building User-Friendly Applications. O’Reilly. ISBN: 978-1449359805.
- Leszek A. Maciaszek. 2007. Requirements Analysis & Design. Pearson Education Ltd. ISBN 978-0-321-44036-5.
- Don Norman. 2013. The Design of Everyday Things, Revised Edition. Basic Books. ISBN: 978-0465050659.
- Nielsen Norman Group. 2018. Affinity Diagramming for Collaboratively Sorting UX Findings and Design Ideas. https://www.nngroup.com/articles/affinity-diagram/
- Suzanna Robertson, James Robertson. 2012. Mastering the Requirements Process. Addison-Wesley. ISBN 978-0321815743.
- Patrick Thornton. 2019. How to conduct user interviews. https://uxdesign.cc/how-to-conduct-user-interviews-fe4b8c34b0b7
- Karl E. Wiegers, Joy Beatty. 2013. Software Requirements. 3rd Edition. Microsoft Press. ISBN 978-0735679665.
Software Design
- Amy Brown & Greg Wilson. 2011. The Architecture of Open Source Applications. ISBN 978-1257638017. http://aosabook.org/en/index.html
- CodeAesthetic. 2022. Prefer Composition Over Inheritance - What Does It Mean? https://www.youtube.com/watch?v=hxGOiiR9ZKg
- Vedran Cindrić. 2021. The 10 REST Commandments. https://treblle.com/blog/the-ten-rest-commandments
- Brian Foote & Joseph Yoder. 1999. Big Ball of Mud. http://www.laputan.org/pub/foote/mud.pdf
- Martin Fowler. 2002. Patterns of Enterprise Application Architecture. Addison-Wesley. ISBN 978-0321127426.
- Martin Fowler. 2003. Who Needs An Architect? IEEE Software. Vol 20, Issue 5. https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
- Martin Fowler. 2003. UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley. ISBN: 978-0321193681.
- Martin Fowler & James Lewis. 2014. Microservices. https://martinfowler.com/articles/microservices.html
- Eric Gamma et al. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional. ISBN 978-0201633610.
- Ian Gorton. 2011. Essential Software Architecture, 2nd ed. Springer. ISBN 978-3642191756.
- KiberneticWorm. 2021. Kotlin-Algorithms-and-Design-Patterns. https://github.com/KiberneticWorm/Kotlin-Algorithms-and-Design-Patterns.
- Robert C. Martin. 2003. Agile Software Development: Principles, Patterns and Practices. Pearson. ISBN 978-0135974445.
- Robert C. Martin. 2017. Clean Architecture. Prentice Hall. ISBN 978-0134494166.
- Microsoft Inc. 2009. Microsoft Application Architecture Guide. 2nd Ed. Microsoft Press. ISBN 978-0735627109.
- John Ousterhout. 2018. A Philosophy of Software Design. Yaknyam Press. ISBN 978-1732102200.
- David Parnas. 1972. On the Criteria To Be Used in Decomposing Systems into Modules. Communications of the ACM. DOI https://doi.org/10.1145/361598.361623.
- Jef Raskin. 2000. The Humane Interface: New Directions for Designing Interactive Systems. Addison-Wesley Professional. ISBN 978-0201379372.
- Mark Richards & Neal Ford. 2020. Fundamentals of Software Architecture: An Engineering Approach. O’Reilly. ISBN 978-1492043454.
- Love Sharma. 2021. Principles & Best Practices of REST API Design. https://blog.devgenius.io/best-practice-and-cheat-sheet-for-rest-api-design-6a6e12dfa89f
- Alexander Shvets. 2019. Dive Into Design Patterns. Refactoring.Guru (self-published). https://refactoring.guru/design-patterns/book
- Alexander Shvets. 2021. Refactoring Guru: Design Patterns. https://refactoring.guru/design-patterns
- Richard N. Taylor, Nenad Medvidović, and Eric M. Dashofy. 2009. Software Architecture: Foundations, Theory, and Practice. Wiley & Sons. ISBN 978-0470167748.
- Ugonna Thelma. 2020. The S.O.L.I.D. Principles in Pictures. https://medium.com/backticks-tildes/the-s-o-l-i-d-principles-in-pictures-b34ce2f1e89
- Dave Thomas & Andrew Hunt. 2019. The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition. Addison-Wesley Professional. ISBN 978-0135957059.
- Visual Paradigm. 2021. What is Unified Modeling Language (UML)? https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/