Get Mapped: Value Stream Mapping

twain

Value stream mapping (VSM) does exactly that: it is a DevOps framework (“borrowed” from manufacturing) that provides a structured way for cross-functional teams to collectively see where we are today (long release cycles, silos, damage control afterwards, etc.) and where we want to be in the future (short release cycles, infrastructure as code, iterative development, continuous delivery, etc.).

A VSM is a way of getting people to collaborate and see what is really happening. These exercises are often amazing “aha!” moment workshops that make three objectives (flow, feedback, and continuous integration) turn into a sustainable engine of improvement.

Who should participate in a VSM?

  •    Service Stakeholders and Customers
  •    Executors of a Process Tasks
  •    Management

…but not all at the same time.

The VSM process assembles everyone involved with a workflow in the same room to clarify their roles in the product delivery process and identify bottlenecks, friction points and handoff concerns. Realistically, if we include everyone at the same time, the likelihood of honesty decreases. Let’s be for real – if upper management were in the room with you, would you be 100% honest as to where the bodies are buried or exactly what processes each step entails? VSM reveals steps in development, test, release and operations support that waste time or are needlessly complicated and this requires complete transparency.

Lead Time versus Time on Task

If you can’t measure it, you can’t improve it. Why do companies go for Continuous Delivery (CD)? Why do people care about DevOps? The main reason I hear is cycle time. This is the time it takes me to get from an idea to a product or feature that your customers can use. Measurement is one of the core foundations of DevOps, and the VSM is the measurement phase. If you do it right, it’s the sharing phase as well – share the measurements and proposed changes with the entire group. Doing that well allows you to start to change culture simultaneously.

Lead time vs time on task

With a solid foundation in place, it becomes easier to capture more sophisticated metrics around feature usage, customer journeys, and ensuring that service level agreements (SLAs) are met. The information received becomes handy when it’s time for road mapping and spec’ing out the next big project.

“Lead time” is a term borrowed from manufacturing, but in the software domain, lead time can be described more abstractly as the time elapsed between the identification of a requirement and its fulfillment.

The goal of VSM development is to measure how time is spent on each task and identify processes required for each task. It becomes easier to see what processes are inefficient and creating a bottleneck. In turn, this will reduce the lead time to deliver the finished release.

Current State

The following VSM demonstrates a current state analysis of the current software release process. The main thing to note in this example is how linear it is – there are only two feedback loops: at the very beginning and towards the end at new feature testing.

current state

The apparent lack of feedback loops presents a potential problem area – there are 8 steps between the two feedback loops. Imagine getting all the way to the end before realizing there’s an issue and providing feedback. How far will the software release be set back if the problem is not detected and communicated until the new release testing phase?

Future State

Once you have the current state VSM mapped, the next step is to figure out a way to make the mapping more efficient. This is typically driven by the following:

  • How can we significantly increase the percent complete and accurate work for each step in our current state VSM?
  • How can we dramatically reduce, or even eliminate the non-productive time in the lead time of each current state step?
  • How can we improve the performance of the value added time in each current state step?

future

Realistically, no VSM is perfect. However, the future state that we see above demonstrates a set of processes that create a mostly ongoing feedback loop. This allows for continuous communication about the processes and release as it moves forward towards a qualified build.

Demonstrating Business Value

In the manufacturing plants, they would have one pipeline, one production line at a time. As we know, the modern software development world is not like that.

A VSM is about more than just dissecting the software delivery lifecycle to find bottlenecks and pain points, although it is certainly helpful in that area. Analyzing value streams gives management confidence that the business is focusing on the right projects and initiatives. By taking a clearer look at the KPIs and metrics across the tooling and scaling the entire organization, these leaders can make informed decisions the way most business leaders prefer to—with data to back them up.

VMware Community #vAllStars

On this Thanksgiving Eve in the US, it is easy to recount the things for which I am grateful: my family, my friends, my health, etc. Monday will be 6 years since I exited from my service in the Marine Corps. At that time I was not sure I would even stay in tech as a career (law school still seems like a good backup plan). I am incredibly grateful and humbled by my career and the trajectory it has taken in recent years. A substantial part of this has been involvement in the tech community, especially the VMware community. I’m far from the only person that has built a career on the back of the VMware community. I am thankful for the guidance and inspiration I have received over the past six years.

Read More »

Understanding MongoDB’s Replica Sets

As a part of its native replication, MongoDB maintains multiple copies of data in a construct called a replica set.

Replica Sets

