![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
I'm continuing to think about ways I could contribute to the local tech-entrepreneur scene (which led to yesterday's question about basic programming principles). It occurs to me that it might be quite useful to give a talk on "The CEO and the Successful Software Project": what the CEO (especially for a startup) needs to know about managing an Agile software project, what they need to provide to the team, and what they can and can't reasonably expect from it. A large fraction of the entrepreneurs I'm meeting don't have any formal tech background, and probably mostly don't know this stuff.
(Note that this is specifically Agile from the upper-management viewpoint, so it's all about the "API" of Agile. I love pair-programming and automated testing and all that, but they're mostly irrelevant; OTOH, the rationale for the story stack, sprints, and the customer representative are vitally important.)
So I started thinking about what I might say, and this was one of the first things that came to mind:
That quickly led to:
Do folks have other suggestions along these lines? I'm curious how far we can carry this metaphor before it breaks, while helping to illuminate the realities of software projects from the management level. And more generally, what would *you* like the CEO of a small software-focused company to understand?
(Note that this is specifically Agile from the upper-management viewpoint, so it's all about the "API" of Agile. I love pair-programming and automated testing and all that, but they're mostly irrelevant; OTOH, the rationale for the story stack, sprints, and the customer representative are vitally important.)
So I started thinking about what I might say, and this was one of the first things that came to mind:
The Uncertainty Principle: you can fully understand your feature set or your schedule, but never both. The more precisely you try to understand one, the less confidence you can have in the other.I believe that's a straightforward lesson from the history of software development.
That quickly led to:
The First Law of Project Motion: the more precisely you attempt to understand the full scope of the project, the more inertia you add to it, and the more slowly it will move.I'm liking this general approach -- it makes for good, pithy slides that I can then dig into and explain *why* these are generally true.
Do folks have other suggestions along these lines? I'm curious how far we can carry this metaphor before it breaks, while helping to illuminate the realities of software projects from the management level. And more generally, what would *you* like the CEO of a small software-focused company to understand?
(no subject)
Date: 2016-05-12 06:35 pm (UTC)Want to optimize number of bugs found? An infinite number can be found. Bugs closed? An infinite number can be generated and closed. Tickets resolved? They all get resolved, and customer satisfaction plumments. Low customer support call time? Hangups happen. High customer support survey scores? Cost of customer support skyrockets. Number of deals closed? Sales has promised discounts you can't support. Size of deals closed? You won't have any new small and medium customers.
(no subject)
Date: 2016-05-12 06:39 pm (UTC)(no subject)
Date: 2016-05-12 08:52 pm (UTC)(no subject)
Date: 2016-05-12 07:01 pm (UTC)Reduce their decision-making ability and their responsibility for success or failure is similarly reduced. Reduce their responsibility and they will make fewer (or smaller) decisions.
--
TANSTAAFL: if you pay for an outsourced service, at scale it will cost more than doing it yourself.
Simplest example: if you need the full scale, owning a datacenter full of servers is cheaper than renting large amounts of DC to put your servers in, which is cheaper than renting managed servers, which is cheaper than renting dedicated virtual machines, which is cheaper than renting spot-instances of VMs. Most companies do not need that full scale.
(no subject)
Date: 2016-05-12 08:54 pm (UTC)(no subject)
Date: 2016-05-12 09:03 pm (UTC)(I suspect the right metaphor has something to do with relativity, and the optimal number of programmers for a project being like the speed of light, but I'm still playing with this one...)
(no subject)
Date: 2016-05-12 10:30 pm (UTC)Management always wants to know more and will burden an at risk prohect with additional reports and briefings such that it will become even later as the project leads are spending all their time briefing management, not helping to fix problems.
(no subject)
Date: 2016-05-12 10:36 pm (UTC)(no subject)
Date: 2016-05-13 03:07 am (UTC)(no subject)
Date: 2016-05-13 12:13 pm (UTC)-- Pro: if you are building something similar to what a consulting company has already built, they may have much of the expertise and tech staff ready to roll.
-- Con: you probably aren't their only customer, and their attention will, likely, be split.
-- Pro: your uncertainty is somewhat reduced if you can hire an experienced team who have done something similar to this before.
-- Con: make sure you own your IP! Don't wind up forever dependent on a third party!
-- Con: odds are good that you will wind up with no in-house expertise about the tech. If so, make sure you are *very* comfortable with the relationship here. No matter how good it is, the app will require ongoing maintenance and enhancement: make sure you know how that works.
-- Be very cautious about off-shoring. Do not underestimate the communication challenges involved in working with a team in India or Russia, both in term of language and timezones. *Many* projects fail because they are too optimistic about this, and even the successful ones often find that they don't wind up saving nearly as much as they had expected, overall.
Other points, pro and con?
(no subject)
Date: 2016-05-13 12:23 pm (UTC)"My suggestion ... your axioms, which are good, still only address execution. The first and greatest challenge for a startup is conceptual, exactly what capability and in what form will you bring to market? Much of the churn in early stage companies is indeed from specs changing, but they are changing because the business questions were never settled and the organization is adapting or compensating. Too typically the adaptation happnes in haphazard fashion.. I guess my point is, without clarity on the business side and awareness that evolution/adaptation are necessary part of the process, no Project Mgt model will give good results."
This is an extremely important point -- the single greatest predictor of startup failure, in my experience, is when the company starts to "thrash" its business plan. Indeed, the greatest failure I've worked at was the company that changed its business plan repeatedly -- it's probably not accidental that the same company never had a clear vision of the product, and never had anyone really in *charge* of the vision, with the result that we were all moving in slightly different directions.
As CEO, your job is Leadership. That doesn't have to (and shouldn't) mean bull-headedness -- it's quite common to find that a pivot is necessary at some point -- but you should have a clear vision about the business plan and a clear *direction* for the company (even if it tacks a bit as reality sets in). And you need to make sure that *somebody* (maybe you, maybe someone else) has the right and responsibility to translate those business requirements into product requirements in a clear and reasonably consistent way.
I should note that one *big* win about this annoying process of starting to raise funds is that it has forced me to pay more attention to Querki's business side. That, in turn, has led me to focus more specifically on Querki as a *community* tool first and foremost -- while it is and probably always will be good for personal projects, I think we're going to prioritize making sure that it really sings for communities and small businesses. That's what makes most sense for Querki as a business, and it's where I believe the need is sharpest...
(no subject)
Date: 2016-05-13 02:15 pm (UTC)Suggestion: Carry around a copy of that recent XKCD on algorithmic complexity.
(no subject)
Date: 2016-05-13 03:07 pm (UTC)Querki manages the hidden complexity of the everyday stuff, including coordinating those people in that church in Nebraska.
(no subject)
Date: 2016-05-13 03:26 pm (UTC)(no subject)
Date: 2016-05-13 03:27 pm (UTC)(no subject)
Date: 2016-05-13 03:31 pm (UTC)(no subject)
Date: 2016-05-13 04:46 pm (UTC)(no subject)
Date: 2016-05-13 04:52 pm (UTC)(no subject)
Date: 2016-05-13 03:15 pm (UTC)