StratDevOps

PhoenixTeam is a mortgage technology consulting company dedicated to lifelong learning and focused improvement. Just like other folks in technology, we have witnessed many frameworks and methodologies become the new fad, a way to eliminate an organization’s landfill of waste or deliver hundreds of times more value in one year than previous years combined. We have watched organization after organization go through a “transformation” of some sort or another to only come out more misaligned, siloed and frustrated. This makes us sad and we want to help.

T a l e n t S t r a t e g y P r o d u c t S t r a t e g y T e c h n o l o g y S t r a t e g y BusinessValueRealization T e a m C e n t r i c P e r f o r m a n c e M i s s i o n C e n t r i c | S e l f D i r e c t e d | T e a m B a s e d A l i g n m e n t C o n t i n u o u s L e a r n i n g M u l t i - l e v e l L e a r n i n g | L i f e l o n g L e a r n i n g | L e a d e r s a s C o a c h e s I n t e n t D r i v e n L e a d e r s h i p S e r v a n t L e a d e r s h i p | L e a n A g i l e M i n d s e t | S y s t e m s T h i n k i n g B u s i n e s s V a l u e A l i g n m e n t D e fi n e | A l i g n | I d e a t e C l i e n t D e l i v e r y & A d o p t i o n R e a d i n e s s C h a n g e | T r a i n | I m p l e m e n t P r o d u c t D e v e l o p m e n t B a c k l o g D e v e l o p m e n t | P r i o r i t i z e | A r c h i t e c t C o n t i n u o u s I n t e g r a t i o n D e v e l o p | E n d - t o - E n d T e s t i n g | S t a g e C o n t i n u o u s D e p l o y m e n t D e p l o y | V e r i f y & M o n i t o r | R e s p o n d R e l e a s e o n D e m a n d R e l e a s e | A d o p t | O p t i m i z e

Strat devops Detail

The Birth of StratDevOps

Many years prior to our formation in 2015, we committed to bring joy and purpose back into software development. We know from experience that the morale, trust and investment of a team, the talent, is at the crux of any company’s success. Success is not attributable to a framework or methodology. It is a mindset and it often takes time and a lot of alignment to achieve. But it is achievable. Creating technology with joy and purpose requires a clear vision and mission as well as intense and authentic collaboration across business, product and technology.

We are fortunate to partner with the largest mortgage technology providers in both the commercial and federal sectors to achieve and realize some pretty complex strategies and goals. We have spent years soaking up the learnings around why agile, SAFe, [insert framework name] transformations are often unsuccessful and painful to teams and organizations alike.

Here’s what we learned.

  1. You have to believe. It starts at the top. If you are a leader, get on board. Your team requires this.
  2. You have to be present. Leaders have to be present to lead. Your team requires this. Especially in the beginning.
  3. You have to truly appreciate learning but even more importantly, inspire it and encourage it to be practiced continuously.
  4. You have to create a cross-functional, self-directed environment. Allow team members to learn about other areas and put that knowledge to work.
  5. You have to focus on a mission and set the direction and value clearly.

Hopefully you see a theme in these five learnings. It is all about the team, the talent and leaders serving and inspiring the talent. A lock tight Talent Strategy is the most important aspect of any transformation. It is the reason for success and the root cause of failure to transform. It is also the first truth of the StratDevOps lifestyle. It is a lifestyle because it is hard to achieve it takes a lot of time, practice, failure and realignment to achieve. But it is worth the effort, the relationships that are built, the lessons that are learned and the experiences that are shared create a lifestyle that people want to embrace and master.

There are three truths in StratDevOps. The Talent Strategy that we have already discussed, the Product Strategy and the Technology Strategy. Within each truth are three tenets and within each tenet are three fundamentals.

3 truths + 9 tenets + 27 fundamentals = SDO Lifestyle

StratDevOps is not a hierarchical, horizontal or vertical lifestyle. It can be approached in any way an organization chooses to approach it. One caveat is that the Talent Strategy has to be there for the Product and Technology Strategies to be successful. We take a “Pac-Man” like approach to StratDevOps – eat it one bite at a time but eat it all!

