Search This Blog

Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Saturday, October 18, 2025

The Power of Mechanisms - Team Charter and Tenets

It's hard to believe that it's been six years since my last blog post. The time seems right to emphasize the power of team Charter and Tenets.

I have a great deal of "why?" that I may add another post. I offer this as an example for others, to set expectations for those that want to join our team, and also learn from your experiences! This covers a 200 person team within a 900 person team distributed around the world. We built this with representation across the organization to gain the best and most diverse perspective.

Data Protection Engineering Charter and Tenets  

We protect and allow instant recovery of a third of an Exabyte of critical business data for millions of Partners’ customers worldwide. 


To deliver our products’ promise, we operate distributed applications and storage systems in the cloud and physical data centers.   Our products also facilitate Partners’ use of third-party data protection systems, giving them choice.  We build, operate, and relentlessly improve our services under rigorous international compliance standards. This extends our data protection stewardship to rigorous data privacy and security standards. 


Supporting The ConnectWise Way, our charter demands our builders’ actions demonstrate that we Act as Owners with Agency as follows:     


Prioritize People  

  • Everything we do is an opportunity for our team members’ growth.  We deliberately align team members with challenging work to help them grow.  Everyone learns, everyone teaches. 

  • We solve problems for our Partners, their Customers, and our Stakeholders.  We use evidence of impact to celebrate individual and team achievement.   


Deliver Results Predictably 

  • We focus and align our most precious asset (our team) and our most precious resource (time) to deliver value quickly. We provide estimates to help our stakeholders make the best business decisions.   

  • We maintain predictability by prioritizing the remediation of risk and dependencies early.  We embrace change but reject randomization.  We collaborate with our stakeholders using data, align expectations, and quickly pivot when needed. 


Stay Curious 

  • We turn over rocks and are unafraid of what might crawl out from underneath. We ask questions and invite others to learn together. 


Bias For Action 

  • Experimentation prevents prolonged deliberation. We make incremental, reversible decisions that enable us to quickly learn, iterate, and move forward. 


See Something, Say Something 

  • We share by default, calling out opportunities, obstacles, and concerns. We encourage our team to ask for help and escalate or involve other experts when blocked. 


Build the Right Thing, the Right Way 

  • We partner with Product to prioritize the problems we solve and identify opportunities for innovation.

  • In every solution, context counts.  We embrace pragmatism while rejecting mediocrity. 


Maximize the Whole 

  • While many paths led us here, we are all one ConnectWise.  Focus is good, silos are not.   

  • We are responsible for making Asio our singular future platform and improving it as we integrate.  Our Partners benefit through simplicity, and Engineering innovates faster with a common platform.
     

We warmly welcome your feedback and suggestions for improvement.


Tuesday, October 11, 2016

Radical Roadmapping - Creating Synchronized Agile Product and Technology Roadmaps

Howdy all:

As mentioned back in December, I was selected to present at the amazing Keep Austin Agile 2016 Conference that which I've learned in creating multiple roadmaps that synchronize product innovation with technology improvements both from a platform and a DevOps perspective (among others).  I also had the opportunity to present this at the Agile Austin Product SIG meeting in May as well as Product Camp 17 in August.  Cool!

My offer to present this content to individuals and companies has been well-received and I had a chance to do that as well a few times and am continuing to share what I've learned originally as well as the ongoing discussions I've had in the community.  Double cool!  Note, this offer is still open!

Here's the latest version of the presentation from SlideShare:



I'm always looking for more feedback, so please feel free to reach out to me for engaging discussions in bridging the gaps that frequently exist between various stakeholders in a product development organization.  It's my passion to help us all work #bettertogether!

~m@

Wednesday, December 2, 2015

Radical Roadmapping - Creating Synchronized Agile Product and Technology Roadmaps

Hi all:

The goals of creating a roadmap start out well enough--let's give our customers and stakeholders a picture of the future and get them excited about what we're going to deliver in the future.  However, the implementation generally fails to delight.  They are developed in a silo, are considered by many to be a long-term contracted commitment, and are incomplete.   They generally don't give visibility to the exciting and enabling technology and operations/devops changes that are necessary to achieve much of the innovation and major organizational goals.  Beyond basic technical debt, these are large changes that must be made in concert between the business (product/customers) and the technology (development, devops, ops, security, etc.) teams and there is opportunity for awesome alignment!


Another example of awesome alignment |  Photo by The U.S. Army / CC BY
At Socialware I was responsible for serving all of these groups and developed a passion for solving this problem as a whole.  This presentation will cover what I learned and give participants real-world examples they can take away.

I just submitted the this to the Keep Austin Agile 2016 Conference.  It's tough to get selected as this is a world-class event with a small acceptance rate.  However, I'm really looking forward to sharing it if given the opportunity!


