Sunday, July 27, 2014

Technical Documentation - The beauty of one-page documents

A lot of companies with technical teams do not invest into hiring technical writers. The job of great technical writers in under-estimated, but it all comes down to hiring one more software developer over a technical writer. If there were an easy way to quantify the value of great technical documentation, then more investment would be placed into this area.

Then it comes down to the existing team of software developers to write the documentation for the team. There are two types of technical documentations:

  1. Project documentation needed to benefit the technical and business team on the project and to pass all the audits
  2. Living documents (current state docs) that get updated to represent the current state of your systems

The project documentation is typically done because it is part of PDLC and it needs to be done to pass the audits. On the other hand, the technical team is not religious about the living documents because you have place extra effort and explicitly allocate time for it outside the project work. If you include it into the project itself then it affects the budget of that project.

The IT land is a fast-paced environment and we have to make compromises. At the end of the day, my recommendation would be to write one-page documents for different areas of your systems. One-page documents with diagrams give you enough information about the system to get rolling and the rest is up to you and technical abilities to dissect the code and figure out the rest; if you have clean code then the code itself is a piece of documentation. Even if you write longer documents, most of the people are not going to spend time reading them.

Therefore, take 5-10 minutes here and there and convert those unpolished notes and put together quick one-page documents with diagrams. Then one person on the team can take charge and create a sitemap of all these documents.

- almirsCorner.com -

#tech #documents #technicalwriter #programming #coding #softwareengineering #PDLC #SDLC #almirsCorner




Saturday, July 26, 2014

Clever vs. Proper programming?

Clever programming is clever, but is it necessarily proper? No, it is not. Typically when you are in crunch time, you come up with a clever solution given the circumstances, but it could be as pretty as a crowbar.

Proper programming is the right solution; it is maintainable and flexible enough to support the business changes.

Keep in mind that a clever solution can also be proper :)


- almirsCorner.com -

#tech #programming #software #softwaredevelopment #softwareengineering #programmer #coding #code 

Accept and Decline options in your email client - Does anybody use the "Decline" option any more :)

Accept and Decline options in your email client:

Does anybody use the "Decline" option any more?

Instead of clicking on the "Decline" button, a lot of us choose not to accept the meeting request and "Not accepting" means "Decline". On the other hand the meeting organizer assumes that you are coming to the meeting even though you did not accept it explicitly. I see this type of misunderstanding on weekly basis. The solution is to be direct, or is it?

- almirsCorner.com -

#Outlook #Hotmail #Yahoo #Emails #tech #technology #meetings 

New Generation of TV - Is it good?

Back in the day, we used to worry about the reception, the static and picture clarity. I remember watching sports and I was barely able to tell apart the numbers on athletes' jerseys. These days we worry about the bandwidth. Loading, please wait..... This is the new generation of TV until the bandwidth becomes a non-issue. On-demand TV and streaming over the internet what you purchase is the way it is heading. If you are a big believer of explicitly paying what you watch, then you will like it and it is an interesting future; it will take some time. In the meantime, I am enjoying my Roku, Apple TV and considering getting Amazon Fire TV. Didn't Google also recently release their Google TV at their Goolge I/O?


- almirsCorner.com -

#tech #TV #watch #Roku #AppleTV #GoogleTV #AmazonFireTV #FireTV #streaming #almirsCorner 



Friday, July 25, 2014

Staying focused throughout the day - here is an advice

As you can see on my blog and YouTube channel, I am recommending OneNote to manage your notes and your tasks. Your OneNote list or the list in the tool of your choice can be a long list. You can have a long overall backlog list, and  in your weekly planning you could have also a relatively long weekly list. You can even go as far as maintaining your daily tasks in your choice of tool.

That's good to have, but specifically having your daily list on your computer would not necessarily help you staying focused because of multiple windows open on your screen and having that email client there to distract you as well. Distractions are everywhere with the technology these days.

What I find very help in staying focus and constantly reminding me about my tasks for the current day is the following:
  • Get a small piece of paper or one of those small paper cards (3-4" long and 2-3" wide)
  • Every morning (or the night before), put your day's tasks on this paper.
  • Put a list that is realistic/slightly-optimistic and commit to it
  • Include your personal list as well because you have life outside work as well

Now that you have your current day tasks on this small piece of paper, keep it next to your keyboard on your desk and you can also carry it with you to meetings. It is constantly reminding you what this list is as you get interruptions throughout the day, and you will get interruptions :)

It has been working for me because I am managing a huge list of tasks as a technical lead and staying focused on your current day's work is crucial. It also makes you feel that you accomplished something as you mark those tasks completed on that piece of paper. Then at the end of the day, you can update the soft copy of your tasks in the tool of your choice. The next day you start the process again on a new piece of paper.

I picked up a lot of those ideas by reading about GTD, Franklin Covey systems and attending different training sessions. Then I customized it and set up a system for myself. I hope you can find this advice useful. We are not all the same and that's why customization is important.

- almirsCorner.com -


#tech #taskmanagement #focus #stayingfocused #management #organization #GTD #FranklinCovey


Thursday, July 24, 2014

Selling your car? How to change your mind?

