Tag Archives: Agile

Reboots and Turnarounds: Changing your software development?

What is a turn-around? Having a conversation with a colleague yesterday around a “turn-around” project we are doing for a client. Going a new direction can be considered a negative thing, but it shouldn’t be assumed so. New directions for a business are commonplace. Sometimes technical debt overwhelms business value. Sometimes the customer base needs shift radically. Whatever the case, a significant change is needed. Sometimes it helps have a new leader or team to change the game. This is where people like me come into place.

Helping Navigate Change

So if a turn around is needed, change is required. We need to talk people, process, and tools. I always prioritize them in that order. People are the hardest to find. It can take years to develop the expertise in house. People change easier than process and tools. You never want to change the people, rarely does it make business sense. The process is usually the biggest problem. The waterfall to agile process change was painful, but thankfully mostly in the past. Most organizations understand the value of process, but make too many exceptions. Exceptions impact the process’s business value. Reviewing the process with the team and re-enforcing/incentivizing adherence is the best approach. The tools are the easiest part. If there is a tool in place that is performing well, leave it be. If there is a gap, analyze the need and offering and fill it. Having the team evaluate and select is important. Buy-in is required whether it be people, process, or tools. Having the team work in concert is always good hygiene.

Creating a Positive Foundation

So now the basics are done, let’s talk about the business. What and who are the customer base? What is our moat? Who are our competitors? How do we reach our customers? Do you have a customer advisor board? These are are vital inputs to a what I call a “north star”. If you are wanting to go a different direction, never run away from something – run toward something. The north star allows you to have direction in your turnaround.

After evaluating the team, processes, tools, customers, and market its time to make decisions. Creating a plan is always tricky. You want to set appropriate and achievable short, medium, and long-term goals. I like to start with the long-term goals first. Perhaps its a new product release? What is that timeframe and business metrics required? With the tentpole agreed upon, you can leverage best practices to define medium and long-term goals. The metrics make the goal. You cannot have goal unless you have metrics to can check to ensure you have achieved it. This is the most common mistake made in software development. Creating nebulous goals alienates business leadership in software development. So with the plans in place and agreed upon metrics, you can spin up your tools to track those metrics. Once you have the dashboards in place with people following the process, you can start sprinting.

Process That Re-enforces Change

Sprinting is the agile process of development. How do you eat an elephant? One bite at a time. That is how software development lifecycle (SDLC) works. You have a planning session to define what are the immediate and stretch goals for the next 2 weeks. You load up the work with the developers and they start eating that elephant. As the team works, they track their individual outcomes in software tools. Those tools allow management to understand how quickly that elephant should get eaten. At the end of the sprint, you do a retrospective on the results. Those results get added as input to the planning session for the next sprint. This cycle repeats until the product is end of life. Software development is about retrospectives and planning sessions. Here is where the business can help or direct the team to ensure value is created on time and under budget.

Outside of the SDLC, you need to manage the team members. You may need to add or reduce staff on the project team. Their individual contributions tracked in the process and tool helps you understand who are you experts and who needs help. Training and cross-training are vital activities to help teammates grow and excel in their roles. Understanding the needs of the people are as important as the needs of the outcome. You will not have a good outcome without good people. Setting and tracking individual achievable goals is important to the long-term success of any software development team.

Ensure You Are Creating Quality Outcomes

Quality assurance is where releases become a reality. As I have stated before, set a bar of quality and maintain it. Releases are your market credibility, treat it as such. Be transparent with your testing. Everyone in the company needs to know you clean up your own mess. If you are not transparent, your support and sales team will assume you are not doing anything. Regular company briefings of your triumphs and tragedies shows accountability and build trust. Trust is the currency of good stewards.

Most “turnarounds” are a positive thing. The business wants to make a shift and a reboot is necessary. Create your new north star and follow it. Leverage best practices. Make sound, informed decisions using data. Be transparent to your customer, the business. Starting new is opportunity. Let me know how your reboot journey is going.

Managing the Software Chaos: Achieving Quality Product Development Outcomes

Have you heard this before? The product development started great and we made our first milestone. BUT, ever since then things have gone off the rails.

Or how about this one? Our technical debt is unsurmountable, our only option is to depreciate. We are seeing horrible retention rates. How did things go so wrong?

Customer experience (CX) is about delight. Making the consumer of the application happy to use it and be in awe of its value to them. Novelty will only get you so far. Reality will hit your user community. Bugs will disappoint. Depreciation of keys features will enrage them. Upgrade paths that are no different then rip & replace will lose you customers. CX is about delivery of quality software. The better the software, the better the experience.

We all know what great software is. We all understanding the benchmarks. The problem is achieving those benchmarks. How do you avoid the primrose path of product development? By understanding, embracing, and enforcing sound engineering best practices.

What is Your Dream?

Let’s start at the beginning: ideation. This is where you define your vision. Who is the consumer? What is their journey? What is the market: from a price, value, and definitive profit opportunity. We live in reality, what are your acceptable trade-offs? How are you going to sell this product? What are the marketing materials required? What is the go-to-market strategy like market segment and demographics? What timelines do we have?

This will allow software creation within the constraints of the business. This means budgets, roles, responsibilities, and investment requirements. Hopefully you have heard “no bucks, no Buck Rodgers” — its as apt now as 50 years ago. This vision will allow your team to make good decisions. The vision is what creates and enables business alignment. When aligned, we can begin creating value.

Realization is Better than Building

Developing a software product is sometimes called sprinting. I see it an appropriate term. To generate business value, you will want to set a short-term goal, work on it, and measure if you made that goal. What is the release strategy? What timelines do you have, that defines the goal setting. Remember the marathon is the release. Segmented sprinting will get you there with the least amount of technical debt possible.

