 I didn't think that was actually going to work. Hi. What time is it? I'm just curious. Okay. Hi. So my name is john jacobi. And i'm going to talk to you all today about enterprise project Management, specifically with wordpress now. I am admittedly a developer. Sorry. Don't hurt me. I'm just kidding. So i spend the majority of my time as the Project lead for two of the sister projects to wordpress. One of them is called buddypress and that is what we use on Profiles.wordpress.org as our pretend social network that Lives on top of wordpress.org so it aggregates all of the Activity across word camps and code changes and the project Management that actually happens for wordpress the software Itself and the other project is something called bbpress that Powers all of our support forums so my half of my life And half of my professional life and career is spent managing The projects that you would likely use if you were going To build a website with wordpress that would need social Elements to it where users would talk back and forth to one Another. The other half is doing consulting, Development, project management, leading teams, building Websites for comcast or what have you. So wearing multiple hats and having sort of done this for A while i have a tendency to forgo slides in every single one of The talks that i do which is probably not typical for what you Are used to expecting in a design or project management Geared or focused type of talk. I know that largely i would Expect for there to be slides and graphs and charts and Pitches about what to use and how to do it and all of Those kind of things but i generally try to bring this down To a much more practical type of level to one explain sort of how We manage projects and manage big large projects for large Organizations and companies can also talk a little bit about What a pitch process might look like for a company like that But at the same time i generally want for this talk or my Talks or our time together to be as useful to all of you As it possibly can be which largely means i have lots that i Could say all day long but also am completely prepared to Answer and help you with any of the questions that you may have Regarding what managing really large projects or projects for Large enterprise clients or customers might look like. I could share all of the horror stories. I could share all of the success stories but i don't know That's super fascinating to anybody. I think that talking a little bit more about how in some of The roles that i have played at other jobs that i have had i Don't know what that was but okay it's sort of like a hurricane Alarm or something like okay well we're about to evacuate the Building thank you goodbye. So in a previous life you know back in 2010 i worked at a Company called automatic and moved around in that company for A couple of years where i worked on specifically on wordpress.org As a site admin still do at this point worked on the social team Largely building features for jet pack like jet pack comments And jet pack likes for comment likes and post likes and Reblogs of followers and then moved to the vip team where i Got the bulk of what is my enterprise type of experience Doing coder view and deployments and support for the vip Clients that we're on and hosted on wordpress.com and having left There went to work at a company called ten up. Ten up is essentially a premier wordpress agency of about 150 people now i think it might have been 60 when i was there Who builds many of the largest or highly trafficked wordpress Sites that you're going to see that happen on the web so While my role necessarily wasn't one directly related to Project management i was the director of engineering there and Was directing the engineers who were being project managed by Our project managers so if you don't mind i would give you my Perspective as a director level or as a software engineer on How managing these big projects looks and some of this stuff is Pretty obvious some of this stuff i think is fairly Straight forward but we can drill down pretty deep into any One of them if you want to originally this talk was Supposed to be from sara pressler and she's like an on point Project manager she lives and breathes project management so She couldn't make it i volunteered to sub in and help since There was an open slot and i would prefer not to talk to You're not here to talk about code that's no fun right So i would say one of the first things that Is the most important for all of what happens when it comes to Project management if it is with buddy press or bb press or Enterprise project management or anything else is obviously the Communication aspect of what that looks like for the team Itself that is working on something in an enterprise style Environment or if you're a customer or client is an Enterprise level customer or client where they are probably Spending upwards of thousands to tens to hundreds of thousands Of dollars to build something that is going to be a very long Term project or a very long timeline with lots of moving Parts and changes then communication and how you choose To do that is going to be a pretty critical aspect of this Majority of the time at least in my experience you end up Fitting into someone else's communication style you fit Into their network you fit into whatever it is that they are Already utilizing for a tool there you may have a preference You may use hip chat you may use slack you may use e-mail you May use anything from atlassian or anything from someplace Else you have a tool that you prefer to use and you are Probably not going to use that tool you may use it Internally for yourself you may use that so that you can Project manage your own thing on your own end of it with Your own people but anything that's going to happen that Is going to be interacting with this client is going to be Largely utilizing whatever it is that they are comfortable doing It happens quite a bit where at least for me that i am brought In because of the word press expertise that i would have And it is a customer that either self host or has their Own code base or they may have in-house developers but they Are not there doing word press things they might be a Doing mostly dot net but for some reason word press has won Their hearts for this one particular problem and they want to Use word press to solve it and somehow or another either Through word mouth or through a website or through me speaking At a word camp and them liking me or whatever that looks Like they decide i am the person that is going to try to Help them solve that problem and in the due diligence of That introduction and hanging out and figuring out whether Or not we are going to be a good relationship fit for each Other some of that involves how is it that you prefer to Work and here is how me and my team also prefer to work and Does that actually sound like that is going to be acceptable And make sense for the both of us again i see some of This sounds pretty straightforward but it is very easy to Take for granted that not everyone works in the exact Same way doing the exact same things my analogy for this is That think of all of the places in the world that you do not Go like for every restaurant that you drive by and for Every like shop that you don't go to and for every mall that You don't need to go to because it is not in your Neighborhood there are like thousands of people that go To these places that love this place that live in that Place people are doing all sorts of things that have Nothing to do with any of the things that ever intersect with You in your life they are doing this with project manager With every project that is going on with word press stuff They have different ideas and different goals and different Thoughts about some plugin or some install or some site that They like that you have never seen or visited or heard of Before and now it is your job and they are paying you to Come fit inside of this culture that you have never once Been introduced to before in your life has a big deal like You can use the square peg in the round hole kind of thing But a lot of the times this is like a completely different Tetrahedron that does not register on anybody's maps. So the first part really is figuring out how it is that You are going to communicate. The second part of that is Actually adopting those communication techniques. You can say that you are going to communicate in this way That will not stop anyone from just sending you an e-mail Any ways or you from sending an e-mail or someone sending you A text message because something is on fire or someone Sending you a text message just because they want to. Adoption is also really truly the hardest part of all of This because if you do not adopt whatever the method of Communication is going to be you are going to fracture And fragment whatever that looks like and that happens Enough even within building word press or buddy press or BB press where we have a place where code gets built And we have a place where people will talk about the design Aspects of things and we have a place where we will talk about Scope and what it is that is going to happen and whatever Releases are going on but eventually they have to boil Down to some place so that everyone can communicate and Be on the same page with what it is that they are doing. I don't want to talk about things that are like far Too simple but i don't know that this is a thing that is Too easy to go over a question already. Right. So it's true. There are a couple of different names for this and i will Repeat for the live stream is how essentially do you handle What i would generally call scope creep. How do you handle missed deadlines? How do you handle the i guess the higher tension sort of Communication that needs to happen? So admittedly being a developer when things are behind it is Usually my fault. Things have a tendency to take longer than they should. Even easy problems that you think should be easy to solve At a developmental level become more complex as you Start going deeper and deeper into them. I would double speak back and say that the communication Generally takes longer also as someone who is even a full time Project manager getting a hold of the right person, talking to That person, figuring out what is giving them the context of What the problem is, having the conversation, getting results Back, communicating that back. You might think that that can be Done in a half hour but that will take all day. So a lot of these problems are problems that you They really should be simple problems but they never ever are. So we have a tendency to be fairly meticulous about things. Largely from experience of having been burned on some things or Too many revisions on projects or having someone think we are Going to manage the content strategy for them which is Not necessarily what our strengths are. So most of the time in what would be our contracts or in Our relatively consistent communications we do a lot of Clarifying about what it is that we are going to try to Achieve and what it is that we are not going to achieve. And that has worked out fairly well for us because if you Are not clear about what for sure you are not going to do During a specific timeline is very easy to assume that Something is going to happen whether or not it has been Written down or not. And we have the whole range of Clients. We have clients that might Be an author and they know word press or they have been in Word press but they don't really care about building any of The site at all who might have the occasional it team or Development team that understands regression testing And unit testing and hosting environments and security And they want to have every bit they want to know Everything has to cross their nose so they can see it Go by and acknowledge that it exists. So we see the whole range Of it. The most important part of it Though one that i still as a professional who enjoys doing This work still consistently struggle with is communicating Constantly stopping to say this is not going to get done Today. We have identified it is noon. It is not going to happen today. Sending that e-mail Or sending that message to say hey this thing isn't Actually going to happen today. That is the hardest part. I'm not really admitting failure but admitting that Expectations will not be met is part of the communication Process and i think that has to happen on both sides. It has to happen especially with complex firms or agencies Where you may have developers, designers, architects, Producers, directors, project managers, project leads, Seniors, juniors. You are going to have a Key of people that are on a pod or a group or whatever the Architecture of your company is to manage these bigger Projects. I know that we, if i answered Your question yet i think so. I just want to make sure. Sure. Right. Right. So the question is or the segue is because it is a Fantastic point is what are the consequences when things are Not done? And sometimes it is not very clear. Right. Sometimes your impact of anyone's impact, Like the real true impact of completing a task and what That means for other people either for the project or Even a client who is paying you to understand the impact Is not really that clear. We usually try to be, maybe this is wrong, But we have a tendency to kind of have like buddy to buddy Relationships with most of the clients that we have. Which means that we are pretty deep into what the repercussions Are or what the idea is or what the problems it is that They are trying to solve with whatever piece of software That we are writing for them. So on purpose we try to be Very clear about who are the investors that are not going to Be happy if this doesn't ship on time or how much internally are You investing in this or when are the marketing deadlines. If you have to print a book at a certain period of time and You have to have marketing materials done and that means The ui needs to be finished and that means the designs Have to be done and everything has to be in there. What happens when we don't hit that deadline? What does plan b look like? What does plan c look like And we have been fairly lucky to have worked mostly with Clients that already have those plan b and plan c in place. That has a tendency to make the relationship that we have With a client or customer fairly relaxed because they already Have contingency plans in place. And i think that having Those contingency plans in place which we don't Have particular contracts but probably should are fairly Important for maintaining good and happy relationships with Clients. But again that part of it i think is And we see that a lot. On the open source side of it with Buddy press or bb press less with word press because they Are very strict about hitting deadlines and release dates. With buddy press and bb press we set goals. We know what it is that we want to achieve. We have long timelines and what the features are that we want To ship. But if we don't ship those features No one is mad. So in the real world where Someone is paying you to ship features on time that's Almost really your only goal. Your only job is to get this Done by this time and if that is not a thing that you Are able to do you have to know the second that you think that It is not possible to reach that deadline is the second that Everyone that it matters to needs to know because they are Going to need to make decisions about when they are going to Implement contingencies. Can marketing materials go out In time? Can we actually ship this to market for whatever Reason at this time? And it's terrible if you can't. But as everyone grows and gets better and becomes more Educated and experienced with what they are trying to Accomplish and do you get closer and closer to hitting the Mark every single project and time and thing that you Build into. So no one expects at Least in my experience for anyone to be super flawless at This because there are a lot of moving parts and a lot of People that have a lot of agendas about what it is That they want to see happen. Even completely unwritten Agendas that come up in the middle of meetings all the time And that would generally be what i would classify as scope Creep. Here's this magical unicorn Idea of a thing that isn't anywhere in the spec that you Suddenly thought we were going to complete by some day that Didn't ever come up until now two days before you want to Ship. Okay, well, good luck. That will be v2. We will work on that together. But that is a thing that just cannot happen if you want to Ship this today. These are complex things. Like we're not, like, i can't really cook eggs very well and I've cracked 10,000 eggs for my wife in the morning making Breakfast before she goes to work. You do it a thousand times And eggs are, you're going to screw them up all the time. How do you get them to be perfect? And people that can do This are professionals. They can boil and make eggs Perfect, flawless, every single time. That's not what i do, right? So i have written enough software and managed enough projects Where i am usually pretty good at doing this. But it is possible to be terrible at it one time every Once in a while and ruin an egg or two, i guess. Hand up first over here, and then you. Sure, that's a good question. For the live stream, what are Some of the larger wordpress installs and when is That? what do i use to identify whether or not wordpress is a Good fit for that project, right? so how i would define large Is maybe a little different. I would use wired magazine as a Good example of a site that is a large wordpress installation. Also, they have lots of sort of material, like case studies on Themselves on what they have done to make wordpress a Scale for what it is that they need for it to do. Wired magazine was originally a bunch of separate wordpress Installations for their different chapters or segments in Wired, and they spent a few years combining all of these Wordpress installs together, not even into a multi-site Install, but all into one big site. And so for that, big to me means they just have archives Of years worth of content. And that i think is probably A traditional wordpress site that eventually every type of Online publisher would hope to achieve. And their approach was to put it all into one site on purpose. They could have used multi-site. They could have spread the pain Across multiple sites and multiple whatever, but they didn't Have a need for that. They built a really robust, neat Editorial tool on top of the visual editor so that their Editors could pass articles off to each other. There is a plugin called edit flow that's very good for Something like that to start with for a deep editorial process, But they ended up massaging it and building something a little Bit more on top of it. But large could also just Mean the number of users. It could mean how many users Traffic to that site at any given time. And for that, like, wired is not a bad example, either, Because they get lots of traffic all the time. But in terms of users, wordpress.com and .org are the Two biggest ones that i would have experience seeing. Wordpress.com is in the millions, 80 million users probably Because you have to have a wordpress.com account to have a Gravitar and to have access to jetpack. So there are at least 80 million users at this point. Wordpress.org probably has close to 9 million users now. I would have to check. Granted, not all of those users Are logged in at the same time. They're not all interacting With .com or .org at the same time. But in terms of user base, they're enormous. They're a big, big install. And then when wordpress is not A fit is a hard question for me to answer? Because wordpress is my hammer and everything is a nail. Like, i am going to try and find a reason to use wordpress In most things. And if i can't, it is not Like, it's all that i know now. It's all that i will largely Work with. So most things can be done or fit Into a wordpress installation or can be built on top of it. When you consider, right, that like facebook as an example Runs on a very similar stack of technology that wordpress runs On. It uses something called php. It uses mysql. And then it uses all of the similar Caching bits. Facebook just happens to open Source all their own stuff for scaling this type of application To billions of page views and things a day. So wordpress itself as a piece of software can handle An enormous amount of traffic and data. So it's hard for me to imagine not using it for something. Particularly if you were, and this happens a lot where we see Companies that flip around that might be on drupal and think About moving to wordpress or which cms should i use and why. And these are decisions that are largely influenced by People, by the players that are on those teams or in those Companies to make the decision to say we are switching platforms. Why? because we can't, wordpress is terrible or we don't like it And we're going to move everything to drupal or whatever. Why is that really? well because someone's buddies with Someone at a company that decided to tell them that That was what they needed to do. They got information and They're acting on that information. In the end of the day, you're just, you're mashing Your food around on the plate. It's going to take three Years to move your food around and move your data and Get it going and launch and you're going to pay a bunch Of money and that's good because people, jobs are good and Everything else but at the same time, the end result will Just be stuff in a database and a way to manage the stuff That's in there that hopefully people like a little bit better. So i have a tendency to try and recommend wordpress for Just about everything that i can recommend it for. And it is a mature enough platform and there are enough Plugins that solve different niche problems in very advanced ways. WooCommerce i think is a good example. You can kind of turnkey have a shopping cart, integrate with stripe, Sell stuff online, immediately make money. Look out, right? Like you can own your own, have your own domain, Have your own site, sell stuff on your own without having Anybody do that for you. It's pretty incredible. Have your own social network, install buddypress, Turn a key, registration, profiles, groups, activity streams, Friends, all this stuff and it costs you zero dollars. Okay, like all of these tools are free and you can get a very Good foundation head start into building any project with Wordpress. What people pay you for, What particularly enterprise clients will pay you for is Largely implementation details. Tell us what we don't know About solving this problem using this tool. That is why you pay someone to pour concrete at your house. That is why you pay a mechanic to fix your transmission. You might be able to figure that out, but it is not valuable For you to try and do those things on your own. It might be a learning experience and it might be cool and you Might be able to feel accomplished having done those things, But someone wants to actually do those things and get paid To do it so that you don't have to. That is what you do as a project manager or a developer, Particularly with an enterprise client that has Relatively high expectations and usually an exacting Specification. So there was another question Over here. Sorry for rambling. So that is a good question. The question for the live stream is What methodologies do i use or do i recommend or am i sort of Familiar with, really? And there are a bunch. Agile tends to be the one that most people that we work with Or something agile-ish, right? Right. It definitely depends. We do end up, we have. We try not to. I know that sounds terrible. But we, for us, we are a small Company that tries to work quickly. And in order to do that, at least in our experience, it Becomes increasingly more difficult as the number of people That are involved in the direct day-to-day decision-making of What is happening increases. So agile, like if you were going To use what is the piece of software, the atlassian thing, What is it? Yeah, yeah. So if you were going to use jira, Which jira has a little warm place in my heart because it Reminds me a lot of track, which is what we use for all the Dot org stuff. Except it's a lot more. They have coined their own terminology that's all the Agile, like epics and stuff. So we are familiar and we will Work inside of that. But even in our experience of Multiple firms that use jira that all have all their Stuff set up and working and going, we spend a lot of time in Jira communicating and not doing stuff. And so the stuff that happens, it's work for a lot of people. But then like you have, it's the maker-manager thing, right? There's lots of studies about like the maker has to make a Chair and the manager is going to manage how the chairs get Made and yes, you need each other. It's super important that everyone is working together And having a good time. But at the end of the day, the Guy that makes the chair is going to put the manager aside And sit and actually build the chair, right? The chair has to happen. So a lot of the times jira or Track end up, I don't want to say over-adopted because You want people to use it. It needs to be the canonical Place for that stuff to live. But if it is the only Place that things happen and people start to value the Communication that happens there, more than the things that are Being accomplished is a problem. So it is largely agile ish for What we do. Even internally, like our company, We have a tendency to just use git lab for the code and for The issue management that we do internally. So essentially it's a way to take what is happening in Jira that is facing either the client owns or that is Client facing issues and work. And that is the Place where the communication with a client is going to Happen. They're going to know to publish and Put things in either their jira or ours. And then we're going To communicate back and forth in that place. And then what happens is we take what is in there, we Take, we figure out what the priorities are there. And internalize a lot of that in our own git lab install. As a company of primarily developers, it's a little Bias to use something like this. But we're fairly used to just Working through issue after issue after issue and solving Problem after problem after problem very methodically. And what happens in jira is you have all these like if You're not familiar, maybe most of you are, is a project Management tool essentially with methodologies underneath it To prioritize and decide when things need to happen in What order and who those things are important to. So believe it or not, jira i think is one of the better tools to Do this compared to track compared to base camp at this Point which i know people try to use for this kind of thing. But we use git lab internally because it's open source, the Same as word presses. We can own it the same way That we would own or host any word press installation that we Would try and run. And it gives us the issue Management, it gives us private repositories for people to work on Separate things on their own, users and how they're going to Interact with code or projects. We can set milestones and Delivery dates for things. But it's a much more simple Interface than jira. But it is important if what You're trying to do is build a relationship with a enterprise Client to be versatile and comfortable fitting into whatever Their methodologies are. Largely, i say agile ish because Even when they're using jira like the right way, everyone has Some quirk, some part of it that they don't use or some way that They use a different tool to do a different thing. If you have something to share, that was a good time. If you have other insight. But that's the way that we would Largely do it. The reason we internalize a lot of Stuff is because there's a lot of when ideas are forming, there Is a lot of talk that the client doesn't care about. If that happens on a telephone or in slack or in some other Chat-based tool, you lose the context of that conversation And that should live in an issue or on a place that Maybe the client shouldn't care about. So the archival of that conversation becomes really Important because you need to be able to point back as a project Manager and say, hey, developer, we talked on Tuesday, you said That this would be done on Thursday. Not on the phone like I thought this is what you said, but these are the words You wrote on that day. But the client shouldn't care About the turmoil that is happening right there. They'll figure that out on their own. So that's usually how we would work. You may not have that luxury. We've had that, too. Everything is in giro. You just got to do it and deal With it. And that's okay. So i've got a five-minute warning. I think i've got time for Another question or two since everyone is piling in for the Next person. Just kidding. That's tough. So the question is how do you deal With contractors that maybe aren't as fluent with the Wordpress code base or way of doing things? And that is hard. That has bitten us a few times. That has bitten us even with working with a company and They have an internal person who is their, like, wordpress Expert who is the best person that everyone in that circle Of people knows at wordpress, but they're maybe not Necessarily meshing or jiving well with where we are With what we're trying to do. And that's tough. That's tough anywhere. It's tough on any team if you Just have someone that isn't fitting in. Contractors, i mean, if you are considering trying to go After a whale of an enterprise-style client that is a Big-dollar kind of thing, then you've probably already Been a contractor yourself. And that means that you have Both had really awesome gigs and really terrible gigs while You're learning how to be a contractor. So usually the best thing to do if someone isn't working out Is to cut the cord early and have the tough conversation that Says, like, we need you to change. We need this. We need this. It's not working. It's not working. Okay, well, sorry. Time to go. It is a terrible Conversation to have, but if they're in the way and They're not a direct hire, then that's their job. Their job is to come in and try and solve a problem if They can't. Someone has to. And that's the luxury of being a contractor. You can kind of plug yourself in and plug yourself out and Plug in another contract if you need to. I think for contractors specifically, i mean, yes, You have a contract, i guess, but the terms of that Contract should say that you actually complete the work, Right? So if you're not completing the work, you Always have that to go back to. But that is a luxury of being a contractor. Is that you are not a direct hire. You're not directly responsible. The person paying you also doesn't have to pay you forever. And you kind of come and go. It depends. It depends on if it's worth Educating them, too. We have definitely spent a Lot of time trying to get someone ramped up to speed that Had the potential to ramp up very quickly. So even if their first pass is terrible, you can still Provide some feedback and help them grow as a person. Granted, do you have the budget? Do you have the time? Do you have that luxury to try and be that person? So that is usually the default, is can we help and work together? And if you can't, then the tough conversation has to happen. So, gosh, what do you do now? We've got three minutes. Zero minutes. Zero minutes. Well, thanks for coming. Hope you had fun. And if you want to follow me on the twitters, i'm jjj. And thanks for hanging out and letting me Put you up for 45 minutes or a half or whatever it was.