Project Management

Disciplined Agile

by , , , , , ,
#ChooseYourWoW | #ContinuousImprovement | #Kaizen | #ProcessImprovement | Adoption | agile | Agile certification | agile transformation | Analogy | Architecture | architecture | book | Business Agility | Certification | Choose your WoW | CMMI | Coaching | Collaboration | Compliancy | Configuration management | Construction phase | Context | Continuous Improvement | COVID-19 | Culture | culture | DAD | DAD discussions | DAD roles | Data Management | database | DevOps | Discipline | disciplined agile delivery | Documentation | DW/BI | Enterprise Agile | Enterprise Architecture | Enterprise Awareness | Essence | Evolving DA | Experiment | Financial | GDD | Geographic Distribution | global development | Goal-Driven | goal-driven | goals | Governance | Guideline | Hybrid | Improvement | inception | Inception phase | Kanban | Large Teams | Lean | Lifecycle | lifecycle | Metrics | mindset | News | News and events | Non-Functional Requirements | non-functional requirements | Operations | Outsourcing | People | Philosophies | Planning | PMI | PMI and DA | Portfolio Management | Practices | Principle | Process | process improvement | Product Management | Product Owners | Program Management | Project Management | Promise | quality | Release Management | Requirements | requirements | Reuse Engineering | Risk management | RUP | Scaling | scaling | scaling agile | Scrum | Support | Surveys | Teams | Technical Debt | Terminology | Testing | testing | Toolkit | Transformation | Workflow | show all posts

About this Blog

RSS

View Posts By:

Scott Ambler
Glen Little
Mark Lines
Valentin Mocanu
Daniel Gagnon
Michael Richardson
Joshua Barnes

Recent Posts

Failure Bow: Choosing Between Life Cycles Flowchart Update

Evolving Disciplined Agile: Guidelines of the DA Mindset

Evolving Disciplined Agile: Promises of the DA Mindset

Evolving Disciplined Agile: Principles of the DA Mindset

Evolving Disciplined Agile: The DA Mindset

Videoconferencing Tips - How to Have Effective Calls

Teleconferencing tips

While face-to-face (F2F) collaborative work is often preferred, many of us now find ourselves in a situation where that may not be an option for the foreseeable future.  Recently many organizations have asked their staff to work from home whenever possible.  For those of us who have been working remotely for years this is business as usual, but for many of our colleagues this is a new situation.  We all need to get better at working remotely, and an important aspect of that is making teleconferencing calls effective.  So I thought I would share some tips that I've found to work well.

I've organized these tips into four sections:

  1. Joining a call
  2. During a call
  3. Organizing your environment
  4. Planning and facilitating a call

 

Joining A Call

The best calls are the ones that start well, and an important aspect of this is people joining the call well.  Here's what you can do:

  1. Join on time. When you are late for a call either making everyone else on that call wait for you or you interrupt the conversation when you do join.     
  2. Announce yourself to a small group. When your call is with a handful of people, and when you're on time to the call, then it's polite to join with a simple "Hi, Scott's here" or something similar. 
  3. Don't announce yourself to a large group. If the number of people on a call is large, and the limit for "large" in this case is likely 7 or 8 people, then announcing yourself as you join becomes an annoyance.
  4. Join on mute. We all hate it when someone is on a call and their background noise drowns out the conversation.  An important aspect of avoiding this is to join a call on mute so that you don't disrupt what is currently in progress. Once you're on the call, verify that you're muted. We've all seen people mistakenly think they're muted when they're not, so let's learn from that and start building habits to avoid these embarrassments.  
  5. Join with video turned on. We'd really like to see you!  A lot of information during a conversation is communicated visually, so bandwidth permitting it's preferable to have everyone turn their video on. You'll find that doing so will make your calls more interesting and valuable.

During a Call