So, what is a replica set? A replica set in MongoDB is a group of mongod (primary daemon process for the MongoDB system) process that maintains the same data set. Put simply, it is a group of MongoDB servers operating in a primary / secondary failover fashion. Replica sets provide redundancy and high availability.

Read More »

Virtual Design Master: Conceptual, Logical, Physical

This year I am honored to be one of the Virtual Design Master (vDM) judges. If you are unfamiliar with vDM, it is a technology driven reality competition that showcases virtualization community member and their talents as architects. Some competitors are seasoned architect while others are just beginning their design journey. To find out more information, please click here. One of the things that I, along with the other judges, noticed is that many of the contestants did not correctly document conceptual, logical, and physical design.

The best non-IT example that I have seen of this concept the following image:

C-3NztMXYAIRbF9.jpg-large
(Figure 1) Disclaimer: I’m not cool enough to have thought of this. I think all credit goes to @StevePantol.

The way I always describe and diagram design methodology is using the following image:

Screen Shot 2017-07-06 at 9.50.05 PM
(Figure 2) Mapping it all together

I will continue to refer to both images as we move forward in this post.

Conceptual

During the assess phase, the architect reaches out to the business’ key stakeholders for the project and explore what each need and want to get out of the project. The job is to identify key constraints and the business requirements that should be met for the design, deploy, and validation phases to be successful.

The assessment phase typically coincides with building the conceptual model of a design. Effectively, the conceptual model categorizes the assessment findings into requirements, constraints, assumptions, and risks categories.

For example:

 Requirements –

  1. technicloud.com should create art.
  2. The art should be durable and able to withstand years of appreciation.
  3. Art should be able to be appreciated by millions around the world.

Constraints –

  1. Art cannot be a monolithic installation piece taking up an entire floor of the museum.
  2. Art must not be so bourgeoisie that it cannot be appreciated with an untrained eye.
  3. Art must not be paint-by-numbers.

Risks –

  1. Lead IT architect at technicloud.com has no prior experience creating art.
    • Mitigation – will require art classes to be taken at local community college.
  2. Lead IT architect is left-handed which may lead to smearing of art.
    • Mitigation – IT architect will retrain as ambidextrous.

Assumptions –

  1. Art classes at community college make artists.
  2. Museum will provide security as to ensure art appreciators do not damage artwork.

As you read through the requirements and constraints, the idea of how the design should look should be getting clearer and clearer. More risks and assumptions will be added as design decisions are made and the impact is analyzed. Notice that the conceptual model was made up entirely of words? Emphasis on “concept” in the word “conceptual”!

Logical

Once the conceptual model is built out, the architect moves into the logical design phrase (which indicated by the arrows pointing backwards in Figure 2, demonstrating dependence on conceptual). Logical design is where the architect begins making decisions but at a higher level.

Logical art work design decisions –

  1. Art will be a painting.
  2. The painting will be of a person.
  3. The person will be a woman.

For those who are having a hard time following with the art example, a tech example would be:

Screen Shot 2017-07-06 at 10.27.57 PM
(Table 1) Logical design decision example

An example of what a logical diagram may look something like this:

Picture1
(Figure 3) Logical storage diagram example

Notice that these are ‘higher’ level decisions and diagrams. We’re not quite to filling in the details yet when working on logical design. However, note that these design decisions should map back to the conceptual model.

Physical

Once the logical design has been mapped out, architect moves to physical design where hardware and software vendors are chosen and configuration specifications are made. Simply put, this is the phase where the details are determined.

Physical art work design decisions –

  1. The painting will be a half-length portrait.
  2. The medium will be oil on a poplar panel.
  3. The woman will have brown hair.

Once again, if you hate the Mona Lisa then the IT design decision example would be:

  1. XYZ vendor and model of storage array will be purchased.
  2. Storage policy based management will be used to place VMs on the correct storage tier.
  3. Tier-1 LUNs will be replicated hourly.

These are physical design decisions, which directly correlate and extend the logical design decisions with more information. But, again, at the end of the day, this should all tie back to meeting the business requirements.

Screen Shot 2017-07-06 at 10.32.54 PM
(Table 2) Physical design decision example

An example of a physical design would be something like:

phys
(Figure 4) Physical storage diagram example

Notice that in this diagram, we’re starting to see more details: vendor, model, how things are connected, etc. Remember that physical should expand on logical design decisions and fill in the blanks. At the end of the day, both logical and physical design decisions should map back to meeting the business requirements set forth in the conceptual model (as evidenced by Figure 2).

Final Thoughts

Being able to quickly and easily distinguish takes time and practice. I am hoping this clarifies some of the mystery and confusion surrounding this idea. Looking forward to seeing more vDM submissions next week.

