Planning

Ideas on Code Strategies

Posted by stephen on January 09, 2012
Applications, PHP, Planning / No Comments

This past week I have spent time thinking on some of the best applications I have built, and some of the “neediest” applications I have built. Some of them are in both columns. And I am sure this is the case with most developers. Some times, we get to be part of a major project, and get the best possible ideas, and then BAM, a product is released. After patting ourselves on the back and thinking of how great it is, we find special “features” that require updates or bug fixes. Had we just followed some simple steps during the build phases, I am sure we could have prevented that.

In today’s software development world, many phrases are thrown out there and used. We have SDLC, Agile, Waterfall, Extreme, Scrum, Feature Driven, Test Driven, etc. All of which are great when actually used. But how many places that use those terms are actually doing those practices? There seems to be a bigger practice out there, one that is used more frequently than anyone dares admit. This is a practice I refer to as the Atomic Development Cycle (ADC). I am sure we all have done this, either in its entirety or used many pieces of this.

Characteristics of the ADC can cover a wide range that seem reasonable and responsible, but fall far from it. The project is defined in generalities, and possibly some specifics. The design has been kicked around, maybe even pre-approved. The main data has been identified but not analyzed. The use cases have been discussed, not documented. Timelines are unbelievably tight but manageable. Code is dived into, and testing plans not thought of. The final product looks brilliant seems like flash of light. And it usually is just that, a flash of light, and not sustained. Soon, bugs start appearing. Enhancements require more fixing than actual functional coding. The database design turns out to be too strict and not flexible to the changes, so now Db design changed force more testing and bug fixes. Soon, band-aids are applied to the app, and the app is wrapped up in kluge code and an embarrassment. But since the business saw the initial brilliance, it still wants to use it, and now you are forced to go back, triage and rebuild.

Some projects force my hand into doing this, Other times, it could just be laziness or lack of caring about a personal project that would force my hand in this. With this new year, I need to be better about this. I know better. I know that not all apps are going to work well out of the box forever. But I do know that apps that follow a structured process that ensure the proper framework is in place will succeed more than the ones slopped together. Understanding the proper requirements of the application, even if they do change, is important. Getting the Database in order is tantamount to success. Designing the code is another gigantic step in the right direction. I need to be better and not let this get out of hand.

Yes, the ADC may work in some instances. And yes, they may provide for some awe-inspiring, mind blowing apps. But just like the atomic bombs, they may look brilliant for a short time, but the devastation they leave behind is never worth it.

SOAP Server and Client, now with WSDL

Posted by stephen on May 24, 2011
PHP, Planning / No Comments

Trying to get the post in for the day, and this is about the PHP SOAP service. So we have the array of items we need, and we are going to create some quick code for the server and client, but unlike nuSOAP, we do not get a great WSDL generator. So we have to create that ourselves. And it has to work. So that is going to have to work well for us. I have the base WSDL file ready. And it is late tonight, and I got to get a post up, so here is the link to my SOAP directory, and tomorrow we will get into the code and WSDL.

Part 2, with the code

And we are still here

Posted by stephen on May 23, 2011
Digital Marketing, Planning / No Comments

In thinking about the past week, and more specifically, this past weekend, there is one major non event that most people seemed to be tuned in to: The Rapture. Yes, the Family Radio group has been preaching for months now in their RVs that the end of the world was going to happen this weekend. It got a lot of air play, and spread like wildfire through the “internets”. Now Mr Family Radio has over one hundred million in his account, and many people were left here in the real world. For those of you keeping count, this is now the second time that Harold Camping has declared the world would end. We first hit that date in 1994. The proposed date, September 6, came and went without any great fanfare. But this is the day of over-information sharing. Here we are in 2011, and the new prophecy came out that the world was going to end on May 21. And the message spread rapidly.

He had a plan, a radio broadcast, and a site. Many other groups started to inadvertently spread the word, not because they believed, but because they were ridiculing this. So now we are here. The guy was 0 for 1 and still people believed him. No matter what your religious persuasion be, I think one thing we can agree on, is humans are not that bright to figure out what a deity may be thinking or planning. Heck we have been on this planet for (at the very least 3000 years), and no civilization have been able to figure out “the gods”. But it did not matter with this. People wanted to believe something. They followed this guy because of his message, his charisma, his leadership and unwavering belief that this event would occur. And it did not. Now comes the time of denial and flabbergasted responses.

So what positive lesson can we learn from this event? One thing I can take from this is a company has got to give the public something it believes in. This is mainly for the smaller businesses, but can also apply to bigger businesses. Many times a business will just push products out and not really put the belief in the product. Have a plan of action to promote the product along avenues that suit your targeted demographic. Camping did not buy air time during the Fox Business Channel market watch, nor did he get time with leaders of the world, or powerful business men. He went around in RVs to people whom he felt would be receptive to the message. He was not ostentatious about the message either, he appeared humble, and kept the message on a level for mass understanding.