Here's the title:  

Radical Roadmapping - Creating Synchronized Agile Product and Technology Roadmaps

Here's the abstract:

This presentation will discuss why a company would create and maintain three major artifacts (innovation roadmap, infrastructure/platform roadmap, and operations/DevOps roadmap) as well as the process to do so.  Further it will cover how to synchronize them in order to move away from making OR decisions to making AND decisions that will please all stakeholders. It will also discuss key cultural changes that must be present in order to achieve maximum benefit from this approach and challenges experienced along the way to making this a reality at Socialware, a SaaS product company.  Finally, this will include real world examples of the evolution of these roadmaps over 18 months that participants can take away and use as guidelines for doing so.

This concept is RADICAL as it is innovative in both its novel approach and ability to drive enormously positive organizational agility.

Of course, in Matt's usual energetic* style, there will be tangents, humorous self-deprecating references of learning (aka failure), and time for participants to describe how this would "never work" in their organization coupled with Matt's re-framing to help them understand how it just might.

*Best feedback comment ever received in his Keep Austin Agile 2015 presentation on Continuous Capacity Planning: "Man, this guy has been drinking way too much coffee for a 4:00 PM presentation!"


Next Steps

Now to create the content based on the real world examples and learning with the team at Socialware--I'll continue meeting with folks in the community, sharing what I have so far and refining it as I go.  If you're interested in this concept, please let me know--I'd love to share my ideas!

~m@

Tuesday, October 21, 2014

Reviving Quality Circles to Continuously Learn in Fragile Systems

A "gift" from the team after my latest quality crusade
I had the opportunity to present this information at two Agile Austin QA SIG meetings in September and October 2014.  It was a great opportunity to share some of what I've learned since joining Socialware.  It's helping me to change the culture for the benefit of our customers and is a key part of "The Socialware Way".  Before too long, I expect nearly everyone to say, "Quality is sexy!"

Background

While greenfield development efforts always have the promise of "doing it right" from the ground up, they can quickly devolve into the "legacy" systems that are essentially unsafe to modify as doing so will almost guarantee problems for users that the development team cannot anticipate. Further, many of today's applications exist in a complex and fragile ecosystem of APIs and other dependencies that are beyond the control of a team, division, or an entire organization. A culture of continuous learning is key in combating these challenges to create safe and valuable software for the customers and development teams that build and maintain them.
At Socialware, we have started the process of reviewing all production critical issues in an open and visible manner by using a Quality Circle approach as a team. We call this the Critical Defect Review Process.  This is especially important due to the fact that our products exist on top of the constantly changing APIs of LinkedIn, Facebook, and Twitter--the world's largest social media companies.  As our company has the largest Social Media deployments by Financial Services firms in the world, who have little, if any, tolerance for problems due to their scale and regulatory requirements, the focus on quality is paramount. 

The Goal 

The goal of the Critical Defect Review Process is to understand the root cause of why any high-priority defect exists in production and take specific remediation actions to ensure that this issue and others do not occur again.  We also establish ownership of any actions going forward.  Finally, we keep a recorded log of these issues, which will be reviewed periodically.  Note, that the goal is NOT a "witch hunt" in terms of assigning blame.  If we are not open to deep understanding, we will never be able to solve the problem.  The ultimate goal of this process is to deprecate the process when we have zero critical defects in production, however this occurs.

Implementation

We continue to monitor this process and continuously inspect and adapt it, but currently, this is the basic framework of our Critical Defect Review Process.


Periodicty

This review occurs every three weeks (the same cadence as our sprints) with all resolved production defects marked as either a "Priority 1" or "Priority 2."  The reason we wait until they are fixed is that the highest priority is to resolve any customer-critical issues, regardless of their genesis.  Additionally, reflection generally helps towards the further understanding of the root cause of problems, and the eventual solution.


Participants

We have the following roles participate at these reviews:
  • Moderator/Scribe (generally a member of the Development Management team)
  • Product Technical Lead
  • Primary Engineer involved 
  • Primary QA Engineer involved 
  • QA Lead
  • Customer Support Lead
  • All team members are, of course, welcome to attend and listen

Format

The discussion captures the issue in question, any related issues, the primary engineer associated with the issue, the primary QA engineer associated with the issue, the root cause/synopsis, recommended actions moving forward (remediation), and agreed actions. All of this is captured in our wiki. Note, the agreed actions may be an acceptance of a certain risk within our process, although this is not the primary desired objective.  This information will be reviewed at a regular basis by Product Development Management, Executive Leadership, and the team, at the very least during the sprint retrospective.

Again, there is no blame assigned, which can only work within the larger context of "The Socialware Way" where our team members are respected, trusted, and treated as our most precious assets as opposed to "resources."  


