Skip to main content

The Software Project Lifecycle

All projects follow the same lifecycle pattern, or theme. What varies from project to project is the amount of time between stages.
  • Embryonic projects consist of presentations, problem statements, solutions, Slack workspaces, and other forms of optimism. We can do this!
  • Infant projects consist of proof of concept prototypes built by at most three developers. There is no error handling.
  • Baby projects have a source code repository and programming guidelines. It might be possible to run it on your own laptop. Fat chance.
  • Toddler projects have automated builds and unit tests. They “go live,” always too soon.
  • Tween projects have bug tracking systems. Users are unpaid testers.
  • Teenage projects have a release candidate that evolves, usually much longer than anyone expects, into the sacred “one dot oh.” Most projects fail during this stage due to infighting or insufficient funds.
  • The teenager ages into adulthood via 1.0 patch releases and then eventually into 2.0. Quality and revenue are reliable.
  • The project regenerates itself, Dr. Who style, with fresh new team members and code bases for hopefully many years of release parties
  • Old age sets in with attrition, competition, mergers, unmaintainable spaghetti, old technology, and security  breaches
  • Death eventually wins 💀 

Comments

Popular posts from this blog

Running 2560x1080 on LG 29UM57-P on an old MacBook Pro OSX El Capitan

Yes. A mid-2011 MacBook Pro running OSX El Capitan can drive a 2560x1080 monitor via HDMI. I was not able to get 60 Hz working. I am settling with 53 Hz. I tried many settings before finding something that works. The refresh rate seems fine to me. Maybe the text could be clearer but for a $200 monitor running this resolution, I'll take it. Apple MacBook 2015 retina resolution is 2560 x 1800. Consider buying a better monitor that may literally give you fewer headaches. Install  SwitchResX Follow the instructions for disabling SIP After rebooting, run SwitchResX via System Preferences Select your LG monitor Click Custom Resolutions Click the + icon  Enter these settings  ( source ) Exit SwitchResX and save Reboot Run SwitchResX via System Preferences Select your LG monitor Click Current Resolutions Select the 2560x1080, 53 Hz setting Enable SIP If you discover better settings, please leave a comment.

MySQL: This stored procedure inserts 'empty' rows into a specified table

This stored procedure accepts two arguments: a table name and a row count. It inserts the specified number of rows into the specified table. Of course, all columns in the table must either have default values or allow NULL. DROP PROCEDURE InsertDimension; DELIMITER $$ CREATE PROCEDURE InsertDimension(IN TableName VARCHAR(50), IN NumRows INT) BEGIN DECLARE i INT; SET i = 1; SET @sql_text = concat('INSERT INTO ', TableName, ' VALUES ()' ); PREPARE stmt FROM @sql_text; START TRANSACTION; WHILE i <= NumRows DO EXECUTE stmt; SET i = i + 1; END WHILE; COMMIT; DEALLOCATE PREPARE stmt; END$$ DELIMITER ;

Terris’ Easy Spicy Vegan Black Beans

Black beans are full of protein and smoky flavor. This easy vegan spicy black bean dish is delish solo and in Mexican classics. Serves: 6 Prep: 10 minutes (if you use canned beans) Cook: 15 minutes Ingredients 2 Tbsp olive oil 1 small yellow onion, diced  1 tsp cumin 2 cloves garlic, pressed 1 14.5oz can diced tomatoes or fresh alternative. Tomatoes are the key ingredient. Do not decrease the amount. 1 or 2  🌶🌶  peppers with 1 tsp sauce from a can of chipotle peppers in adobo sauce (such as from La Costeña). These peppers supply the heat. Try with one pepper first and upgrade if you dare (seriously though, they are pretty mild). Do not use the whole can! 2 15oz cans black beans without spices, drained (or start from dry - see you tomorrow!) 1 tsp black pepper 1 tsp salt, or to taste Instructions Heat the oil, onions, cumin, and garlic over low heat for 10 minutes  While heating, purée tomatoes, peppers, and adobo sauce in a blender or food processor Add tomato purée, beans, pepper, a