New Career Adventure — Joined Rubrik

After over 5 years of being a freelance consultant, I’m pleased to announce that I have begun a technical marketing position at Rubrik. I’ll be working with the likes of Andrew Miller and Chris Wahl.

rubrik2.png

I took a few months to talk evaluate my options, narrow my focus, and to a few different companies to see what positions were available and how I would fit. I was really impressed by the passionate crew at Rubrik; the team was genuinely thrilled about about the work they were doing and I loved their energy.

For those of you who may not be as familiar with Rubrik, the company is aiming to solve the many challenges of data protection. As a consulting architect, I’ve spent a fair amount of time deciphering data protection or BCDR requirements and challenges posed by customers and working to develop solutions so I’m looking forward to continuing work on those type of puzzles.

For more information about Rubrik, I’d suggest taking a look at some videos from Tech Field Day. Here are two videos that introduce and demo the product:

I will be writing about Rubrik in the future along with my regularly scheduled non-technical and virtualization blog posts as well as other tech stuff I encounter in my day to day.

I’m excited about the road ahead and pushing myself in a role that is a bit outside my comfort zone. I look forward to seeing where my journey takes me over the next few years.

The Importance of Mentorship: Building the Mentoring Relationship (Part IV)

Previously discussed topics were the importance of mentoring and leadership, as well as the roles of a mentor and roles of a mentee. To view the entire series:

This post will dive into what is required to build the mentoring relationship. I’m going to take a different approach this time; instead of writing a bunch of paragraphs, I am going to summarize the phases of the mentoring relationship by using an outline. Let’s see how this goes!

At the beginning of the mentoring relationship, the mentor and mentee should discuss how the partnership should be structured. Regardless of whether the mentoring relationship takes a formal structure, there are typically a few phases that take place:

giphy

  • Building rapport
    • In this phase the mentor and mentee are exploring whether or not they can work together.
    • Simply get acquainted with one another (number of years in the industry, technical skillset, common skills, similar career paths, etc.)
    • Determine purpose of relationship and establish expectations.
    • Active listening, being respectful, being open and honest help build reciprocal trust in this stage.
  • Setting direction
    • This phase is all about setting goals. Once there is rapport and the relationship has established its sense of purpose, then determine what should be achieved.
    • Discuss the overall mentoring goals; for example, the following questions could be asked:
      • What are your visions and career aspirations?
      • Where is your career right now?
      • What are your strengths, weaknesses?
      • What is your behavioral style?
      • What is your leadership style?
      • What are your top three goals?
      • How can the mentoring relationship help to build new technical skills, explore new ideas, forge a new career path, expand your network, etc.?
    • If this is a formal mentoring process, a “Mentoring Partnership Agreement” could be established to determine clear goals, roles, and responsibilities, as well as setting a schedule.
  • Recap and progress
    • Recap the mentoring sessions at the end of each session. Also consider reviewing the progress between sessions at the beginning of the session.
    • The progression piece is typically the longest of all the phases. This phase can be perpetual depending on the length of the mentoring relationship.
    • Work together to accomplish the established goals.

Qualities of a successful mentoring relationship:

  • Articulation – the mentor should be able to help the mentee articulate their feelings, thoughts and ideas. The mentee may still be learning this skill.
  • Listening – both the mentee and the mentor should exhibit active listening skills.
  • Respect – without respect, the relationship will not achieve a level of openness required for successful mentoring.
  • Goal clarity – both the mentee and mentor need to have a clear understanding of the mentee’s objectives. It would also be good for the mentee to know the mentor’s goals in order for the relationship to be more reciprocal.
  • Challenging – the mentee and mentor should both be challenged during this relationship.
  • Self-awareness – the mentor should be proactive and insightful in order to appropriately guide the mentee using his or her own experience. The mentee should be self-aware in order to be able learn from the mentor’s example and advice.
  • Commitment to learning – both the mentor and the mentee should be learning and growing as a part of this relationship.
  • Reflection / preparation – a common reason why mentoring relationships fail is because one party or both fails to invest time preparing for or carrying through with the time investment.

 

The Importance of Mentoring: The Many Roles of the Mentor (Part II)

Previously discussed was the importance of mentoring, as well as how mentoring and leadership are intertwined. This post will cover the many roles of the mentor. To view the entire series:

I have been fortunate to be on the receiving end of more than one great mentor and have served as a formal and informal mentor to others. The long-term impact of mentoring can be career changing, perhaps even life changing.