Now, I am not saying go out and be evil about the marketing, nor am I saying put the fear of God into people so they give you money. Be practical about it, message it properly, and believe in what you do. Yes this whole campaign by Family Radio was big, but it flopped. And that is the next biggest lesson to learn from this whole non-event. If you are going to make promises, deliver when it comes time to deliver, otherwise do not promise anything you can not reasonably deliver. That will kill your business quicker than anything else.

Now will Family Radio recover? Possibly. Remember this is the day of over-information. We will laugh about it, and we will keep it in our consciousness for the next few days, then it will be “so last month”. And there will be the next major gaffe about to happen. Just make sure it is not you or your business that is on the receiving end.

PHP Web Service Example Set Up

Posted by stephen on May 17, 2011
PHP, Planning / No Comments

In a previous few posts, I posted examples for the NuSOAP server. Now it is time for the intrinsic PHP SOAP web service. This will be a quick post for the server and client, as they are easy to do. The hard part will be the WSDL document. With NuSOAP, it created a WSDL for you, but with PHP SOAP, you must do the WSDL yourself. Be sure to read up on the documentation at PHP.net.

So first off, we need to create a few ideas on what we will return. This will be a simple example with data returned. So for the data set, we will return an array of colors, and an array of named pairs for boys/names and girls/names. Two simple methods to the service, and we need to build the client as well.

So this post will only be the set up of those, and maybe next week I will post the actual server and client code. So for now, here are the data arrays we are going to work with:

$colors = array(
	'blue',
	'green',
	'black'
	'white',
	'yellow'
	'red',
	'beige'
);

$names = array(
	'boys' => array(
		'stephen',
		'dave',
		'ryan',
		'brian',
		'chris',
		'tom',
	),
	'girls' => array(
		'elise',
		'sheri',
		'kim',
		'marci',
		'megan',
	)
);

And we will need the WSDL file in place. So the basic layout for this webservice server will act like this:
1. All calls to the colors function will not take any type of parameters, it will be:

$webservice->__soapCall('getColors')

2. Calls to the names function can be one of three options: both, girls, boys:

$webservice->__soapCall('getNames', array('boys'))

3. Both functions will return some type of message header and array of returned data.
4. The data is set up above, and the structure will be the same.

Now knowing this, if we get the WSDL set up and working, then the service will work. So next week, I will show the WSDL, the Server and the Client.

Part 2 including the code

Will you really know what it takes

Posted by stephen on May 16, 2011
Ideas and Sorts, Planning / No Comments

So I am entering week three of this month and trying to get things completed. So here is the latest in the line of items that will be done this week:

Monday – Will you really know what it takes; Planning ideas and thoughts
Tuesday – PHP Web Service Example; focusing on coding
Wednesday – Facebook, Foursquare, Twitter oh my!; ideas and code segments for people like me, social lepers
Thursday – I am Here; examinations on location services, social integration and strategy
Friday – Funny quotes; fun stuff to finish up the week

For today, it is going to be short, and more of something to think about. Someone asks you to do something. You have this project in which you need to rely on other groups and other people to help complete the project. Will you really know what it takes? Sure, we may really be in tune with what is out there, and we may understand our part in this, but when we start to get more people and other groups involved, it can become a little confusing as to what it will really take. These other groups may not have the time or resources to work on this project right away, so that may introduce more meetings and political suave to convince a different set of executive management to understand your project. Time allowed for the work to be completed may be a question that comes up as well.

What about your own personal time? How much do you have on your plate, and how interesting is your work? Is this new project something you see as wonderful, and a challenge that is good? Or is it more of a mundane routine you are seeing yourself increasingly doing more often? Is your heart in the project, if it is not, how will that affect the effort you put in? When everything is said and done, your name will be associated with this project, in some way shape or form. Is this something you will be proud of, or will it haunt you later in your career?

Two People Get On an Elevator

Posted by stephen on May 09, 2011
Ideas and Sorts, Planning / No Comments

This week it is going to be a little different for all posts. I am still going to follow the format from the past weeks, but all posts this week will be 400 words or less. Including the code posts I will be doing.

Up for this week:
Monday – Two People Get On an Elevator; Planning ideas and thoughts
Tuesday – Count the Number of Cakes; focusing on coding
Wednesday – Who Do You Like; ideas and code segments for people like me, social lepers
Thursday – Following the Yellow Brick Road; examinations on location services, social integration and strategy
Friday – 400 Words to Madness; fun stuff to finish up the week

Some of the best ideas are planned in 400 words or less. At one company, this was called the elevator pitch. You have that short of a time to sell someone on your idea. Have you planned it through? Do you even know what it will do beyond your own comprehension? These are things to remember when trying to plan for the pitch. Not everyone is able to just quit their job, work on their own project and be able to fund their ideas, equipment to get up and going, and market this thing. Many people need to have some kind of investor(s) backing. So how would you sum up some of the greatest products in less than 400 words.

One semester I had to come up with ideas to do this. We had to take products that already existed, examine what they did, what benefit they provided, and why they were in demand. These products were not necessarily ones that we knew of. And we had to present these benefits to the rest of the class, and had to do it in under 4 minutes. We could not talk fast, and we had to be coherent. Our grades were going to be determined by anonymous feedback from the rest of the class. If the pitched worked, we would get good grades. If not, we would fail.