Early Results

While we have only been doing this for about two months, we've seen some fairly impressive results.  Not only are the issues trending down, we are also able to respond more quickly and have a deeper understanding of why quality problems exist.  Of course, we are implementing a number of other changes to our product development system that result in high-quality customer value as a natural outcome of our system rather than something that needs to be forced.  So, the attribution of the increased quality is manifold.  I will continue to monitor and share results.

Genesis

The genesis of this concept comes from the concept of a Quality Circle, which was introduced by Dr. Ishikawa.  It was interpreted into "cross-functional teams" which was a key part of some Total Quality Management systems.  

Thoughts?

I would love to hear your thoughts on this process, please feel free to direct message, or comment below.  Thank you for your time in reading!

Monday, July 22, 2013

Continuous Development Team Product Innovation in an Agile/Lean World

Hi all:

I presented one of my favorite topics at last weekend's Product Camp Austin 11 here in Austin, TX.  While the crowd turnout was fairly small, it was still a great session packed with tons of interactivity.  I have presented this content to the Agile Austin community a number of times, so I've been able to synthesize all the feedback from a variety of groups (Development, Product Management, Project Management) into the following slide deck.  The best way to convey the information is face-to-face, so I'd be happy to share my insights, challenges, and what we've learned if you have the time and inclination.



I also found this great article by Jeff Atwood titled "Today is Goof Off at Work Day" about the broader topic of open time for developers to innovate.

Enjoy!

~@MulticastMatt

Monday, July 15, 2013

Can Sustaining Engineering Be Agile and Engaging for Team Members?

Hi all:

I recently talked with a manager whose team's role is changing from main line product development to Sustaining Engineering (also known as Maintenance). He first wanted to understand how to adapt the agile process for his team, but as we talked, it became apparent that the bigger issue was keeping his team happy and engaged, as they were a bit nervous about what the change meant for them and their careers.

I was interested in exploring this area with him, and thought it would be worthwhile to discuss the concerns he had for his team.  I must be transparent and state that I have never served as a manager for a dedicated sustaining engineering team, so many of my thoughts in this area come without direct experience.  Perhaps it would be best to explain why this is the case.


Why Have I Never Had a Sustaining Team? 

It's not that I've never had the opportunity to have one, I simply rejected the notion and made it part of the responsibilities of the product development team.  I firmly believe that the notion of "sustaining engineering" may be indicative of a failure mode*.  Separating the responsibility for how code runs in production can lead to another "throw it over the wall" type of mentality that we as an industry are just starting to make headway on between development and QA.  More critically, it can totally disconnect crucial feedback to the product development team causing years and years of waste that could otherwise be invested in creating customer value.  

Here are some of the arguments I've heard in support of a Sustaining Team:
  • "If we could free our development team from all those damn critical situations that come up in production, we could finally get some valuable features out the door and make some money."
  • "We can get cheap resources overseas to handle fixing the defects and focus our expensive resources on the things that customers really want.  It just makes good business sense."
  • "Development is constantly interrupted by fixing low-priority nits and we keep missing our release dates or drop planned functionality.  This has to end!"
  • "Our releases are too long for customers to wait.  A sustaining engineering team will prevent our generally late releases from being even more so."
  • "Are you kidding me?  We can't have our developers actually talking to customers, those guys are a bunch of mutants that can barely communicate with each other!"  (OK, I haven't heard this explicitly, but it's certainly implied.)
Each one of these points constitutes a failure mode that I won't go into here, but may be good fodder for another blog post.  As agile is "the art of the possible," I didn't see this as an opportunity to challenge the notion of the sustaining team, but I thought I'd help with ideas to make the team as effective and engaged as possible.

*Note:  one possibility of a non-failure mode could be a distinction between a team that is primarily interrupt-driven, and one that is focused on long-term goals.  This point was brought up by my colleague and may be useful to folks in some situations.  However, it is critical that the whole is being maximized for the benefit of the customer, company, and the individual software engineers.


Can Sustaining Engineering be Agile?

Sure--why not?  If you look at the Agile Manifesto there's nothing in there that that precludes the values and principals that are universal to software engineering and the humans who are engaged in its practice.  Process improvement frameworks geared towards software engineering such as Scrum and Kanban, and the modern engineering practices that support them (e.g. XP, TDD, etc.) are certainly as valid for sustaining a product where the work tends to focus on fix packs, platform certifications, and minor feature improvement.

Some might argue the semantics of "agile" vs. "lean" and say that Sustaining Engineering isn't agile and should be run through a Kanban process.  I would tend to agree that there can be benefits of running sustaining requests (essentially tickets) through a Kanban system, if for no other reason than the fact that near constant reprioritizations happen when dealing with a mature mission-critical product that is loaded with technical debt.  There tends to be a real need to release extremely quickly to production as well and the changes are smaller than large marquee features/epics associated with new product development.

