Test-Driven Business; have you ever codified all levels of a business and seen a link from the business strategy down to your code commits? Total transparency by way of Business-As-Software?

Has anyone worked in an environment where an entire business was run following software-development practices? Where your code commits could be traced through the developer hierarchy (feature, epic, user requirements, etc), all the way up to the strategy for the business? Something to show the impact of business strategy/policy on your features? Could you think of a way to codify an entire business so that you literally adopt test-drive-development and CI/CD methodologies for running the entire company?

(Note that I am currently unemployed and am doing a lot of hypothetical thinking right now. So this is not a request to profit my company. It's just something about companies that bothers me and I'm spending some cycles to see if it could be done.)

Here's a thought experiment of how I'd like to be able to track a bug in a new feature back to the CEO not hiring more developers:

  1. There's a bug in a feature,
  2. The feature was part of a sprint.
  3. The sprint has x story points which are governed by the epic and the software development resources.
  4. The software development team has 25 people, meaning they have x amount of points per sprint.
  5. The software development team was affect by the business choosing not to hire 5 additional people.
  6. Those 5 additional people were not hired because net profits dropped 5% in the past 4 quarters.
  7. Net profits dropped 5% because the CEO purchased some other company.
  8. The CEO purchased that company because there was a gap in the company product stack and a large market opportunity.
  9. That other company needed reorganization which caused unplanned expense.
  10. The CEO was hired 3 years ago.
  11. The CEO hiring was recommended by 2 of 8 board members
    …and so forth.

I really want to figure out how to get ALL of that in to code and to run a business like a giant web-service. I want a NOC for the business. I want a dashboard showing decisions made. I want to drill down in to people to see their properties and a dashboard that tells me how effective they are. All of that programming is doable. I'm just trying to think about what sort of language to use for documenting everything. A language that an HR person or a Sales Exec could be comfortable in using. I want every non-programmer in the business to be writing meta-code and checking things in to git. There are a lot of disjointed languages and models for different purposes. I'm trying to find a single language for the entire business; not for software development, outside of the development teams, at the business. But I want the software developers to link their code back to the business code. The business code is probably just a ton of objects and workflows; it doesn't do anything, it's the definition of everything. Then software developers would use their appropriate languages for writing tools to read from and update the business code and build automation and dashboards and metrics based on the business code.

I literally want to have it written in code somewhere that the reason why we develop a software product is because it supports the mission of the company.

I can definitely imagine how to build out the business as software in Jira. The mission of the business is the EPIC. That EPIC has initiatives and stories and tasks for things like HR and Facilities and Accounting and so forth. All of those entities work against Jira tickets and commit to a git repo against those tickets. We could define a lot of this in Jira. But I don't get any analytics data out of that and I can't write tests against it. One example of a test would be for hiring a new developer. Hiring is a standard operation. A job req. would essentially be a smoke test. HR would commit a new resume against the smoke test and see if it passes. If it passes then they would merge that person with the hiring branch and the hiring people would check out the new applicant-objects and see if they fit within their own models.

Instead of a person getting a performance improvement plan from their manager, they just have a bug reported against them. The bug is resolved by sending the person to training. If the problem happens again the bug is reopened. You can run an entire business following SCRUM and software development tools and practices. (tweaking the words so that you don't call your people "buggy" )

Has anyone ever seen anything like this? If not, do you have any ideas on what language you would use to write business as code so that you could have tests against it and gather metrics from it and so forth?

Or am I crazy?

submitted by /u/Tahnka
[link] [comments]

from Software Development – methodologies, techniques, and tools. Covering Agile, RUP, Waterfall + more! http://bit.ly/2tk3Fh6

Leave a comment

Design a site like this with WordPress.com
Get started
search previous next tag category expand menu location phone mail time cart zoom edit close