Grigori Melnik  

Software development is a cooperative game of invention and communication.
-- Alistair Cockburn

Dr. Grigori Melnik is a software engineering practitioner, applied researcher, coach and educator,
with career that includes architecture, engineering, and strategy leadership roles at startups, enterprises, and governments.

Has been managing projects for over fifteen years and is credited with many successful agile transitions. Worked in Canada, Europe and the US on a number of enterprise projects and commerical products.

Currently, a principal member of the Microsoft patterns & practices team driving the Microsoft Enterprise Library, Unity, Wasabi and CQRS Journey projects. Recognized with the Gold Star and multiple other awards, with the most recent being the Environmental Sustainability Action Award Winner in Oct 2012.

Internationally recognized expert and speaker on agile methods, test-driven development, and code reuse. Author of seven books and numerous publications.

Passionate about creating environments for teams to co-create, learn, grow and leading them to do epic stuff.

Dr.Melnik is a strong experiential learning advocate engaged in teaching, graduate student advising, curruculum development and program committees. He is an Adjunct Professor at the Department of Computer Science of the University of Calgary and an Associate Editor-in-Chief of IEEE Software. Dr.Melnik has helped organize numerous international conferences and workshops and served in over 30 program committees. He was the program chair of Agile 2008 conference at which he pioneered the multi-stage metaphor to guide reorganization of the program committee into a more decentralized governing body, with each stage designed and organized by experts as producers.

Areas of expertise include:

  • agile software engineering,
  • technical program management,
  • product planning and management,
  • empirical software engineering,
  • cloud computing,
  • design of IT efficiency,
  • component-based software engineering,
  • software testing,
  • test-driven development (incl. executable acceptance test-driven development),
  • design for scalability,
  • distributed learning,
  • distributed/group cognition in software teams.

Relevant links:

Selected Books:

Developer's Guide to Enterprise Library Dependency Injection with Unity Exploring CQRS and Event Sourcing: A journey into high scalability, availability, and maintainability with Windows Azure Acceptance Test Engineering:How to Decide if Software is Ready for You or Your Customers (PREVIEW) Building Elastic and Resilient Cloud Applications

Contact Grigori at melnik at live dot com or follow him on Twitter at @gmelnik