It's the responsibility of everyone on a call, not just the person facilitating, to ensure that the call runs smoothly. Here are a few ways you can do that:

  1. Remain in the moment. I know it's hard, particularly if you spend a lot of time on calls, to remain focused on the current conversation.  We're all tempted to check email or multi-task in some other way to alleviate the boredom.  Then suddenly we realize we missed something important and either need to let it go or ask to have the information repeated to us.  
  2. Remain muted if you're not speaking. Sound quality is a critical success factor for calls.  Although it takes a bit of effort to turn the microphone on and off it can make a huge difference for the overall sound quality.  A nice side effect of this habit is that it helps all of us to remain in the moment.
  3. Dress like you're at work, because you are. We dress differently at home than we do when we go into the office. Although we're working from home and want to dress down we need to remember we're still working so should dress accordingly.  Yes, it's ok to loosen up a bit on your personal dress code when doing so, but recognize that there are limits.  My advice is to dress as if it's a "casual clothes" day at your office.  
  4. Go on mute.  I really can't say this enough.
  5. Introduce yourself when you talk. When you're on a call with people whom you infrequently work it can be useful to start with "It's Scott, I was thinking..." so that people can learn who you are.  Although most video conference software will indicate who's talking at any given moment you may have some people on the call who don't have a video feed, perhaps because they dialled in with a phone.
  6. Look into the camera when you speak. If this was a face-to-face (F2F) conversation you would very likely look people in the eyes when you're speaking.  The teleconferencing equivalent of this is to look into the camera.  This is harder than it sounds because it can be very tempting to look at yourself in the window showing your camera feed.
  7. Speak up.  We would really like to hear you.  An interesting side effect of looking into the camera when you're speaking is that you're very likely aligned so that your microphone can pick up what you're saying.
  8. Speak slowly.  We often find ourselves on calls with people who have different accents and who may not be fully proficient with English yet.  If you find yourself in this situation people will appreciate you making the effort to be understood by them.
  9. Did you remember to go on mute after speaking?  I keep repeating this point because it's an important habit to adopt.  
  10. Remember that others want to collaborate too. We want everyone on the call to participate where they can, which means we all need to recognize that we need to share the air time with others. 
  11. Be flexible. Many of us have kids, pets, and other family members who may choose to barge in during the middle of a call. It happens, and frankly can lighten up the mood in many cases. On that same note, none of us are perfect.  Sometimes we're late, sometimes we forget to go on mute (have I mentioned how important sound quality is?), sometimes we may not be perfectly groomed, and so on.

Organizing Your Environment

Think about the last time you were on a call, and you were looking at other people over the video feed.  You were probably assessing how they were groomed, how they were dressed, and what the state was of their work area is.

  1. Be aware of what's in the background. This can be hard to control, but do your best to tidy things up. 
  2. Point your camera directly towards you. This will make it easy for you to look directly into the camera when you're speaking and very likely present you in the most flattering light possible.
  3. Consider getting a headset. Although they can be uncomfortable at first, headsets can both improve the quality of the sound that you transmit and if you have noise-cancelling headphones easier for you to hear.  
  4. Be in a well-lit space. We've all seen people who look like they're working in a dungeon and that's mostly because of poor lighting.   Natural lighting is best if you can do it, and the easiest way to achieve that is to set up either near or better yet facing a window.  Otherwise you may need to arrange light sources so that they project towards you. 
  5. Test your equipment before the call. If you're new to teleconferencing, or you've changed your setup, you might want to consider doing a quick one-on-one call with someone to test if everything is configured correctly.  We don't want to force people to wait while we adjust our setup to get it working.  
  6. Familiarize yourself with the software. There are many teleconferencing packages available to us and they all work differently.  If the software is new to you, or if you haven't used it lately, watching a quick training video is likely a good idea.
  7. Be aware of the ambient noise. We've all been on calls where someone is dialing in from their car, from the airport, or from their local coffee shop.  The ambient noise is often worse than they think and it can be very distracting.  So you if you can't avoid calling in from a noisy environment then, you guessed it, go on mute as often as you can.  

Planning and Facilitating a Call

Nobody likes wasting their time on a call where nothing is accomplished.  Effective planning and good facilitation can go a long way to making a videoconferencing call successful.  

  1. Have an agenda.  People need to know why you are having the call so that they know what is expected of them.  Perhaps more importantly, they also want to determine whether they need to be on the call at all.
  2. Keep the attendee list short. Although this can be hard, I always try to identify who is required to attend, likely because they are actively involved in the topic of the call, and who is optional because they may need to listen in to be aware of what we're doing. 
  3. Prompt people to participate.  Some people are shy, particularly when they are new to videoconferencing.  So keep an eye out for this and occasionally ask someone who hasn't spoken lately if they have anything to add.
  4. Schedule time between calls. A courteous practice is to have a 5 minute "bio break" between calls.  The easiest way to do that is to adopt the practice of ending calls at :25 or :55 rather than at the bottom or top of the hour respectively.  
  5. Start on time. When I'm hosting a call I will typically start the software a couple of minutes before the call is scheduled to begin so that we can start immediately on time.  
  6. End on time. Many of the people on the current call may have something else scheduled, perhaps another call, immediately after this one.

One last bonus tip: You are welcome to copy the image at the top of this article and use it as a quick reminder list of the key tips in this article.  Print it and tape it to the side of your monitor if you like!

Please feel free to share this article with others or print it out so that you can keep it handy.  We’ve also put together a short tip sheet that you can tape to your monitor.

I would love to hear about any other tips you would have so that I can update this blog and share them with others.  Thanks in advance!

 

 

Posted by Scott Ambler on: March 23, 2020 05:55 AM | Permalink | Comments (22)