Talent Strategy

Talent Strategy

If you want to realize the value of DevOps, pause and consider why DevOps initiatives succeed. It starts with a talent strategy – having the right people involved and invested to carry out the mission or vision, eventually realizing the desired value. Implementing a talent strategy shows team members that the organization is aware and committed to facilitating and nurturing a team-centric, intent-driven and continuous learning mindset. This results in greater value delivery because team members feel heard, inspired and empowered to contribute. The best talent strategies are those where HR policies, leadership and culture are iteratively reshaped to ensure the strategy promotes long-lived continuous learning teams who exhibit empathy, trust, confidence andadaptability.

Product Strategy

Product Strategy

Product strategy is about having a vision and plan to build customer centric, viable solutions that meet business needs, generate economic value, and create lifetime customers. Product strategy is continuously evolved though the product development lifecycle. A cohesive product strategy achieves three things: first, it defines the problem or opportunity with specificity, second, it provides purpose to the talent and third, it clearly outlines the value for technology partners. The product strategy binds the talent and technology strategies together to form an united enterprise strategy.

Technology Strategy

Technology Strategy

A Technology Strategy aims to convert business hypotheses and opportunities into technology enabled services that deliver value to the customer in a predictably fast, continuous, and reliable manner. The strategy consists of objectives, principles, and tactics aimed at enhancing human talent and technical interactions, improving relationships between technology, product and business partners while also improving results throughout the organization.

Business Value Realization

Business Value Realization

Business value realization is the bullseye of the SDO lifestyle. It is the culmination of successfully implemented and adopted talent, product and technology strategies. Business value is realized when a product or idea is delivered and adopted, with end users loving their experience. Business value can be realized through proving or disproving a hypothesis, revenue, investment validation, or adoption.

Team Centric Performance

Team Centric Performance

Self-organized teams are the cornerstone of the StratDevOps lifestyle. With a focus on achieving the mission, these teams thrive independently with strategic alignment, requiring leader engagement only as needed. This gives leaders the freedom to step back and see the big picture enabling them to focus on the next best mission. Organizations that operate with “team alignment” at the center, energize team members to give it their all. All for one, one for all, right?

Mission Focused

Teams are mission focused when they operate with intent, vision and independence to determine “how” to achieve the desired end state. Being laser focused on the mission calibrates teams to be independent thinkers versus order takers. Mission focused teams own the end state and align themselves to the appropriate specialization. Teams that feel trusted to complete the mission will have greater responsibility, accountability and ownership of the outcome.

Self Directed

Self directed team structures promote an environment where individuals have a say in who their team members are, what kind of work they do and where they leverage their skillsets. A key component to intrinsic motivation is autonomy, the ability to work on the things that bring them the most joy and purpose. A motivated and engaged workforce is passionate about solving problems and are the organization’s best ambassadors and marketing platform.

Team Based Alignment

Organizations that subscribe to a team centric culture value individuals while recognizing the performance of the team as a whole. Organizational systems must support and reward teamwork for teams to truly take ownership of solving problems and operating as a team versus a collective group of individuals. Advancement, pay structure, bonuses must shift to team based performance driven or else individual behavior will continue.

Continuous Learning

Continuous Learning

Continuous learning emphasizes the importance of teams improving through independent and collaborative experiences and growth opportunities. This creates a commitment to life-long individual, team and organizational system betterment. Teams will broaden their skillsets, eliminate silos, share knowledge and develop deeper camaraderie. All this to say that when team learning is encouraged and supported, they will feel more joy and purpose when executing a mission.

Multi-Level Learning

Multi-level learning creates opportunities for individuals, teams and teams of teams to learn together and explore opportunities through experimentation and experience. The goal is to reduce preconceived notions and assumptions while creating adaptable teams who can pivot and fill-in to meet demand.

Lifelong Learning

Lifelong learning encourages individuals and teams to take advantage of formal and informal learning opportunities to enrich their lives and evolve new and better ways to get things done. Mastery, another key ingredient to intrinsic motivation, allows individuals to practice and master multiple skills, removing bottlenecks and improving value delivery.

Leaders as Coaches

Leaders coach individuals and teams to try new things, make new discoveries, and overcome challenges that come with venturing into unknown territory. Coaching leaders help teams recognize and implement learnings that come from failure. They support teams to stretch themselves and encourage a learning environment that delights customers.

Intent Driven Leadership

Intent Driven Leadership

A leadership approach that continuously showcases trust in teams. Intent driven leaders have a precise mission to achieve and clearly communicate the vision, intent and value for the teams to execute. These servant leaders harness their lean-agile mindset and systems thinking to instill, encourage and celebrate self-organizing teams to act with intent versus asking for approval or permission.

Servant Leadership

Servant leaders enable high-performing teams by focusing on the guidance, growth and well being of team members. These leaders share power and put the needs of others first because helping individuals achieve the best version of themselves results in a stronger, more adaptive teams able to consistently realize value.

Lean Agile Mindset

Leaders with a lean agile mindset challenge the status quo, demonstrating and teaching lean agile values and principles. Walking the line they live by the Japanese phrase Genchi-Genbutsu (“go and see for yourself”). Lean agile leaders are laser focused on identifying opportunities for improvement, leading and coaching others to embrace the positive impact of change through reflection, acknowledgment and motivation. They are sensitive to organizational and policy actions that contradict lean agile behaviors and transparently work to change them for the better.

Systems Thinking

Everyone, but most of all leaders, must be aware that everything is interconnected. In a complex, adaptive system, leaders must condition themselves to blame the system, not the people. They must see the connections and understand how each part interacts and influences other parts of the system. Competition of resources and people within the system will cause local optimization and inefficiencies across the entire system, slowing down value delivery.

Business Value Alignment

Business Value Alignment

At the core of business value alignment is a well defined product vision that aligns to the business vision. The vision is shared and refined with agile teams to gain alignment and collaboration on the best solution to prove or disprove the business hypothesis.

Define

Defining a solid Product vision requires deep understanding of the business goals and customer needs. A customer-centric product vision outlines future valuable and viable opportunities for the product over the product lifecycle, which provides inspiration and purpose to the team or team of teams.

Align

Alignment is a key ingredient to realizing the business vision. It requires collaboration and transparency to refine the vision, understand the value of the opportunities and agree upon measurable objectives and key results (OKRs).

Ideate

Ideation is a continuous and collaborative effort that brings together product, technology and business to identify as many opportunities as possible. The team uses tools like interviews, storyboards, customer journey maps, empathy maps and lean decision jams to drive the discovery of opportunities and potential solutions.

Client Delivery & Adoption Readiness

Client Delivery & Adoption Readiness

Client Delivery and Adoption readiness is a continuous process that begins at product or idea generation, preparing the client to receive and integrate new functionality into their environment and processes. The objective is to effectuate transformational understanding, acceptance and willingness of the changes. It involves long term implementation, change, training and metrics planning to ensure wide-spread adoption and path to optimization.

Change

Integrated change management ensures that end users actively participate in change efforts that impact their role and responsibilities. The value of the change is communicated clearly and feedback is heard and responded to timely.

Train

Transformational training is a hands-on, interactive experience that readies any impacted end user to fully utilize the new system or process. Deep product and process experience along with state of the art training practices is needed to provide end users with transformative knowledge sharing and learning.

Implement

Implementation readiness sets the stage for successfully transitioning a set of users to the target state. It integrates change management, product development and training to create and execute a transformational roadmap to track and deliver business outcomes in the new target state.

Product Development

Product Development

Product development is a continuous process where solutions are unpacked, work is created and prioritized and the ‘how’ is defined and architected. Teams also evolve strategy, inform roadmap and test hypotheses and assumptions through incremental development.

Backlog Development

A healthy backlog is the foundation of any product. Items are developed collaboratively across product, business and technology. The backlog is appropriately detailed, comprehensive and clear. It is allowed to mature or change as more is learned about product and customers.

Prioritize

Product backlog items are continuously maintained, refined and prioritized collaboratively based on value, opportunity enablement and risk reduction, all of which is part of weighted shortest job first. This provides the team direction on the most valuable items to work at all times.

Architect

Architecting a solution the right way requires a collaborative, deliberate and flexible approach, leaving options open until the last responsible moment. Often this is referred to as lean agile architecture or minimum viable architecture where there is still room to iterate prior to and during development.

Continuous Integration

Continuous Integration

Continuous integration (CI) is a practice where code is committed to a shared repository throughout a day. Automated services build, run and test the new code changes to immediately identify any defects. Continuous integration is the first half of the CI/CD pipeline, only allowing qualified code to be continuously deployed.

Develop and Build

Developing in the Continuous Delivery Pipeline is the culmination of the collaboration between customers, business, product and technology. Teams develop stories that are implemented in small, vertical slices using Test-Driven Development (TDD). As increments of code are completed, they are committed to the trunk/main branch triggers a build involving compiling, unit testing, and other forms of component-level validation.

End to End Testing

End-to-End Testing is a software testing technique to test an application flow from start to finish to include integration with external interfaces. The purpose of end-to-end testing is to simulate a real user scenario to validate the entire application for dependencies, data integrity and communication with other systems, interfaces, and databases in a production like environment.

Stage

Staging involves deploying features to a staging environment, a nearly exact replica of the production environment. From this staging environment the organization can demonstrate feature functionality to stakeholders, conduct user acceptance testing, and host new user training and training development. Placing completed features and functionality in a staging environment for testing, minimizes the chance for future challenges or poor performance for the end users when they get pushed into production.

Continuous Deployment

Continuous Deployment

Continuous deployment is a practice where code is frequently validated and moved from a lower environment to a production environment. Teams monitor the code to ensure proper functionality and that the code is release ready when a customer is ready to consume it. This allows the organization to respond proactively to unplanned events.

Deploy

Code is deployed to production after end-to-end and user acceptance testing but is not released to the end user. Feature toggles enable code to easily be released when the business or end user is ready.

Verify and Monitor

Verifying code for completeness and monitoring a production environment for stability are mission critical activities to maintain the integrity of the system. Leveraging telemetry, metrics, thresholds and SLAs for all deployed features allows teams to see and solve problems as they occur, also allowing them to gain real time insights to how customers are engaging with the application.

Respond

Proactively detecting and responding to production issues is far more streamlined and less risky when a team builds, tests and deploys fixes through the pipeline versus fixing them directly in production. As the organization matures, applies systems thinking, and learns from its experiences, incident response time and approach will improve, allowing teams to respond to issues before they occur.

Release on Demand

Release on Demand

Release on Demand is the practice of intentionally making functionality available to end-users. It can occur at once or incrementally based off end-user needs, market conditions, business objectives, and the complexity of the solution. Decoupling release from deployment allows the organization to choose the most optimal time to release and control the amount of risk associated with each release. Upon release, metrics are collected, and actions are taken to steer client adoption and optimize the product.

Release

Releases are essential to delivering value and gathering feedback to prove or disprove a hypothesis. Releasing when the business demands allows us to capture optimal market windows which leads to better business results.

Adopt

The north star for any product team is for end users to adopt functionality because they enjoy the experience, see value in it and want to provide feedback to continuously make it better. Adoption is more than transitioning end users to a new target state. It requires product, technology, and business to collaboratively ensure widespread end user adoption, integrating into the client’s culture through continuous improvement efforts.

Optimize

Optimization is the process of continuously improving the customer and end user experience. It is not uncommon for teams to neglect optimizing functionality in an effort to push out new functionality. However, teams that listen and respond to client feedback, apply lessons learned and anticipate future product changes to continue to enhance functionality, build a much stronger and more loyal customer sentiment.