The Software Outsourcing Show, Episode 19: Is it Time to Improve the Agile Manifesto, Pt. IV

March 12, 2020

By Lea Jesserer

Recently, the Accelerance team traveled South America to reassess and visit our Certified partners. During these visits, Jim Marascio, CDO at Accelerance, conducted on site podcast recordings about the validity of the Agile Manifesto, the ever changing landscape of technology and how our partners are navigating challenges, changes and the future of agile work.

This weeks guests are Agustin Tobio Corneu and  Pablo Pecora from Hexacta. Pablo has worked for more than twenty years in software development and has been an evangelist for Scrum for the past decade.  As a Certified Scrum Alliance Instructor Pablo is responsible for agile training for clients and participates on the Software Engineering Process Group. Agustin is a Project Manager at Hexacta with almost a decade of experience working with Agile methods. Pablo and Agustin both constantly seek to incorporate agile methods into their teams and software culture as a key factor in improvement.

As we traveled through South America, we spoke with our Certified Partners - all of whom are masters of this technical landscape and excel in maneuvering the ever fluid world of Agile rituals. Listen this week as Jim and Marcelo give an account of the Agile Manifesto and how Hexacta adheres to Agile methods.

Transcript

Bobby: You're listening to "The Software Outsourcing Show" brought to you by Accelerance, the global software outsourcing authority.

Bobby: Hello, and welcome to "The Software Outsourcing Show." I'm your host Bobby Dewrell. And as always, I am happy to have you here with us this week as we're wrapping up our five-part series where we've talked about all things Agile. Now, as you may know, Agile is something near and dear to me and really are firm here. And we had the opportunity to talk to a bunch of our partners. There are some recent partners trips down in South America. And so, we've had Jim Marascio on assignment running around down there. We've had him through Brazil, Argentina, Uruguay, and today, find him yet again in Argentina, this time in Buenos Aires with our partners Hexacta as we wrap up this five-part series on Agile and Agility. So, hopefully you found some good practices, some best practices, and you've learned a little along the way with us here.

Jim: Hi. This is Jim Marascio with Accelerance and I am here today in Buenos Aires, Argentina visiting Hexacta. And I'm talking today with Pablo Pecora, technical manager and Agile evangelist and Agustin Cornejo, tech test lead at Hexacta. So, how are you two today?

Agustin: Fine, and it's a pleasure to talk with you, Jim.

Jim: Great.

Pablo: Great, actually.

Jim: Okay. Good, good. Well, it's great to be here. The city is beautiful. Your office is beautiful. Actually, you have three offices here and all three of them are very different but they have a ton of character. The other two are really cool buildings and beautiful, but I've enjoyed what I've seen so far. So, we're going to be talking about Agile, Agile methodology, how relevant is it today. Are you experiencing it and utilizing it today? What kind of trends you're seeing? I wanna talk about that today. But before we dive right into the meat of the subject, let's make sure people know why they should care what you say. So, tell me a little bit about yourself and how this might be relevant.

Pablo: Okay. Well, I'm Pablo as you said. Thanks again. And I work as a technical manager here in Hexacta. Actually, right now, I'm working in a team that has, like, almost 90 people. So, it's pretty big for that on the U.S. And I consider myself an Agile evangelist. I do a lot of blogging about Scrum and also Hexacta is part of the Scrum Alliance. It's our partner. And we do Scrum training and also coaching. I'm in charge of that part so I usually coach companies, actually big companies in general about Agile in general.

Jim: Great, great. And you, Agustin?

Agustin: Well, I joined Hexacta six years ago, and I think I stayed, let's say, you know, for how the methodology was respected and how well everyone's opinions are to getting to account. I saw that, for example, in the Agile context, continuous improvement was very well implemented and...

Jim: Okay, good, good. So, for each of you, tell me a little bit about something maybe you worked on this week or you worked on last week that might be relevant to what we're talking about.