Disciplined Agile Outsourcing: Making it Work for Both the Customer and the Service Provider

IT Outsourcing

On June 25, 2015 we gave a webinar entitled Disciplined Agile Outsourcing: Making it Work for Both the Customer and the Service Provider (click on the link to see the slides on Slideshare).  We will likely run the webinar again as it was very well received.  We had hoped to record it but unfortunately weren’t able to save the file because the software crashed.  Hopefully it will work out next time.  During the webinar we promised to write a blog summarizing it and addressing any remaining questions from the audience.  This is that blog.

Agile and Outsourcing?  Really?

There are good reasons why organizations are taking an agile approach to outsouring IT delivery projects.  The following table overviews the motivation and concerns of both customer organizations and service providers.

Table 1. Comparing the Viewpoints of Customers and Service Providers

  Customer Service Provider
Motivation
  • Augmenting their ability to deliver
  • Better, faster, cheaper IT delivery
  • Want similar or better quality than what their own IT people would deliver
  • The solution must work in their environment
  • Increase business
  • Deliver what was promised
  • Reduce development costs
  • Retain staff
Primary Concern Not sure the service provider can work in an agile manner The customer’s procurement process forces them into a more traditional, and riskier, approach

Here are some interesting statistics about outsourcing:

  • Gartner’s 2014 IT Outsourcing report estimated IT outsourcing to be $288 billion in 2013 and to grown by 5.9% compounded annually from 2013 through 2018.
  • Deloitte’s 2014 Global Outsourcing survey found that 53% of organizations are outsourcing some of their IT function; 26% of respondents who do not outsource today plan to do so (supporting Garter’s growth forecast); 79% of respondents DO NOT believe their service providers are too expensive; 49% of respondents say their service providers are reactive vs proactive (e.g. they are basically order takers, not partners); and IT outsourcing activity is expected to increase.
  • The Ambysoft 2013 Agile Outsourcing survey found that half of organizations who are “doing agile” are also involving outsourcing in some way

The Challenges Associated with Agile IT Outsourcing

Here are some common pitfalls that organizations run into with IT outsourcing:

  • Organizational culture differences
  • Expectations mismatch between the customer and the service provider
  • The customer underestimates difficulty of managing outsourced projects
  • Total cost of the solution isn’t considered
  • Total value of the solution isn’t considered
  • Transition to the operations team is mismanaged
  • Over-reliance on documentation
  • Software licensing issues
  • Learning curve for service provider underestimated
  • The service provider is understaffed
  • Some aspects, e.g. security, cannot be outsourced
  • Intellectual property (IP) rights
  • Technology connectivity
  • Solution doesn’t fit into organizational ecosystem

Here are some common pitfalls with agile IT outsourcing:

  • The customer procures the “agile” project via traditional strategies
  • The customer takes a Water-Scrum-Fall approach
  • The customer governs the service provider via a traditional approach
  • The customer really isn’t agile
  • The service provider really isn’t agile
  • Neither are agile
  • Agile is based on trust, yet it behooves you to not trust the service provider

Here are some common pitfalls with geographically distributed teams:

  • Project success rates drop as geographic distribution increases
  • Communication challenges
  • Time zone differences
  • Cultural differences
  • Customer unwilling to invest in travel

How Disciplined Agile Delivery Supports Outsourcing

Disciplined Agile Delivery (DAD) provides several important mechanisms which enable agile IT outsourcing:

  1. Flexible, process goal driven approach.  A team where the work has been outsourced to them will work differently than an insourced team.  A globally distributed team will work differently than a co-located team.  To be successful at agile IT outsourcing you need to adopt a process that is sufficiently flexible to meet the needs of the situation that you face.  DAD’s process goal-driven strategy provides this flexibility while being easy to tailor.  Context counts.
  2. Hybrid framework.  The DA toolkit is a hybrid that adopts strategies from a variety of sources, including Scrum, Extreme Programming, Agile Modeling, Unified Process, Kanban, SAFe, traditional sources, and many more.  As a result it provides the robust advice that you require to address the complexities of agile outsourcing.  Choice is good.
  3. Full delivery lifecycles. The DA toolkit supports four full delivery lifecycles – An agile Scrum-based on, a Lean Kanban-based on, an exploratory Lean Startup lifecycle, and a continuous delivery lifecycle – that show how to approach IT delivery from beginning to end in a streamlined and lightweight manner.
  4. Risk-value lifecycle.  The DA toolkit explicitly includes proven risk reduction techniques in its delivery lifecycles.  These strategies include coming to a stakeholder vision early in the lifecycle, proving the architecture with working code, and delivering a potentially consumable solution on a regular basis.
  5. Enterprise awareness.  The DA toolkit promotes the philosophy of enterprise awareness – DAD teams should do what’s best for the customer organization, not what is convenient for them.  This means that delivery teams should adopt organizational conventions whenever appropriate, reuse existing assets (including legacy data sources), follow the organization’s business roadmap, and follow the technology roadmap.
  6. Explicit governance.  The DA toolkit explicitly address how to govern agile teams.  The increased risks associated with outsourcing require a more sophisticated approach to governance than what you would require for an insourced delivery team.

