Michael Hüttermann
Independent and unique system, architecture and engineering services in the areas of Continuous Delivery, DevOps, SCM/ALM.
Home
Welcome!
Welcome to our web site. Find out more about our portfolio and areas of interest. Navigate further to dedicated pages to gain a better understanding of our approach.
Agile Java-Entwicklung in der Praxis O'Reilly, 2008 |
Fragile Agile Hanser, 2010 |
Agile ALM Manning, 2011 |
DevOps for Developers Apress, 2012 |
Email: | Here | |
Mobile: | +49 173 5373 629 | |
Twitter: | huettermann | |
LinkedIn: | My profile | |
Xing: | My profile | |
Skype: | michael.huettermann |
My interests
Tools should implement requirements and concepts. I prefer to use tools that allow productive software development. There are many good tools on the market that we prefer to use and consult on, covering also their respective ecosystems, including: Jenkins, Maven, Ant, Gradle, SonarQube, Cobertura, Mockito, Subversion, Git, Flyway, Fit/FitNesse, Selenium, Artifactory, Nexus, JIRA, Ansible, Puppet, Chef, Terraform, Vagrant, Docker, Kubernetes, OpenShift, Graphite, cAdvisor, Prometheus, ELK (Elasticsearch, Logstash, Kibana), Centreon, Nagios, and many others, on premises, and in the cloud, utilizing infrastructure, platforms and services, e.g. AWS, Azure and Oracle Cloud, and existing assets, for example UC4. We have strong experience in heterogeneous, complex, large-scale setups.
DevOps
DevOps is a mix of patterns intended to improve collaborations between development and operations. DevOps addresses shared goals and incentives as well as shared processes and tools. Because of the natural conflicts among different groups, shared goals and incentives may not always be achievable. However, they should at least be aligned with one another. DevOps respects the fact that companies and projects have specific cultures and that people are more important than processes, which, in turn, are more important than tools. DevOps accepts the inevitability of conflicts between development and operations. Find out more about our DevOps approach in Michael's book DevOps for Developers.
Agile ALM
After chosing the right tools, they should be used and integrated in the most efficient way. This can be a selective adoption, or a "full lifecycle tooling", including tools for code, test, build, configure and delivery. Application lifecycle management (ALM) protects your assets and boosts productivity. Although not a must, ALM should be enriched with Agile strategies.
What is ALM? ALM is a comprehensive approach streamlining your software development process.
Agile ALM
- Is the marriage of business management to software engineering
- Targets processes and tools working together seamlessly, without silos (silos are for farmers!)
- Spans development phases and project roles to foster communication and team collaboration
- Enriches ALM with Agile strategies
- Is based on Software Configuration Management and version control
- Is based on a set of lightweight tools, enabling a team to collaborate efficiently
- Includes artifact types to continuous integration, inspection and deployment including Java, Groovy, Scala, Cobol, .NET, and others
- Sets up and uses an unified infrastructure
Find out more about our Agile ALM approach in Michael's Agile ALM book.