What is technical debt? Product Manager’s boogeyman. That is wasted productivity. When you ask to build something that provides no business value, it is a waste. If you have to re-write something in the future, it’s waste. Eliminating or minimizing technical debt is a key feature of quality software development. That is why agile development principles exists. It aligns development to the business regularly minimizing waste.

As part of agile you have planning sessions to talk about your goals and set them up. You have retrospectives to learn, grow, and adapt to challenges. You have tools that track tasks, resources, and hours. These are vital best practices that make quality software. But even bad software team have defined processes and great tools. The real difference is in the culture or in the people. Using the process to grow talent. Being accountable so you make goals. This is only possible with sound leadership and quality resources. Doing the work is about harness a team’s excellence. Maintaining that begins with quality assurance.

Software is a Business, Run it Like One

Great software is not defined by delight. Great software is a measured outcome like any other business unit should be; with SLAs and KPIs. Your vision should include your tolerances. Enterprise-grade, Commerical-grade, and Carrier-grade: there are many standards out there. What is your standard? What contract do you have with your consumer (written or otherwise)? Once you have your standards, we need to understand the different layers of missing them. What is a P1 vs P2? These thresholds will set the bar of quality of your software. They will allow you to compare individual output to team outcomes. Understanding your standards and your consumer base will enable you to create a test strategy. This is your bar. This how to define quality software.

Many organizations get held up on test automation. Automation is about helping resource management and being more efficient. This is an excellent goal for mature development. But if you first cannot test manually, then you are not ready for automation. Automation distracts many organizations from the purpose of testing – reporting. You need to know if you are making your standards so you can release. That is the most important party. Releasing software is the goal. Businesses expect releases. Testing reports, will tell the team they are ready to release. But they also provide more value. Testing results will also let you if you are resourcing correctly or “achieving velocity”. Do you have enough developers? Do your developers need more training? Who are your leaders? Do you need automation? Great software is made in the QA phase. Applying standards and data, allows software to be released on time, under budget, and with minimal defects.

Best Practices are About Managing People

Excellence in development all about applying best practices. Starting in product visioning. Applying agile development processes. Releasing with quality assurance. The trick to managing the software chaos is following best practices. This is not about the latest development tool. This is not the latest development language. This is not the latest process framework.

Software development best practices are about the people. Its about leadership having the proper data to make good decisions. Engineers focusing on excellence in delivery. You get this working, then ideas become experiences. And experiences change the world. Reach out to me if you ever need to change world, I have a team ready to help.

Gone are the days…

In this holiday season (2017), I happen to chat with a customer about change.   Why is innovation so hard?  The answer is change.  No where is change harder than traditional telecommunications CSPs.   The impact is starting to show, OTT services are growing and unstoppable.   Traditional offers are withering.  Hardware providers (NEPs) are also on the ropes.  A Business Insider articles states that “it’s time to say goodbye to the text message“. Papworth first used SMS texting in a telecom hardware provider (Sema).  He sent it to Jarvis, a telecom service provider (Vodafone).  As an aside, the first text was “Merry Christmas”.  Gone are the days that innovation comes from NEPs and CSPs.   Providers need to accept change.

Gone are the days of the text message

Personal Testimonial

If that chart does not help show it, how about a personal testimonial.    Below is the usage from my mobile provider.   My account (#1),  leverages OTT offerings all day long for voice, data, and communications.    When I am traveling between offices and meetings I use mobile voice.   I use data to check and send email.    If I am in the office, I am using wifi.    I am like many other mobile consumers.

gone are the days of simple mobile services

Then there is my wife (#2, don’t tell her).   She is always in motion and must be completely mobile.   There is no wifi available at the park or in the playground.    My wife texts because she does not have the time to dedicate to a long conversation.   She texts because she wants to communicate via groups.   Data is used because of facebook and pinterest.    My wife is like many other mobile consumers.

Maybe 5G will change things?   Maybe the next iPhone XYZ will break us both out of our patterns?   We can agree that how we use our phone is going to change.   Technology is a constant ‘game changer’.  I for one look for change, but does my service provider?   There is a lot of uncertainty in mobility. One thing is for sure, gone are the days that voice and text drive our communications.

Change in Telecommunications

What this means for telecoms?   The value of “change” needs to embraced.   Change means opportunity.    As the business insider chart shows, fewer people are using a 25-year-old technology.   Innovations by NEPs and CSPs are fewer than ASPs and OTT providers.   The reason is change.    Embracing change drives innovation.   Innovation provides market opportunities.   They also make consumers happier.

The road for telecoms is clear and many are already following.    First they need to embrace OTT, not fight them (remember net-neutrality?).   T-Mobile with Netflix is showing the way.   Sprint just announced partnership with Hulu.   Together providers can provide a single throat to choke and cement customers in.

Next, telecoms need to leapfrog OTT providers.    Telecoms need to get back to their R&D, pioneering days.    Verizon has made investment in purchasing Yahoo and AOL.    AT&T is acquiring Time-Warner.    This is a good start, but innovation needs to come to telecoms – before its too late.  Before we say gone are the days CSPs have control of their customers.

The text message is dead (SMS), long live the text message (Facebook)…    Gone are the days…

Shawn Ennis

About the Author

Serial entrepreneur and operations subject matter expert who likes to help customers and partners achieve solutions that solve critical problems.   Experience in traditional telecom, ITIL enterprise, global manage service providers, and datacenter hosting providers.   Expertise in optical DWDM, MPLS networks, MEF Ethernet, COTS applications, custom applications, SDDC virtualized, and SDN/NFV virtualized infrastructure.  Based out of Dallas, Texas US area and currently working for one of his founded companies – Monolith Software.