Pablo: Well, actually, this week, I'm writing something that perhaps it would be nice to talk about that is how you tailor the Scrum process and the new trend in 2019 is to make tailorings to the whole Scrum process. I am writing for a blog entry, in particular, an entry about this tailor between what big companies are using them right now to take the products to sheet products scrum methodology.

Jim: Okay. Okay. And something relevant from your standpoint, Agustin?

Agustin: Well, actually right now, I work for a French company and our system is implemented in many different African countries. Now, we are working in parallel of trying to develop features for three different countries at the same time. Now, these requirements change a lot basically because it's sometimes difficult for a company we work with to be able to capture and grasp the whole business need of the terminals that reported to them. So, our requirements tend to change very much.

Having the work divided by sprints allow us to deliver, let's say, small parts of software that are able to adapt to any change in the requirements, and this has proven to be very effective because of the deadlines that we give to the project usually are respected. And if anything happens, for example, should a late change come at the very last minute, well, we're able to adapt following the same process adding the work to be done to the following sprint and deliver on time.

Jim: Great. Good, good. That never happens though. A little bit different than it was 20 years ago when everybody was doing waterfall and everybody assumed that you could plan for the next...your whole workflow for the next 12 months. And then you realized that after 50% of what you'd built wasn't important anymore. So, that kind of leads us into trends a little bit. And you touched upon one there, Agustin. Can you speak a little bit to the trends that you're seeing? You know, we're wrapping up 2019 now going into this 2020. What are you experiencing?

Agustin: Well, one trend that I see...when I'm talking about trend, I mean, something that is not new but people and companies keep on applying it and that's something has happened a lot is software craftmanship and what it is. So, we have Agile Manifesto. It has proven to be great, you know. It has proven to bring great value, great results, products at the right time, a way of estimating, you know, that the past was not possible. And then teams arrive to maturity. And then there is something that is not exactly written there in the Agile Manifesto that is how we make great software, software craftsmanship.

So, a trend regarding this and it helps on the Agile Manifesto in the way that you're motivating individuals a lot is generating some practices, in particular, what I will call Agile practices that will help a lot getting great code result. And some of them just to name a few, the idea here is to mix a list of well-known practices and put them all together and keep on working on them so you achieve great results. Having coding standards is a great thing that some projects lack, and it's good to have an Agile approach to coding standards where you're not making big bucks but at least including some things in common and having tools like StyleCop or tools like that to enforce that.

Also, implementing tools and having more tools on the study code analysis like FXCop or SonarQube that is a more advanced tool, and working it out to make the testing, getting also more tools on that side like Selenium, and stuff like that. And this actually, is also a pretty new trend. It's an old-school thing that it's getting more main like it's domain-driven design. It's getting closer to the real world with the processes entities and having that new person that is coding out here, domain expert. And it could be somebody that is right now a new company, a user still trying to get that approach. I think it could help getting better results. That are some of the practices that I understand that maybe the more important apart from programming and having, you know, we really have a lot, but that's our main ones.

Jim: So, let me drill down into one of those little bits. So, you talked about tools in the middle there. And we've all seen tools evolving and new tools that have come onboard in the last five, seven years to help win the Agile process. How are they helping you to either execute more efficiently or more effectively?

Pablo: Yeah. Well, I have a great example, I think, that I'm working for a company that has tons of publications. And what we did, for example, is to work for the deployed on team foundation servers, TFS, and the whole Azure DevOps. And we are implementing, and that takes several months, the whole deploys are totally automated now. And the process, it's a banking corporation and the security is really important, was a hassle. And right now, something that used to take, let's say, five hours, six hours of deploying gets into maintenance. So, I think that's a great way of doing that. You know, on the backend...

Jim: It's really just, it's the same thing. You're just so much more efficient now because the tools have been there, right? Or are you saying something is different or does it just give you more efficiency and the capability to do more, do more faster, or are you doing something different?