Disciplined Strategies to Make Agile Outsourcing Work

Our experience is that the reason why many customer organizations struggle with agile outsourcing is because their intuition (which typically reflects the traditional mindset) leads them astray.  The following table indicates what traditional intuition often leads you to do and the corresponding disciplined agile strategies that we recommend.

Table 2. Traditional intuition vs. what you should actually do.

Traditional Intuition Disciplined Agile Strategy
Negotiate a fixed price – The desire is to reduce financial risk, but this typically results in scope being dropped or the development team making it very difficult/expensive for stakeholders to evolve their requirements over time. Adopt variable funding – Variable funding strategies, such as stage-gate, time and materials, or cost plus, prove to be lower risk in practice (albeit at the cost of slightly more sophisticated governance).
Follow a comprehensive procurement strategy – The greatest source of risk on an agile IT outsourcing project is how most customer’s procurement strategies are misaligned with the way that agile teams work. Procure an agile team – If you want an agile team, then procure one via a contract that reflects the strategies discussed here.  Most IT outsourcing contracts tend to reflect traditional ways of thinking which thereby inject significant risk into agile outsourcing engagements.
Save money through travel reduction – This typically increases the time, cost, and risk associated with decision making and communication. Travel at critical points throughout the project – Disciplined agile teams will get at least their key people together at critical points (initial modeling, initial planning, major milestones) so that they can quickly address the concerns at the time in a low risk, face-to-face (F2F) manner.
Define detailed requirements up front – Stakeholders are not good at describing what they want, so any effort to baseline detailed requirements early in the lifecycle will inject significant risk into your project. Evolve requirements throughout the project – It is natural for people to change their minds, particularly after they’ve seen something built.  The implication is that we need to work in a way that embraces changing requirements instead of trying to prevent changes.
Have long iterations – This results in longer feedback cycles which in turn increases the risk of building the wrong thing. Have short iterations – Short iterations result provide more opportunities for the customer to monitor and steer the effort, thereby driving down risk.
Manage remotely – This makes it harder to know what is happening “on the ground”, increasing overall risk. Collaborate closely – Close, respectful collaboration is what makes agile work.
Adopt artifact-based “quality gates” – This proves to be a governance façade in practice.  The true measure of progress should be the delivery of high-quality, consumable solutions over time. Govern agilely – Agile teams should be governed in an agile manner.  With outsourced teams, we recommend that the you insist on the team adopting the practices of continuous integration (CI), development intelligence (automated project dashboards), code analysis (to ensure conformance to corporate coding conventions and to measure code quality), and lightweight milestones from the very beginning.  The team’s automated dashboard should be available to the customer organization, thereby giving them the real-time insight that they require to govern effectively.
Perform acceptance testing at the end – This increases the average cost of fixing any defects found, thereby inject both cost and risk into your project. Test throughout the project – Disciplined agile teams follow practices such as whole team testing and parallel independent testing (as appropriate) throughout the entire lifecycle, not just at the end.
Hand-off the solution to your team at the end – Any time there is a hand-off between two teams there is an opportunity for misinterpretation. Have a gradual hand over – If you are going to do a hand-over, do so gradually be involving members of the sustainment team in the construction effort.
Outsource things you’re not good at – The idea is that you should focus on what you’re good at and outsource the rest.  However, if you’re not good at something then how likely are you to have the skills to govern it effectively? Succeed locally first – If you’re not good at agile development when the team is down the hall from you, what makes you think you’ll succeed at it when the team is on the other side of the planet?
Keep Inception and Transition in-house – This approach tends to require heavy investment up front and back end work performed by expensive staff. Actually outsource the work – It is in fact possible for the service provider to take on the vast majority of the work.  This pushes work into the hands of lower cost people while reducing the overhead and risk associated with getting disparate teams to work together.

 

When Disciplined Agile Outsourcing Makes Sense

We’ve found that for agile outsourcing to be successful you must first meet all three of the following criteria:

  1. You are already successful at insourced agile.
  2. You understand and accept the risks involved with outsourcing.
  3. You are prepared to address those risks.

 

 

Posted by Scott Ambler on: June 29, 2015 12:29 PM | Permalink | Comments (0)
ADVERTISEMENTS

I don't have a good apartment for an intervention. The furniture, it's very non-confrontational.

- Jerry Seinfeld

ADVERTISEMENT

Sponsors