Do you suspect that your company’s commitment to agile consists of jargon and sloganeering, as opposed to actual organizational and cultural change? Then you would do well to refer to this pamphlet on Detecting Agile BS (pdf) produced by the Department of Defense’s (DoD) Defense Innovation Advisory Board (DIB) in October of 2018. The DIB established itself to bring the best practices and innovations of Silicon Valley to DoD software development. The pamphlet was the result of luminaries such as Eric Schmidt, Reid Hoffman, and Neil deGrasse Tyson coming together turning their gimlet eye towards true agile practices in DoD software development.
I’ve excerpted some interesting parts of the pamphlet below and tied in some of my perspectives based on my current TeraThink project at U.S. Citizenship and Immigration Services (USCIS). Full disclosure: TeraThink is a for-profit company, and as such is not 100%-free of BS. However, I like to think we have less BS than most. I’ll detail why through highlighting key flags that a projects is not truly agile.
We merged over a year ago and it has been quite an experience. One of the things we had to do is combine our core values. After our merger, we had two very complimentary, but different, sets of core values. While we were all working well as a team, we needed a unified set of core values that reflects all our amazing employees here at TeraThink.
During the process, it was important to us to keep the strengths of both sets of values while still moving forward as a new company. We both shared a similar vision of sustaining an innovative and driven workforce. Additionally, we understood that our culture is the currency that we bring to our clients.
Through combining the best of both companies, we introduced: Own It, Create It, Share It, and Crush It. It’s our vision these values will inspire our employees to further enhance our capabilities and resources for the clients we serve.
Here at Terathink, we are working with a large government agency constructing a content services platform. This platform allows content generated by benefit applications to be shared and reused across the organization’s disparate IT applications. We are doing this through the use of application programming interfaces, or APIs.
Our agile development team manages our work using a Kanban approach, from requirements gathering to the deployment of the API to a production environment. We have honed our use of Kanban to most effectively manage the work required to take a user request to functional reality.
In an earlier blog, I wrote about a couple of takeaways regarding improvements to the ServiceNow platform from our trip to Knowledge18, Those weren’t the only key takeaways from ServiceNow’s annual conference. There was a lot of focus on improving the user experience for both the producers and consumers of ServiceNow’s features and value. Having seen many projects succeed or fail based not upon features but upon user experience, this was exciting to see.
In May, my colleagues and I attended ServiceNow’s annual conference, Knowledge18. We joined over 18,000 attendees in Las Vegas to meet, learn, share, and collaborate on all things ServiceNow. They presented a wide range of valuable content spanning all aspects of the platform. This ranged from in-depth solution-focused sessions, to industry-based workshops, to a roadmap of functionality coming to the platform.
Two of my takeaways from the conference centered on the platform improvement and their increased focus on the customer.
Microservices is the latest architectural approach to scaling applications. Their smaller, more atomic size, allows for greater agility as the impact of each iteration is more contained. This makes continuous integration and development easier as the burden of testing is less and deployment iterations are more limited in scope.
As we look to utilize Mule, and other systems, in this environment, we need to make sure that their configurations can automatically reflect their environment. As we build applications at scale and move out of the development lab, this becomes a real need. Luckily, the Spring Cloud Configuration server lets us do exactly that.
As success with DevOps continues to make progress, it ventures into taking on other areas where traditional SDLC / IT practices have been less than optimal. Alongside this need, the IT Security technical landscape has been in rapid transition, making it near impossible for security teams to keep up with both increased DevOps velocity and the changing security landscape. Now, teaming up security in the continuous integration (CI) and continuous delivery (CD) model has a potential to be a game changer.
In the beginning, the movement started out being called DevOpsSec. ‘Sec’ was appended on to the end – almost like a caboose on a train – an afterthought. But in reality, security must be thought of, designed, and practiced throughout the process. In light of this, the more current term is DevSecOps – one where we weave security into our integration. Originally, marketing hype from each security software vendor clouded the concept. But, the movement is less about tools, and more about the way in which we work together, in parallel.
TeraThink had the privilege of attending and sponsoring AgileDC last week. AgileDC is a great event every year. It brings the DC area’s best and brightest thought leaders and practitioners to talk about agile trends, best practices, experiences, and how to grow our practices and community. This event has much more of a community feel than many of the larger conferences and events, which I really appreciate and value. You can focus on forming new relationships and broadening your knowledge of local partners and clients, which benefits everyone.
When all of the best and brightest thinkers in the agile arena get together in one place, there’s no doubt you are going to learn a lot from one another and have fun. This year’s Agile2017 conference in Orlando was no exception. Great breadth of topics that loaded me up with ideas to bring back to our TeraThink clients and our company itself. I want to share a few of the areas that top my list.
Making Time for Innovation is Good for Everyone
The innovation theme was prevalent in many conversations and areas, and there is a good reason – because it is important. Innovation is how people, products, industries, etc. get better. Allowing our developers, engineers and leaders the space to innovate will build higher performing teams and organizations. I spent Open Spaces time with some great agilists hearing about the innovative ideas they have implemented at their respective companies. This has fueled my fire to get this going even more at home.
Here at TeraThink, we are currently building an internal application that will allow us to better track new business opportunities. Simultaneously, we are exposing more of our staff to agile and continuous integration/continuous deployment (CI/CD) principles. Among the many concepts we are trying to inculcate in our team is the “layer cake” user story.
The layer cake idea has been around for over a decade. However, I’ve found on nearly all agile engagements that I’ve been on, teams either discard this idea early in the project or completely ignore it from the outset. It is up to the triumvirate of the Product Owner, Scrum Master, and Business Analyst to ensure that the scrum team writes user stories in such a manner that the outcome of each story is working software that delivers tangible value to the end user.