Pablo: Well, in this case, in particular, it's not about being totally different, but it's about reducing, in an exponential way, the time. But also, you get back to it, you know, from some kind of manual work to automating this. It's also a good decision of the management side because sometimes we take this decision and do this kind of investment like creating a whole team for doing this at once. It's a big management decision and it takes some investment but you see the results really quick.

Jim: Okay. Obviously, Agustin, thoughts on any of that?

Agustin: Well, yes, for example, on my team, you know, in Agile, it's very common for developers and testers to work towards a single of producing software and producing quality software. Well, here, the rules track really well because software gestures  right automated tests and the help of architects, they can get these tests to be executed on the continuous integration pipeline. And this usually means that, for example, every time a developer wants to create a build, we can get those automated tests executed, and we can also get builds, for example, and performance tests are being run there. So, the benefit of these different roles of working together has proven to be very effective for us. We can detect, for example, any bugs as soon as they happen without even to have to run a manual test. And this buys us time, and it's usually to write and less time to release.

Jim: So, if you kind of circle back around the Agile Manifesto, you know, there's values, there's principles, how does this align with those values or principles?

Pablo: Well, in my case in particular, I had motivational issue on my team, on the past, because of the process that they have to do on the deploy. It takes several hours. It was boring for them, to be honest. It was not good for them. They didn't feel well. So, it's crazy how a tool help just motivating those people. They're really happy. They felt really happy with this process because they feel that they can add value in other ways where they know the best, you know, just developing software. So, if you join all the dots together, you're getting more customer satisfaction here because the guys are doing more what of what they want and that thing is developing. That gets better results sooner.

Jim: Sure, sure. Agustin?

Agustin: One key aspect of the Agile Manifesto is definitely communication and working together. We have, I mean, I suppose, waterfall, in which things go stage by stage. Here we have different profiles working together to create an incremental software. Now, this, I find it to be still very, very relevant today because the difference, for example, when a tester worked together with a developer and can give him or her the big picture on the possible scenarios that can happen. These different aspects or mindsets working together produce something much more efficient than having different people working, in a way, isolated or at least by the role. So, this to me is the key. And also, our team or Agile teams having constant communication with the customer allow us to go validating our work much sooner.

So, at the end of the day, when we deliver our product, it's not the first time the customer will see it and there will be no surprises. Actually, we held weekly general meetings with them. They can validate. They can propose, suggest changes for the things that are being done currently in the sprint. So, that's very good. I think that's the dynamic of Agile teams to rely on the communication of everyone related to or involved, in a way, of the software approach, all stakeholders.

Jim: Good. No, I agree 100%. And you touched on a bunch of different principles there and a lot of it is really about communication. You talked about it at the beginning, responsiveness, how can we adapt to changing business needs and then kind of collaboration, those types of things, and those are sort of threaded throughout the principles and manifesto, and the values of the manifesto. Any other trends looking at 2020 that you're seeing that maybe we didn't see in the last, you know, few years but is evolving?

Pablo: What I see right now is like as teams keeps on being mature, scale in Scrum is getting more...

Jim: Like, SAFe?

Pablo: Like SAFe, like less that it's a more natural way of scaling Scrum. SAFe is getting there but to be honest, I don't see still in medium-sized companies. I don't see it there. I actually see that or have seen it a little bit complex for implementing, less it's more natural. What I'm seeing is that several teams try to implement less. Several teams even they work in several and now they're starting to see that if they join results and they have one product and start working in a more united way, you get more value there.

Jim: Sure. So, we're kind of wrapping up in a moment. But looking at that, one of the challenges I often see is how do you get a client who's maybe not using Agile well today to adapt? Especially in the scenario where it works more of a team extension where they've got their development team, not just a product team, and you're implementing these types of things, how do you utilize those principles, those values, and create buy-in?

Pablo: Well, first of all, I think at the very first moment, especially when you're not sharing the Agile culture, that it's the main thing that drives the whole Agile process. So, let's say that the manifesto, like this is not there in their minds, I see in the middle of coaching, of coaching being really close to the product owner, explaining all the time, being able to be Agile. That means try to explain it in person with no documentation, one time, two times, three times, and try to get them to know this.

And then the second important thing I think is to keep them going. And once they see the results, once they see their relationship between the business people and the developer and how it improves, they start to believe in it and they start getting there. So, I think a lot of this is just keep on doing sprints and going on, and they start to feel the difference.

Jim: So, when you're playing Agile coach, part of the role is to help them develop confidence, and the only way really to do that is to have some success.

Pablo: Totally.

Jim: Okay. Good, good. So, I was right. Agustin, thoughts there?

Agustin: Well, I think what you said is very important. Usually, customers that come to us with a waterfall or more old-fashioned way of doing software development may have already faced some big problems that the other methodologies aren't. How you go about seeing this. So, sometimes when they started working with us, we can even do a sort of proxy between them, you know. For example, they can still have a mindset of saying, "Well, I need this to be delivered in three months." Okay. No problem. But internally, we may do an Agile management approach. So, when those three months' time start being consumed or passing by, we can already have a working software for them. Now, this is usually what's a surprise for some teams, or plans that are not used to working with this, and this has a lot to do with what you mentioned about joined some success, joined already some feature that is working that was very important for the client, and they can already validate it, not at the three months, at the end of every month that they mentioned.

Jim: Sure. Maybe at two or four weeks.

Agustin: Exactly. That's the idea. Now, this helps build a lot of confidence, not only on the system but on the teams, which is something very necessary for what we were saying a little bit before about communications. It's a matter of building trust between the teams and software being developed. So, I guess that that's an important point between the relationship of Hexacta and its clients in which confidence starts building up, we're able to put much better work.

Jim: Okay, great. So, I'm always interested when I have conversations like this to see if somebody disagrees with something or thinks something, in this case, isn't relevant. What I'm hearing from both of you is, you know, that the Agile Manifesto, the principles, the values, the way we execute it, it really is just as relevant today, and don't let me put words in your mouth, but just as relevant today as it was 10 or 15 years ago. We're just learning how to do it better, getting better tools to do it and learning how to scale it better.

Pablo: Exactly. Yeah. I think it's a way of maturity, and the Agile Manifesto is the base. I mean, it's in our minds every day and we just try to get them better doing things differently sometimes, and even testing, you know, if some things are good or not. That's how we arrive to today.

Jim: Okay.

Agustin: The Agile Manifesto, for me, has been very generous with the people of the industry by allowing itself to be flexible and proposing, if the methodologies are flexible, actually change, not only on the requirements but to change the methodology itself. It allows for new ideas, it allows for new tools, and retrospective teams, which are part of Scrum, allows everyone's voice to be heard, sorry. And well, this is a key aspect by which the methodology in a way improves itself, you know, with each good idea the team member has, a methodology grows across the system in a more effective way, a new tool is incorporated to the team. So, yeah, but definitely, I think that's the Agile Manifesto and its capability of being flexible is one of the things that makes it very valuable still today.

Jim: So, no going back to waterfall.

Agustin: No, only for vacation.

Jim: Great. Well, thank you both for your time today. I appreciate the insight, and I appreciate you sharing your company and the people here with us. It's been a great visit to your beautiful city and I look forward to working with you.

Agustin: Yeah. Thank you.

Pablo: It's a pleasure.

Jim: Okay. Take care.

Pablo: You too.

Bobby: Thank you for listening to "The Software Outsourcing Show" brought to you by Accelerance, the global software outsourcing authority. Do you have a topic you'd like covered in a future show? Then send us an email at podcast@softwareoutsourcingshow.com, podcast@softwareoutsourcingshow.com. Show notes, links, and materials discussed on today's show may be found on our website at softwareoutsourcingshow.com. That's softwareoutsourcingshow.com.

Subscribe

Learn more about successful outsourcing and get the latest from Accelerance.