One of the nicest things about Kanban, however, is it tends to visualize the entire value chain, at least when implemented to obtain the greatest customer value in the smallest amount of time.  Seeking to "maximize the whole" may lead to some very beneficial activities, which get to the manager's concern about having an engaged team.


"Re-Imagining" Sustaining Engineering through Engagement

Back to our conversation with the newly minted Sustaining Engineering Manager...He was nervous that his team may not be as engaged in their new work assignments and they would no longer be writing new valuable features and functionality.  As someone whose success is more than partially defined by the innovative products that the teams he serves delivers, I can definitely understand his concern.  It would be mine if I was in his place as well, and I came up with a few ideas.  It's important to keep in mind the context of these ideas--this is a team of product developers who are changing roles into sustaining engineers.  I'm not sure that they would apply to every Sustaining Engineering team.  My basic premise here would be to put yourself "out of a job" by eliminating sustaining requests through the constant improvement of the codebase.  What should be left is platform certifications (browser compatibility, operating system,  JVM version, .NET version, etc.) that are always changing and can be handled by the same team now that they have the capacity to do new feature development.

Note:  This is not a comprehensive list of "best practices" for Sustaining or Support--there are a ton of those.  These are just a few ideas about how to help a team of software engineers be fully engaged while they are part of a sustaining group.

  • Create a target of business-specific technical debt reduction.  Identify common root-case problems in the codebase, often a source of Technical Debt to remediate common-occurrence problems.  In general, never have the same type of defect show up more than twice (fix it "right" the first or at worst the second time).  It is possible to eliminate enough of this debt where having a sustaining team just won't make sense.
  • Fix the leak first before mopping the floor.  Reducing technical debt by a sustaining team will be useless if there is a product development team continuously creating it and making it worse with each new release.   A sustaining team can be engaged in evaluating new code that is delivered and acting as an advocate to increase code quality, or at least prevent new code from creating the next wave of customer critical situations.  
  • Develop and employ modern engineering practices to analyze the code base and ensure that regressions are not "developed" along with fixes.  Many legacy code bases have weak automated testing, automated unit tests, and coverage mechanisms.  Configuration / builds tend to rely on "magic" of people who are long gone, or at least not accessible.
  • Act as an alpha tester of new releases from the product development team.  No one knows better what kind of problems are out in the field and how the best features may flop when put into production more than sustaining teams.  Embed yourselves in sprint reviews (demos) and quite possibly act as the owner of final user story acceptance.  How's that for engagement?
  • Funnel innovation - because a sustaining team operates so close to the customer, they are many times the closest ones to know what the customer pain points actually are.  Sustaining members can act as powerful contributors to a product advisory board/committee and have the weight of real customer feedback when they speak.
  • Delight customers by being able to predictably deliver fixes.  One powerful technique to do this involves measuring average cycle time for defect fixes though a process such as Kanban.  Scrum iterations can also be used effectively here as well.  Most customers don't need their fixes "right now," but have been burned so many times by missed expectations.  If a schedule can be made transparent to customers and that schedule is constantly made good, customers will start properly assigning severity to issues.
  • Rotate with the active product development team.  This gets really close to my initial idea of just having one team that does both new product development and sustaining work.  Think of this as a hybrid model where there is a constant trade of learning between new product developers and developers that couldn't be closer to customers.


Additional Reading

Thanks to John Heintz (@jheintz) for some additional great reading around Sustaining Engineering, some of which may contradict or amplify the ideas I've presented:

What do you think?  Do you agree/disagree with these points?  What's worked for you as a Sustaining Engineer to have mastery, autonomy, and purpose in your work as a team member?

Image via Creative Commons, Jose Franco's (jose_franco_) Flickr photostream. (source)

Monday, July 8, 2013

Guest Blog: Are Doc Sprints Really Agile?

Welcome once again to my friend and colleague, Janice Hamrick, with her latest perspective on helping whole development teams attain agility through effective technical writing.  Unfortunately, technical writers, who are crucial members of the product development team, are often siloed for the sake of "efficiency."  I've been serving my teams for years by insisting that stories are not complete until there is adequate documentation, and it has driven dramatic positive changes from the perspective of people, product, process, and tools.   If you like this post, please check out her other two posts (How Agile is Like a Guitar and Tech Info Fits Into Agile Software Development and 3 Ways to Make Documentation as Agile as Development).
~@MulticastMatt

Some development teams choose to separate documentation from the rest of the development work.  In fact, the Society for Technical Communication (STC) recently held a seminar entitled, “Doc Sprints: The Ultimate in Collaborative Doc Development,” which included the following description:

“Many technical writers find themselves in agile environments, where time is at a premium and it can be difficult to pry the developers and other subject matter experts away from their day-to-day deadlines.”

The problem with this practice is that it violates almost every principle of Agile and causes problems for all members of a team.

What is a “doc sprint” as opposed to a sprint?

A doc sprint is just that – a sprint containing only documentation tasks. Often, the only member of the sprinting team is the writer, with nonexistent or at best nominal support from the rest of the team. Dev and Doc are like milk and cookies - they should always go together.  If you are having separate doc sprints that lag behind development sprints, YOUR TEAM IS NOT AGILE.  Documentation is as important to software development as coding and QA - no story is done unless it’s fully coded, tested, and documented. 

Why should it be difficult to pry developers away from their deadlines?

If your team is truly Agile, EVERY team member is responsible for every user story. This means that developers are as responsible for providing content and reviews as they are for coding.  If a writer is blocked and a doc task can’t be completed, then the story can’t be closed.  This provides the means and the motivation for excellent communication and cooperation among all members of the team, and ensures the documentation gets the attention it needs from all concerned.  If a team conducts separate doc sprints, dev and QA have already moved on to something else by the time the writer starts and will have to switch context to provide information. Moreover, dev and QA very likely have not budgeted time into their own sprints to work with the writer – after all, their stories apparently can close without documentation. This leaves the writer in the uncomfortable position of “prying” developers away from their “real work” or resorting to begging (or threats). Plus, the likelihood of missing information altogether (because it’s no longer current) or of being shortchanged during review cycles increases astronomically. The doc quality suffers, team relationships suffer, and ultimately product quality suffers.

Why are writers different from any other team member?


The short answer is that they shouldn’t be! However, in many organizations, tech writers report to a different business unit than development teams, a situation that can leave writers feeling like outsiders because they are treated like outsiders. I know writers who are left off mailing lists, who aren’t included in team-building training, and who are sometimes the last to know about feature changes.  
For real Agile success, writers must be real team members. It might not be possible or even desirable to change the management hierarchy of your organization, but it is possible for teams to ensure that writers are first-class team members.  The first steps include making sure everyone on the team understands this (management support is essential), eliminating doc sprints, ensuring doc tasks are part of the team user stories, and planning for the time needed to provide content, write, and review the doc. 

Is there ever a good reason to have a doc sprint?

Probably not.  There might be a reason occasionally to have a doc-only user story (for example, if your team decides the product needs a new user guide), but even in that case the team is responsible for content and reviews.  No one team member, whether writer or not, ever works in a vacuum. All stories require commitment by the team, and as such should be incorporated into team sprints.

Your thoughts?

Does your team hold separate doc sprints or are your documentation tasks integrated into the development sprints? How does that work for your team and the quality of your product? 

About the Author

Janice Hamrick joined CA Technologies in 2010 as the Senior Technical Information Engineer for the Capacity Management suite of products (formerly Hyperformix).  Before joining Hyperformix, she spent years writing documentation for backup and recovery products for a rival company whose three initials shall remain unnamed. It is a myth that she has worked as a technical writer in the software industry since dinosaurs roamed the earth, but she does remember when “agile” was something you had to be to avoid the saber-toothed tigers.


Outside of work, Janice is the author of the award-winningJocelyn Shore mystery series (DEATH ON TOUR, DEATH MAKES THE CUT, and DEATH RIDES AGAIN, Minotaur Books), and is currently working on a new novel.  She lives in Austin, Texas.

Sunday, June 9, 2013

The Most Important Book on Scrum Since the Original

I have just finished reading a book that is, without a doubt, THE most important book on Scrum that has been published since the original.  This book is Tobias Mayer's, The People's Scrum.


Why should you read this?  

You should read this because you are likely in a system that must be improved--I deeply believe that all of us are.  You will likely not agree with everything, but in order to truly realize the value of Scrum or any agile development framework, there are things that you need to know contained in this book.  If you find yourself in agreement with everything contained within, this will be an excellent reference to share with others who may not be so fortunate.  Ultimately, you want to better the lives of your team mates and yourself in ways that are founded on experience and love (how's that for a bold and courageous statement?)  It's also a nice fast-paced read as these are essentially edited blog posts, none of which are more than five pages.

What was my experience?

As I read this book, it reminded me of the first time I read the Agile Manifesto--my head was nodding in accord so many times, I nearly became dizzy.

Based on the foreword, I was convinced that I would find something to disagree with Tobias on and was looking forward to the opportunity to have a great conversation with him and potentially have my mind expanded. But I didn't...his views are so close to my own as what he says could have been written by me (although I couldn't have written them as well). I suppose that comes as no surprise as one of my early strong influences was Kert Peterson as well. We also seem to share strongly-held (as in concrete reinforced with rebar) views on the importance of humanity, decentralization, and co-location in innovative and creative work.

I suppose I didn't learn too many new things in the book, but they were told in a way to convey important meaning to the people who actually do the work and are the main focus for the Scrum framework. Of course executives and managers should also be exposed to these ideas as they are (fortunately or unfortunately) ultimately responsible for maintaining or at least spawning the systems where the workers create value. These are the people that will receive the most benefit of these essays as I share them with the teams I serve and advise others in the community and our industry.

Agile Austin - Here we Come!

I plan on ordering five copies of this immediately and sharing with the Agile Austin community. We will likely conduct a book discussion group on this book in the July time frame and will report back with comments and observations.

A few shout outs.


Thank you Tobias for this important compendium of essays that continue to be sorely needed across our industry to maximize joy and potential of our people, organizations, and technology users.

Also, a big shout out to Bernardo Salinas for catching me in the airport in Austin and recommending (insisting?) that I read this book!

@MulticastMatt

Thursday, May 30, 2013

Making Agile Austin's Membership Participation Based


Hello all:

I'm proud to putting forward a change to the way we define members of Agile Austin.  This is an effort that came from the community and had many many thoughtful minds come up with the best path forward for our community.  I also believe that this may be used as a model for other communities, ensuring that goals are properly aligned when the communities scale.

Thanks to the folks that made this happen--I'm excited to see what comes of the vote next month!

All the best,

Matt

<<

Howdy Fellow Members of Agile Austin:

The least you need to read:
In two days, in addition to the vote on the Agile Austin Board of Directors, we’ll also be putting forth the vote on how we define our membership.  We would like to change Agile Austin membership from being fee-based to being participation-based as It is more meaningful to have people who participate in our programs define the formal leadership of our organization rather than those that can spend thirty dollars. The board and I would like to wholeheartedly endorse this change to our membership definition and ask that each of you vote in favor of it as well. 
We need 50% of all MEMBERS to vote for this change.  We will not make the leap to the next level as a fully participatory community-aligned organization without YOUR help.  Feel free to join at http://www.agileaustin.org/join/ by May 31st in order to help us make this change.  As a Board we cannot do this alone.

Where did this come from?
Over the past 18 months, we have decentralized the control of Agile Austin from a small board of directors to a group of leaders and individuals within the community working in concert with the board.  Listening to existing and former members, I engaged in a series of discussions to change Agile Austin for the better (“DeltaAgileAustin”), including the concept in a change of membership definition.  I’m not sure exactly where the idea came from, but it was definitely a joint jam among community members, board members, and anyone else whose ear we could tug on the subject.  A number of us continued to meet and refine the idea, and we spent a good amount of time in board meetings where we discussed the same.  The result is the language/vote that you see today.
Why?  What’s wrong with how we do it now?
At the dawn of Agile Austin, we had little in the way of resources to achieve our mission (http://www.agileaustin.org/agile-austin-charter/).  The framers thought rightly that if we charged a bit of money, we could cover food, supplies, and never be strapped for cash.  Since then, we’ve grown up and have a rich ecosystem of partners and sponsors.  No longer are we dependent on our membership for dues to fund our activities.  As a board, we have dispensed with every single benefit of paid membership, with the exception of voting for the board of directors.  We believe that it’s more meaningful to have people who participate in our programs define the formal leadership of our organization rather than those that can spend thirty dollars.  Frankly, it seems a bit distasteful to pay to vote as it can encourage unethical behavior.
We thought about giving the vote to anyone in the community, since that’s who we serve, but thought it made more sense to give a vote to one who meaningfully participated in our programs.  With about 20 programs per month, this gives everyone approximately 240 opportunities a year to participate.  We agreed that six meetings constituted “meaningful participation.” 
I also believe that this represents an innovative model in how a large and powerful user community can effectively be run, and may be used by other organizations.  Coupled with the other changes we have made, we have largely open-sourced the management of the community, which has been directly responsible for the growth and impact Agile Austin has on the software development community in Austin.
You convinced me—how do I make this happen?
You must be a member to vote for this—indeed we need 50% of our membership as of May 31, 2013 to vote favorably to make this change.  You can join here: http://www.agileaustin.org/join/ (yes I get joining and voting for this will negate (eventually) the method of joining—just the way it works).  The vote will come out with the election vote in early June.
OK, we have sponsors now, what if that changes in the future?  What if people want to sponsor Agile Austin monetarily?
No problem—we can change the definition of membership in the future like we’re doing now.  There’s nothing preventing us from having a “personal sponsorship” either—we just don’t want the money to be associated with the vote.
But I’d like to make a change to the wording!
We have had meetings on this for about a year and we have had the language available for review for a while.  If it does not pass this time, we can consider it for the future. 
The full text of the vote and the details:
The Agile Austin board proposes that the definition of an Agile Austin member change from fee-based ($30/year) to participation based (attending at least 6 meetings in the last 12 months).  Note that at least 50% of members must vote for this proposal in order for it to be adopted.  If adopted, this proposal will take effect on September 1, 2013.
Specifically:
  •  "Membership in the Corporation shall become effective upon receipt of a properly completed application form, receipt of specific dues and approval of the application by the Secretary of the Corporation in accordance with the Bylaws and criteria developed by the Board of Directors of the Corporation." from Section 2.1 will be changed to: "Membership in the Corporation shall become effective upon confirmation of attendance of the minimum number of meetings specified by criteria developed by the Board of Directors of the Corporation.".
  • "Membership shall terminate upon the occurrence of any of the following: (i) nonpayment of dues by a member within 30 days of due date..." of section 2.2 will be changed to "Membership shall terminate upon the occurrence of any of the following: (i) failing to attend at least the  minimum number of meetings specified by criteria developed by the Board of Directors of the Corporation...".
  • Section 2.3: "Dues. Annual dues shall be established by the Board. No portion of the due paid by any member shall be refundable because their membership is terminated for any reason. Annual dues for new members are due at the time of application. Annual dues shall cover one calendar year of membership and are due for renewal in the month of initial application. The Board shall have the authority, upon application by a member, to waive or reduce the annual dues on a case-by-case basis, for that member." shall be removed.
Tracking of participation will be determined by the board and adjusted based on community feedback (i.e., we will inspect and adapt in an agile fashion).  Our initial plan is as follows:
  •  People in the community will register interest in becoming a member by giving their name and email address to an Agile Austin program lead at any Agile Austin meeting (this could be as simple as giving a lead your business card).
  •  On registration, potential members will receive an email from the Agile Austin Board with details on becoming a member.
  •  As currently, meeting participants will register for meetings via Eventbrite.
  •  At the meeting, Agile Austin program leads will check in people who are interested in membership via the Eventbrite app (or other means).
  •  Once a potential member has attended 6 meetings within a 12 month period, they will receive an email confirming their membership and their right to vote in elections and other matters.
  •  If a member gets to the point that they have not attended 6 meetings within the last 12 months, they will receive an email that their membership has expired.
  •  For Agile Austin's current paid membersmembership will remain effect until it expires (12 months from when membership started / it was last renewed).
  •  No new memberships / renewals will be granted based on payment of membership fees.
  •  If less than 12 months of data is available, membership will be determined by attendance in the time period from the adoption of this proposal to date. In other words, if a membership vote was done on September 1, 2013, those who paid for membership on or after September 1, 2012 and those who have attended 6 meetings since the adoption of this proposal would be able to vote.
I still have questions--can we talk before I vote?
Sure--feel free to send a message to board@agileaustin.org or send a note to the Agile Austin Yahoo notification group to engage in public discourse.
All the best,

Matt Roberts
President, Agile Austin
president@agileaustin.org
>>

Monday, April 29, 2013

[Delta Agile Austin]One Year Later - The Impact of the Change


Hi all:

It’s been about a year since we last met to discuss changes that the community would like to see in the way that Agile Austin is run, the programs that we host, and the mission and purpose of this now-gigantic and much more decentralized user group.

Some of the key changes that have come about from these efforts in the past have included:

  • Opening of every single Agile Austin program to all members of the Austin community.
  • Opening of the board meetings to all members of the Austin community.
  • Publication of the notes from board meetings to all members of the Austin community.
  • Advance insight and ability to put items onto the board meeting agenda for all members of the Austin community.
  • Reconsideration of membership—we will put forth a proposal in the next election to change Agile Austin membership to be not fee-based ($30/year) but participation-based.
  • Deprecating the practice of having any fees associated with any Agile Austin program including the book discussion group—any exceptions now need a board meeting vote.  In the past year, we had one exception, which was the Keep Austin Agile Conference.

While we did not implement every change that was suggested, I represented all ideas in front of the board.  Now that our board meetings are open, it may be fine to deprecate this program, but I wanted to see if there was any interest.

These discussions were the engines that drove increased quality, expanded breadth and depth, and more inclusive nature of our programs.  I really enjoyed them as they were intense, sometimes heated, but always made me think different(ly).  Perhaps that's the biggest and most persistent delta (i.e. "change")--the change of mind that will continue to push us to work together and continue to focus on the community as we build this amazing organization by and for our friends and colleagues.

If anyone is interested in continuing the discussion, please let me know and I’ll set up an open meeting.

All the best,

Matt Roberts
president@agileaustin.org

@multicastmatt

Tuesday, April 2, 2013

GUEST BLOG: 3 Ways to Make Documentation as Agile as Development


Welcome back to a colleague and friend of mine, Janice Hamrick, who is an outstanding Technical Information Engineer (aka Tech Writer) and a totally entertaining mystery writer. I read the following three ways to achieve true agility across all development team disciplines and LOVED it.   However, I felt that a fourth point was necessary:


#4 - Be Prepared to Design!

I have often thought that one of the most powerful, yet underutilized, roles of Technical Information Engineers is to make software usable. Sitting alongside of the developers while the software is being created is a huge benefit as they can answer questions like “how am I possibly going to document that???” Serving as de facto Subject Matter Experts across the product, they can also help find potential flaws and opportunities for excellent feature design and simplification. 

~ @MulticastMatt




We all know that the rules of Agile software development decree that user stories must be shippable at the end of a sprint. In other words, a feature must be fully coded, fully tested, fully documented, and fully accepted by the product owner before you can call it done.


To those new to Agile, this seemingly defies the natural order of the universe. After all, everyone knows that documentation always follows development, right? In fact, some teams so firmly believe it’s impossible to have both in the same sprint that they plan to have documentation lag one sprint behind. What they might not realize is that they are no longer practicing Agile development. Because in Agile, you’re not done until you’re done. And let’s face it:

If it’s not documented, it’s not done.

So how do you make documentation as Agile as development?


1. Make Documentation Visible

When story planning, give documentation the same weight you give any other critical-path task. EVERY story should include four documentation tasks:
  • Provide content for docs.
  • Document the feature.
  • Review the documentation.
  • Update the doc based on review feedback.
Notice that two of these tasks are the responsibility of someone other than the writer. The team commits to providing information in a timely manner and the team commits to providing thorough reviews to ensure accuracy and completeness of the documentation.

Tip 1: Don’t be afraid to mark the doc task as blocked if time is running short. You want it to be obvious that the story cannot close without its documentation.

Tip 2: Don’t skimp on the estimated hours for these tasks. If you need two different reviewers, put in twice the hours on that task or, even better, put in two review tasks.

2. Be Willing To Write Reality

Be willing to write your documentation to reflect reality. You need to document each feature as defined by the user story, even though you know that eventually you’ll have to rewrite the same topic – either to add the next new bit of functionality or to alter what was previously done because something changed. We’re all familiar with those epic stories that span multiple sprints. The developers break a standard CRUD story (CReate, UPdate, Delete) into three parts and deliver one piece per sprint. Yes, it might be easier to wait until all three are done or even to write anticipatory information, but it’s critical to be able to demonstrate the current functionality when the sprint ends. This puts you in a marvelous position of being able to ship a beta with no notice whatsoever (and yes, that’s happened to me). It also means no revisiting your topics if time runs out and the forecast development changes don’t actually make it into the release.

3. Be Willing To Write Fiction

As a semi-contradictory corollary to the reality rule, be willing to write fiction. Once a feature has been defined for a sprint, you can get started on the documentation. Creating process flow graphics, defining the scenario, providing the key background information, even updating the list of new features in the release notes can all be done before the first line of code is written. Yes, you run the risk that you’ll need to rewrite if something changes, but getting a jump start can be critical to success. You also run the risk of providing unexpected value for your team – timely user-focused questions can help the developers improve the feature as they go.

Tip: Don’t let your fiction be confused with fact. If a feature looks like it’s not going to be completed in a sprint, mark the corresponding docs with a “Do Not Publish” condition and only remove the tag after the code is accepted.


The Bottom Line

So, is it possible for documentation to be as Agile as development? As with all things Agile, success is up to the team. In Agile, everyone on the team is responsible for every story, which means everyone on the team is responsible for documentation.

As soon as your team commits to this principle, the answer is a resounding YES!


How do you keep your documentation agile? Share your tips in the comments. 



About the Guest Blogger

Janice Hamrick joined CA Technologies in 2010 as the Senior Technical Information Engineer for the Capacity Management suite of products (formerly Hyperformix).  Before joining Hyperformix, she spent years writing documentation for backup and recovery products for a rival company whose three initials shall remain unnamed. It is a myth that she has worked as a technical writer in the software industry since dinosaurs roamed the earth, but she does remember when “agile” was something you had to be to avoid the saber-toothed tigers.
Outside of work, Janice is the author of the award-winning Jocelyn Shore mystery series (DEATH ON TOUR and DEATH MAKES THE CUT, Minotaur Books).  She has completed the third novel in the series which will be published in 2013 and is currently working on a new and much darker mystery series.  Learn more at www.janicehamrick.com