My mentors never “coached” me, but instead challenged me, encouraged me, and acted as a source of wisdom when I needed it most. I carry their impact through my work today. When I’m faced with difficult questions or decisions, I think back on the lessons learned through the years and then take action.

giphy

There are several roles and/or responsibilities that a mentor can assume. The role(s) the mentor will assume depends on the needs of the mentee and the type of relationship established. These roles can be combined and potentially evolve as the association between mentor and mentee develops. Your mentor may not assume all of these roles. Some roles include:

  • Teacher – the mentor teaches skills and knowledge required to perform a job successfully.
  • Guide – the mentor helps the mentee to understand how to navigate and understand the inner workings of an organization. Sometimes this may include passing on information about any unwritten expectations or rules for success.
  • Counselor – this definitely requires establishment of trust in the mentoring relationship. The mentor listens to work situations and provides guidance to help the mentee find his/her own solutions and improve his/her own problem solving skills.
  • Motivator – a mentor shows support and encouragement to help a mentee through the tough times and keeps the mentee focused on developing job skills to improve performance, self-respect, and an improved sense of self-worth.
  • Advisor – a mentor helps the mentee to develop professional interests and set realistic career goals. Goals should be specific, have a time frame, and be results oriented, relevant, and reachable.
  • Referral Agent – once a career plan is developed, the mentor assists the mentee in approaching others who can provide training, information, and assistance. The mentor also points the mentee to relevant career-enhancing schools, courses, books, reading, professional organizations, and self-improvement activities.
  • Role Model – the mentor is a living example for the mentee to emulate. A mentor must lead and teach by example. To me, this is the most important role.
  • Door Opener – the mentor opens doors of opportunity by helping establish a network of professional contacts both within and outside an organization. The mentor also helps the mentee understand the importance of networking with seniors, peers, and juniors to exchange information, ideas, and concerns.

A mentor can be a difference maker in your life and career. It’s important to approach the relationship with an open mind and to set proper expectations.

The next post will cover the roles of a mentee.

The Importance of Mentorship: Interlacing Leadership and Mentoring (Part I)

Today’s young employees are tomorrow’s future leaders. As a leader, there is an obligation to help the future by training and mentoring tomorrow’s leader.

The benefits of mentorship are well known: those less experienced receive feedback, insight, and support from someone more experienced. The mentor acts as a guide who can offer impartial support and advice.

obama

Leadership and mentoring go hand-in-hand. Effective leadership guides and provides an example for those subordinate. Additionally, a leader should be spending one-on-one time with subordinates to guide to the next level in their career…beyond just semi-yearly performance reviews.

Leadership skills develop over time; it is not something that people are born with. Leadership is action, not a billet or position. An effective leader knows his or her strengths and weaknesses, and is capable of maximizing all of them. A leader knows how to manage conflict and understands the political culture and how to navigate it for best results. Leaders and mentors share many of the same qualities; all the aforementioned qualities also apply to a mentor.

Mentoring is the link between a junior and someone more experienced for the purpose of career development and personal growth. This is accomplished through sharing knowledge and insights learned over the years. Mentoring is more personal and is relationship-based; the mentor shares his or her own experiences, insight, and knowledge with the mentee. Effective mentorship isn’t about focusing on a specific skill and how to improve it —it’s about the mentee’s overall growth.

Too often there is a difference between someone who holds a leadership position and that of an effective leader. Leadership is a topic about which I deeply care. My time in the military allowed me to experience different styles of leadership as I developed my own skills and styles. In my opinion, leadership is not about the leader, but rather it is about those being led. The success of a leader is reflected in the morale and welfare of the subordinates: whether or not those you lead are better off as a result of your leadership. If you assume a leadership role, you automatically inherit the responsibility for the care, well-being, career growth and supervision of those in your charge. This is not a burden of leadership– this is your privilege. To be blunt, if you cannot or will not become a good mentor then you do not have any business being a leader or in a leadership position.

With that being said, the onus of mentorship is just as much on the mentee as it is the mentor. The mentee can initiate the beginning of a mentorship relationship! Sometimes, you just have to reach out to someone and say something similar to:

  • “I listened to your presentation during the VMUG and I think that you are a good public speaker. I’d like to do that one day, what do I need to do to get there?”
  • “I want to transition my career into IT security, can you give me some advice?”

Though, truthfully, the strongest mentorship relationships spring out of a real and typically earned connection between a leader and a subordinate.

This is the first post of a series that I will be posting regarding mentorship. Be prepared! I’ll be posting once a week for four weeks (along with some regularly scheduled technical content) until the blog series is finished.