Any time you think about selling your car, go wash it. I bet you that you will change your mind at least a few times. This approach may delay your decision for a few week or months :)


- almirsCorner.com - 

#cars #carreview #carpurchase #auto #carbuying #cardeal



Saturday, July 19, 2014

Who serves who? Doing the right thing and business ultimately wins

Technical design decisions are sometimes made for the purposes of going around the heavy process and these types of decisions can cost you a lot of money down the road. Systems become over-designed in order to have a lot of items configurable as compiled code goes through more rigorous process. This is all good in moderation. All this is done with right intentions to support the business, but in the long term it hurts business if overdone.

Everybody should be very open about it and deal with the root cause from the beginning. The process is support to serve you and necessary adjustments need to be made to make it more lean and mean. Your organization can be process-light and still meet the audit criteria. Process-light does not necessarily mean that you have noticeably fewer gates; it could also mean that you go through the same process steps/gates quicker. Trust and professionalism play a big role in successfully achieving this.

At the end of the day, you want to do the technical design for the purposes of proper design and you want your process/PDLC to serve you in promoting the right technical design; consequently, the business ultimately wins.


- almirsCorner.com -

#tech #technology #software #architecture #softwareengineering #softwaredevelopment #programming #process #SDLC #PDLC 



Tuesday, July 15, 2014

How your smart phone battery can stay above 90%

Smart Phone Batteries:
I often complain how the battery on my iPhone goes down to 20% by the end of my work hours. I often compare it to my old BlackBerry phones that used to last for two days without charging. Things have changed and it is not a fair comparison anymore.

When I was on a trip to Portugal recently, I kept my iPhone in Airplane mode most of the time. I still used my iPhone a lot for taking pictures, but I managed to keep the battery above 90% throughout the day. At first I did not believe it. I was really impressed.

Keeping your phone in Airplane mode might not be an option for you as you might be expecting phone calls, but you can consider it if you are running out of batteries and you still need to use other features of the phone besides the phone calling :)
While in Airplane mode, I was still able to use iMessage and BBM when I was connected to WiFi. That was a big plus.

I did not discover anything new here; I just figured I would post it on my blog because it worked for me.



- almirsCorner.com -

#smartphone #iPhone #batteries #savebatteries #tech 

Thursday, July 10, 2014

Purchase a tool/solution or build your own - What is the right choice?

There is often a dilemma between purchasing a tool and building your own in many companies. What is the right choice. Well, it depends on your company, where the company wants to put the money and also what type of talent the company wants to maintain in-house. It also depends on the price of the tool. Even if the tool that you purchase is affordable in short term, the question is:  "How easy can I support the business with this tool/solution as the business is quickly adjusting to the market?". If you think that building your own tool is the right choice, you need to be careful not to over-design it. The goal is to keep it simple. If you decide to purchase a tool or purchase an off-the-shelf solution, you really need to do a lot of research; a lot of the off-the-shelf solutions look good in POCs, but you find yourself hiring consultants to customize it the point where you have to constantly be paying high skilled consultants to support it on day to day basis.

You can take all those variables into the equation and decide. There are many other factors, but they are not easily quantifiable; you need to use your experience and follow your gut feeling.


- almirsCorner.com -

#tech #softwaretools #software #SoftwareEngineering #programming #outsourcing #almirsCorner 

Monday, July 7, 2014

Flexible Design = Happy Business

Programming with features that get depreciated from version to version of your chosen framework - Technical team still needs to support the business!

In your company, you typically choose a framework (aka programming stack) and that is most likely the decision made at the infancy of your company or later a decision made by your CTO.

Let's assume that your company is using .NET framework. It is very important to stick to the basics and not to marry yourself too much with the features of the given framework that could be depreciated in any new version of that framework.

A lot of companies are not R&D labs and they don't have luxury to explore different technologies. As a development team supporting the business in consumer line of business, there is a responsibility to be very flexible and ready to change direction; exploring technologies is one part of it, but there is not much luxury as everything is driven by short deadlines.

Using Microsoft stack as an example, if you can't move from one version of .NET framework to a newer version with very minimal effort, then your architecture and strategic approach to technology is very fragile and risky for your business team that depends on you.

Some companies do not have intentions to invest into their own software development team and typically in these companies a software solution gets purchased off the shelf and different consulting teams implement a slightly custom solution in your company.

Some companies have a larger team of software development experts and in those situations, you are fighting a battle whether to develop a custom in-house solution or to outsource a company using off the shelf product with customization supported by your local software development team. There are pros and cons of both the in-house solution and a third-party solution.

Flexible design means happy business. The technology team in a given company has a huge responsibility to be flexible in supporting the business. This entails making the right decision in choosing the tools and features of the framework for your organization. It is crucial to be able to upgrade your applications to new versions of frameworks without re-working your code that much. Ideally, there should not be any re-work in the code itself.
Conclusion: The architecture and design is something that should evolve very incrementally. With this incremental approach and proper decisions with tools and features, you are that much closer to that flexible design that makes business happy.


- almirsCorner.com -

#Technology #Business #SoftwareDevelopment #SoftwareEngineering #tech #programming #ITSolutions #framework