In the real world, it is much the same. You have about 400 words to sell your idea. You have made the plans, models, diagrams, etc. Now you need to get someone to back this idea. Much like everything else, you must plan for this. Highlight good points, ROI, and ease of use. Practice on other products. In 400 words, describe the product and your vision.

Measured for Success

Posted by stephen on May 02, 2011
Digital Marketing, Planning / No Comments

Keeping in the theme from last week, every day will have a specific theme, and I will keep the same ideas of last week. So without adieu, here is this weeks plan:

Monday – Measured for Success; Planning ideas and thoughts
Tuesday – You Did What?; focusing on coding
Wednesday – I am Not All Alone In the World; ideas and code segments for people like me, social lepers
Thursday – Everywhere and Nowhere; examinations on location services, social integration and strategy
Friday – Riddle Me This; fun stuff to finish up the week

Birds Fighting Over Food

Image courtesy of Ducklips Photography

And today’s topic is figuring out what is the measure for success. If we look at last week and my posts, I wanted to have a post every day of last week, and I got through Thursday. I missed Friday, and that should have been the easiest one to do. So based on my own goals, was last week a success? I would have to say no. I put a goal of 5 posts in 5 days. I did 4 posts in 5 days, so I fell short. And that is what is important to understand when trying to plan a new application: what is the measurement for success, and can it actually be measured. When planning for an application, it is important to understand what will define the success of the application. It is much like a goal. It should be conceivable, achievable, measurable, and desirable (others do exist, but these are important when planning on gathering statistics). Another important part of this measurement is the fault tolerance allowance. This includes the level of error, or missing the set goal, that you are willing to accept. For this, let’s examine two different scenarios.

Continue reading…

Whats the plan, Stan

Posted by stephen on April 25, 2011
Ideas and Sorts, Planning, Social Media / No Comments

After nearly a month off, I believe it is time for me to institute a new way I am going to blog. Topics range from a ton of different items, and I think we should have a specific way of what I am doing. So, starting today, and hopefully I will have enough time with this, I will be doing a post every day of the week. Some will be longer than others, and some with be short. But every day, there is a theme that will be followed. The format will be as follows:

Monday – Whats the plan, Stan; Planning ideas and thoughts
Tuesday – Have your Cake and eat it too; focusing on coding
Wednesday – Coding for the Social Leper, ideas and code segments for people like me, social lepers
Thursday – Focus on the Locus; examinations on location services, social integration and strategy
Friday – Fun Stuff to Knock Your Socks Off; fun stuff to finish up the week

Now, the next question ought to be, what makes me such an expert on any of these topics? Well, here is the answer, nothing, I am not an expert. These are my musing and experiences in these areas. I may be right on some of my endeavors, and I may bomb. I will share both with you. I figure one of the best ways to learn and grow is to share experiences with each other. And this is what I am intending to do, share my experiences with anyone who cares to read.

So lets get on with the post for today – Planning. This goes with any thing you want to do. Whether that is code, a social media strategy, or marketing campaign, heck, even mowing the lawn. I will share with you some of the things I do before writing any code for an application. There must always be a start to everything, so lets start with the basics. This will be a very high level overview into some of these items, and will get more detailed as the weeks go on.

What is really needed for the project at hand? Do we know what the goal is, how it should act, behave, grow? Has any research been done. In code, one of the things I like doing is understanding how an end user is wanting to use an application, what they expect. I go through interviews, process flows, and even user stories. This can be applied to almost everything else. We need to understand what it is that needs to be accomplished, and why it needs to be accomplished.

Next is to understand what success and failure metrics for this project. What needs to be tracked, and why. What is important to business groups and why would it be important. What is the success boundaries, and what consists a failure? I like to understand each of these items so I know what to plan for in the code, in the campaign, in the project. Statistics can be a real bugger if it is done at the very end. And it may affect how an application is coded, a project assigned out, or a campaign run.

Once we have these ideas in place, we can start with the next phase of planning, and that involves the documentation, the project write up, and the use cases, mock ups, design sketches, etc. Which can be very time consuming. This is what makes it hard to go this route for many companies. Time means money on a lot of ventures. Not just the money of paying people to do this, but the residuals that involve this as well, electricity to power laptops, internet connections, travel, focus groups, phone charges, etc. This phase can have a lot of monetary impact while yielding very little ROI. So it is finding the right combination of events to maximize those events, and get into the actual work quickly.

Planning is essential though. And it should not be passed over or taken lightly. Think of some of the major applications, or ads, or products out there. Each one of them required a ton of planning, and it paid off. The Old Spice commercials are amazing, and that could not have been slopped together quickly. Most online applications are ones that are well planned, and you can really tell the difference between the ones that are and are not. Companies that are successful plan. But a final word of caution on planning: Do not let it consume you to the point of where you lose focus on the final product. You can plan things to death. Find that perfect balance that works for you, and run with it.

Tags: