Friday, October 10, 2014

Sprint Review

How about that. I haven't written in this blog in over a year. I suppose I have some legitimate things that may have caused this lapse. Probably the first thing on the list is lack of diligence, but I'm back. For now at least.

In software engineering agile development uses something called a Sprint Retrospective. Basically, your team looks at the work originally planned into the sprint, and then compares that with what actually got done. It's a concept of continuous improvement. How do we get better at estimating a sprint and then how do we get better at execution?

I think that the same thing applies to our lives in Christ. As we work on the things the Holy Spirit compels us towards, we should take the opportunity to reflect on the good parts of how we followed through, and also reflect on how we can do better during the next "sprint." We have a best practices guide in our Bibles, we have a product owner in God and we have a scrum master in Jesus. We need to rely on all of these things to have the best sprints we can in life. And in all these things we even get to have our daily scrum stand ups with our prayers and devotional time.

I'm still figuring out how God needs me to work on His scrum team. We all need to adopt the continuous delivery mindset... To always strive to improve our impact as Christians the way God would desire for us.

Thursday, September 5, 2013

God, the Product Owner

Who is your master - Sin, or Jesus?
I James, am a slave of God and the Master Jesus, writing to the twelve tribes scattered to Kingdom Come: Hello! Consider it a sheer gift, friends, when tests and challenges come at you from all sides. You know that under pressure, your faith-life is forced into the open and shows its true colors. So don’t try to get out of anything prematurely. Let it do its work so you become mature and well-developed, not deficient in any way. James 1:1-7 – The Message 
In a software development environment, the role of Product Owner has an important job to do.  There is something called a product backlog - which I will touch on very briefly here - that the Product Owner is responsible for adding items to, removing items from, and prioritizing items in order of importance for working on.  Consider this as the master to-do list, the one that the entire team looks to for work to do, put in order with the most important things on top.

God is the product owner.  God informs us of the most important things in our lives that He wants from His team. During prayers, and during other times, it is up to us as His servants to ensure we're working on the right things in the backlog.  Thankfully, we have an open view of His backlog - it is not a secret for us, He makes it very clear what He wants, and when He wants it.

So, as I sit here considering the concept of a God-Product Backlog, I wonder what the first thing on my list is, in terms of things that are not yet on my "in progress" list. I think as Christians it is not enough for us to be content with what we're already doing, but also to look for things that we could be doing in the future.  God's product is "Humanity", and His message must be spread to all of His creation about His Son, our Savior.

So, I recently took something off of the backlog, and it's now in progress.  Actually, the thing that's in progress is a pretty discrete item - explaining why I see God as the Product Owner.  If the task had a title, it would be "Write a Blog Post About God as Product Owner".  It's description would be, well, you're reading it's description right now.  It has high priority, at least I think it does, because I feel inspired by the Holy Spirit to write about it.  In fact, all of this writing is coming to me easily, mostly because He is in control of it, and I know the Agile process well enough to help Him for my words.

Seeing as I've been inspired to talk about the Agile God, the interesting thing about an Agile backlog is that it's not static.  At any given time, the Product Owner can evaluate the product backlog items, prioritize it, add items to it, and remove items from it. It's also up to the Product Owner to ensure that when the team, or the scrum master, have questions or concerns that they are managed as swiftly as possible.  If the action item requires it, the team and any interested members can leave notes on the action item for the active team member to consider.  Interestingly enough, all of our product backlog items also have notes in them - in the form of The Bible.  Sure, we could rely on other members of our team to provide us with additional notes, but to hear His message for Your life, first, pray, then devote time to The Bible.  It's helped provide me with clarity about this idea of Agile God.

I've not yet really expanded my horizons for the "God" part of the Agile God concept, outside of using The Bible for inspiration on how to tie my ideas about agile development into my faith.  Of course I would certainly welcome any and all feedback as I start this journey with God and Christ, as my understanding of both God and Agile development can certainly gain more subject matter expertise.  I'd hardly consider myself a prime authority on either subject.  That said - I'll go back to the product backlog, and how God is in control of the Life product backlog.

Challenges, triumphs, defeats, war, peace, and all of the things that God has declared have their time and place, have been put into His backlog.  Who knows, this conflict with Syria is floating around in His backlog, too.  I don't know how He has prioritized military conflict in this Syria situation, and I know that God would not advocate bloodshed.  However, He knows why this Syrian issue is happening, and He knows the best way for it to better serve His plans.  Hopefully the people involved in the critical decision making process are praying about their questions related to their "in progress" faith tasks.  Hopefully they've gone to The Bible to find His comments about what is happening.  And, hopefully we, the people of God, have enough of a voice to have it heard in the places where it needs.  For, another concept of Product development is team size.  The ideal team size, as studied for optimization, sits at or around 7.  Which is interesting, 7 is a very important biblical number.

There's no possible way that in a nation of millions that we can all assume that one person can be truly held accountable for all of our deeds. Jesus was the Son of Man. No human can make that claim.  We need to start taking the time to look at Product backlog of life and making sure that we're delivering the most valuable items to God, as He has called us to do.  And, we also need to rely on those that are absolutely closest to us to help keep us accountable to Him.  And by closest, I mean the people that know every little thing your life in Faith includes.

I don't know what is in your backlog. I don't even know yet everything that is in mine - probably because it's not been fully formed yet, neither has yours.  I do know that I can trust the people I'm closest to to keep me accountable for the backlog items I choose to work on.  I'm doing my best to open up my life to the people closest to me for inspection and constructive criticism.  It's really the best way to prove that I am worthy of calling myself a Christian Man.

I think I'll focus next on the second part of the trinity, Jesus, who I see as the Scrum Master.  As a brief snippet, the Scrum Master is the liaison between the Product Owner and Team - removing impediments that get in the way.  Here's a hint - our impediments are called Sin. We all have them, we all do it, Jesus makes sure that God understands that, while these things are not the right things for us to be working on, He will help us course correct, because He has taken responsibility for our Sins.  Thank God and Jesus for that.  I'd hate to be on any development team that didn't have a good working relationship with the Product Owner.

Sunday, September 1, 2013

God for Geeks

Simple Scrum Diagram
I think it helps people have a good relationship with God if they create a personal metaphor that gives them a more direct perspective on His work, and His plan.  In the case of most of the faithful I know, they also happen to be passionate about writing computer software.  One of them even gave me a great idea for helping me shape my personal understanding of God a little better, which could easily turn into multiple blog posts spanning several paragraphs.  See, something I'm extremely passionate about is the concept of agile software development, specifically in the desire of moving towards continuous delivery.

I was having a faith conversation regarding predestination and free will with a fellow developer who I'm also working on agile practices with, and came to an interesting theory.  God, to me, is like the ultimate agile developer - He definitely gave each and every one of us the free will to work on his Life product however we so choose, and while he has every single epic perfectly planned, the sprints that we go through do not get planned until it's implementation time.  He even has a great backlog of user stories that he has certain individuals assigned to.

I italicized some terms that are part of the concept of agile development, I can, and will, write about God as a Product Owner (another one of those buzzwords), about how Life is a product, not a project - also an important distinction - and all kinds of other things that combine agile development theory with my strongly increasing faith.  I don't know yet how long this blog series will carry me - I'm not really doing it for me, I'm doing it because He assigned this user story to me, and He wants me to carry it out.  I'm going to do my best to move out of His way, and let Him work through me and my understanding of software development to explain His purpose for me, and for Life.  I don't know yet exactly where this journey will take me, nor do I know all of the technical implementation details of the user story.  All I know is that the final result will be His story, told through the eyes of a developer that loves Agile practices.

I'm not sure yet what a good starting point would be.  Scrum is a simple concept, with so many complex and interacting components that each one could certainly grab my attention for the length of one, or possibly many, blog posts.  I guess I just need to move out of the way and let Him give me some guidance on where to start first, seeing as He is the Product Owner (He owns Life) and His Son is the ultimate Scrum Master (Jesus removed Sin as the ultimate impediment).  Maybe that's a good place to start - explaining what a Scrum Master is, or what a Product Owner is, and explaining why I see God as the Product Owner of Life.  I'll pray about it a little bit, but I've been inspired by the Holy Spirit to keep working on this - and while He is patient, He also has a reason for calling people to action.  Thank God for his inspirations!

Saturday, July 20, 2013

Mashed Potatoes

Short side rant: Shame on Facebook and YouTube for their initial response to this movie trailer.  Glory to Him, humans can't take away His message, no matter what. God wanted this message heard, YouTube and Facebook are not big enough to get in HIS way. That trailer is obviously now back on YouTube, after originally being banned.

This has nothing to do with my mashed potatoes post, and yet it also has everything to do with my mashed potatoes post.  I was working on preparing potatoes for becoming mashed potatoes.  As I peeled them, cleaned them, and then cubed them, thinking about God along the way, it struck me as a fitting metaphor for The Christian Church (or The Body of Christ).  Every potato (human) is a little different.  Preparing potatoes to become mashed (humans for heaven) requires peeling (saving).  Christ is the potato peeler, the peels are the Sin of humans.  As the potatoes become peeled (saved) - some of the dirt from other peels gets on the peeled potatoes.  When Humans come into contact with Sin, we once again become tempted to Sin (potatoes get dirty again).  Jesus is also the faucet that washes off the dirt - He's multifaceted like that ;).  Once the potatoes get mashed, it becomes a uniform (tasty) mass that all support one another.  However, the cook (God) notices when one of the potatoes is missing, the body is incomplete!

I apologize if the metaphorical mind of mine went on a really wide tangent that I'm doing a terrible job explaining.  However, Kirk Cameron is a potato.  So am I.  Someday, we'll all be a part of the Body of Heaven, mashed together for eternity in one quite scrumptious future!

Thursday, June 13, 2013

Code Life Review

So, one of the wonderful things that I get to do at work these days is take part in code reviews. I show off my code, good, bad, or otherwise, to people that have an interest in the code I'm writing. They show their code to me. And, we can point at things in the code and actively direct attention to good code, and code that could use some constructive improvement.

 The thing we get to do with code reviews is make changes, in almost real-time, to correct mistakes. We can append additional changed files to the ones we originated a review on, so that we can show exactly where we improved anything somebody listed as a "defective" portion of code. We get do-overs, and it works well to make our code significantly better. The code we write tells a better story about the team we are on when code reviews are included.

 When we sin, we are showing the human defects in our lives. God is the primary code reviewer in our lives - he knows exactly what it is that we've done that doesn't "follow standards" and he definitely knows all about the "unsafe practices" or "pattern violations". The thing is, His people didn't get a chance to do a code life review, sin became a permanent part of their lives. Then Jesus came along. Guess what, even when we do screw up (we are human after all) He goes through and makes our code lives clean. Sure, the evidence of our sin sits on our soul. But, we get to apply a change-set any time sin happens. Jesus gives us that chance and that love. How about that :D. Amen.

Tuesday, May 7, 2013

The Black Spot

Though not perhaps the most well known of all literary devices (possibly more popular thanks to Disney), The Black Spot represents, in most cases, a curse, an imperfection, or some sort of other ill will.

As I was working on a drawing I am doing, sitting with my daughter as she colored on her dry erase easel, somehow or another a little black dot from one of her markers made it onto my very carefully planned and worked pencil drawing.  It's obvious.  It's gaping.  It's a black spot.  And, it's beautiful.  Because, it reminds me that God - a much better creator than I - knows about each and every one of the black spots in His creation.  That's what we call Sin.

I plan on using all of the capacities I have as an artist to make the black spot go away.  Most likely, nobody but me will know it was even there, once I'm finished.  But - the spot happened.  The great healer - Jesus Christ - came to get rid of all of the black spots in the creation of His Father, and our Father.  Most of the black spots we have, He knows about, but His eraser - the Son, got rid of them for us so that we can be with Him again.

I'm thankful for the reminder that even black spots are an integral part of creation.  They can be managed, they can be dealt with appropriately.  But, only through the great eraser that is Jesus, can they be erased and forgiven.  I'm still learning how to draw around black spots.  And, I'm still learning how to accept forgiveness for my sin.  But, through Him, we are all forgiven.

Amen.

Thursday, April 25, 2013

God Trusts Us


Whoever is faithful in small matters will be faithful in large ones; whoever is dishonest in small matters will be dishonest in large ones.” (Luke 16:10)
God implicitly trusts us with many responsibilities as we live out our mortal lives.  Some of them will be obvious to us, such as parenthood, careers, friendships, all stemming from some of the most important relationships we have.  However, sometimes we have to remember that He trusts us with all kinds of things, even the not-so-obvious ones.

The best example I have of this right now comes from my workplace.  We just recently stared down the throat of a lion, and the lion decided it was better just to leave us alone.  Working in the  software industry, sometimes we come across "show stopping" changes, sometimes they are bugs, sometimes they are software features that "got missed".  Our project is 1 week away from being production ready.  A show stopper showed up at our doorstep earlier this week.  God trusted me to handle this issue with integrity and dignity, hopefully I made him proud.  We've decided on a 2 step process.  We'll put in a quick fix now, and then follow up with a more in depth solution once our original solution is successfully seated in our production environment.

I slipped up a little bit while dealing with this show stopper, because I forgot to open my ears and shut my mouth.  God helped me get through the whole situation, though - and gave me the strength, courage, and wisdom to keep the team members I'm leading from having to deal with significant overtime and / or a missed deadline.  I also thank God that the project manager on the project helped us to mitigate any major scope explosions, as it could have easily turned into that.

Compared to dealing with a family health situation, dealing with a conundrum at work is simply one more test that God trusted me to pass.  Dealing with the family health thing was a little bit anxiety riddled, too - but it is now behind us as well, and His strength did not fail to see us through it.

I'm sure there's lots of little things I don't know about that God trusts me with. Thank God for His trust in all things.