Update & Share tips on Testing, Develoment, Design & Other New Tech Trends

Post Top Ad

Post Top Ad

Wednesday, November 29, 2017

November 29, 2017

Top 24 Testing Interview Questions For Best Preparation

Have a good preparation for Testing interview for a good job is needed. There are many questions on the internet. But You should focus on important questions for your future career. Here are top 25 testing interview question., brought up by softwaretestingprinciple.

Top 24 best testing interview questions

1) How well do you handle ambiguity?
2) What is your mentality toward automating tests that are currently being done manually?
3) Explain how you differentiate a symptom vs. a cause when testing.
4) Are you willing to stand up to developers who disagree with your results?
5) Are you willing to cut corners to save time?
6) Can you explain the SDLC and Agile methodology?
7) Explain your attitude toward documentation. Do you believe more is better? Why or why not?
8) What do you think of learning a new product?
9) How well do you work with colleagues?
10) Do you think software tester is a perfectionist?
11) How well do you work under pressure situations with deadlines?
12) Tell me what is your experience with developing corner cases?
13) Do you usually catch up with current technology trends? Why?
14) Tell me what motivates you most?
15) What are your ultimate career aspirations?
16) One sentence describes you most. What is it?
17) What brought you to this testing position?
18) Which fields do you think our company could do better?
19) Tell me the reason why do you want to work for us?
20) What testing methods are you familiar with? Do you have a favorite? And why?
21) What is the difference between Performance Testing, Load Testing, and Stress Testing?
22) What is a test Plan? What does it include?
23) Can you tell me what a Use Case is?
24) What is Business Requirement Document?

Wednesday, November 22, 2017

November 22, 2017

Is the difference between Junior and Senior Developer only in years of experience?

Many people think that the difference between Junior and Senior Developer is only in years of experience. And Junior is a newcomer, with some years of practical experience.. Senior develoepr with many years of experience. So they are better than those new to the software development.

However, the real difference is not just there. For the developer, Senior will understand that it is a job that requires him to look for solutions to the problems. The Junior understands that he is working with lines of code.

Senior vs Junior Developer

The information technology industry has developed, leading to higher demand. However, the efforts to recruit trainees with the desire to meet and reduce costs whether there is a good solution for this? Or just a few experienced people to give them the lead? What do you think will make a difference here?

What is the job of a Junior developer?

Junior, as mentioned above, is a young, newly graduated coder who is more equipped with theoretical knowledge than practiced, who need more real-world experience to be able to work well in the industry.

As a junior developer, what you need to keep in mind is focus on coding, you do not need to care about how far the user experiences this application, whether it's relevant to them, or the rationale. other.

Junior developers usually only do one stage of the software development process, like code or something.

What is the job of a senior developer?

Senior, deep understanding is a person with good skills, perennial, knowledgeable, and can participate in many stages in the software development process. He can make from A - Z as involved in software design, customer contact, product development as required, to software maintenance.

In general, the Senior requires a greater amount of knowledge, more skills. A senior also has the ability to manage projects, and split tasks for the team (as the leader of the project).

Here, you know the difference concept of senior developers and junior developers that we are very confused in the past. In general, both of them are based on the same, however, when applied, it is a very big difference.

Sunday, November 19, 2017

November 19, 2017

Top 3 Misunderstandings Almost People Think About Tester

Software testing is a hot sector that plays an important role in the production or outsourcing of software companies at home and abroad. In order to produce good software or application, there should be a team of experienced software testers to timely detect errors to modify and upgrade the software in the right direction. However, there are myths about this profession below:

Tester Career, Misunderstood things
Top 3 Misunderstandings About Tester

1, Tester is easy, anyone can do

Many people will have this idea when choosing the blocks in the IT industry. I also had time to think like that. In the university, in particular, my IT department, most girls choose the industry tester from year 2, year 3. If you say an industry does not need to know too much code then the tester is probably the choice. Nice to them because it is still in the information technology framework when there are not many programming skills. At least I have been thinking like them. Anyone can be tester is difficult thing, They need to have IT knowledge to become a tester.. 

2, You do not need to know much about code, can still do tester

Actually I'm not sure about this. I have heard that if you are passionate about making testers, if you do not have the ability to program, then you can leave that and continue to chase your dream of being a tester.

However, that may be true when they talk about manual testing. But a tester is asked to know more about the testintg automatically. At this point, technical requirements, programming capabilities are needed.

3, Only girl should do this job

Actually, this is not entirely true. Boys can still do testers, but in the position of recruiting businesses, they tend to hire more female employees. When studying testers, boys will find it difficult to apply for this job in companies.

Why is that?

As far as we can see, the tester requires a lot of meticulousness and patience, since you have to test a function to make sure it is not faulty before shipping it to the customer. Especially the software outsourcing companies, they receive the project, and then handed back to customer partners, so the demand for accuracy is very high.

Monday, October 30, 2017

October 30, 2017

Top 5 Frameworks You Should Use

1. Bootstrap

This framework is a "star" on GitHub and is considered to be the best CSS framework. Designed for specific front-end development, it helps build concepts in web design, first mobile projects, grid systems, typography, buttons and ...

Boostrap Framework Example

Bootstrap does not have any extra features but has additional features from third parties and beyond the usual HTML element. Bootstrap also has other popular UI elements. Its basic feature is RWD (Responsive Web Design) and mobile first.

The Bootstrap 3 version supports multiple browsers (this is their latest release) and because Bootstrap 2 has support for responsive web design. Bootstrap version 4 is currently under development.

2. Foundation

The Foundation is an open source project and one of the heavyweights in the world of CSS frameworks. It is famous for its extremely smooth, responsive and can be used for a variety of purposes: website building, email form building, iphone app development solutions and web app.

Foundation Framework Example

The framework is also very friendly as it provides training, support and advice. It has some unique components (Keystrokes, Joyride, Flex Video, ...) and some add-ons. Its basic features, in addition to RWD and mobile first, include semantic (assuming semantics).

3. Bulma 

Being a free and open source framework is very good in terms of saving your time, effort and popularity, because it is very simple to learn and use.

Bulma Framework Template

First of all, Bulma contains great UI components, such as tabs, navigation bars, boxes, panels and more, as this framework is designed to provide you with a clear and engaging user interface. . Second, Bulma is extremely simple, you only need to import the necessary features and you can start your work. Finally, this framework has very readable classes, which is a huge advantage for some  top it outsourcing company

4. Ulkit

Not widely known (and used), but this framework works just like other similar frameworks and should definitely be noticed.

Ulkit Framework Example

This framework is lightweight, flexible and is used to create fast but powerful web interfaces. Ulkit is basically a collection of easily customizable components, it has HTML Editor, Flex, other utilities and unique components. Its basic features are RWD, mobile first and Ulkit which are widely used in many WordPress themes.

5. Semantic UI

As you might have guessed based on the name, Semantic UI aims to make the process of website building become more semantic. Its basic function is to use natural language, thus making the code easier to read and understand.

Semantic UI - Example

Semantic is the most innovative and full-fledged framework of the remaining Front-End Framework in our list. From the way the project is structured, code structure to function naming, login code and code cleanliness are all very well done.

Tuesday, September 19, 2017

September 19, 2017

Which Soft Skill Set Your Project Manager Need To Have?

There are two types of Project Managers: A Project Manager who responsible for their functions as 
Project Coordinators and have to do a lot of record-keeping, scheduling, and other more ‘administrative activities’. And the one who develop System Requirements Documentation complete with accurate UML and Scope Matrices broken down into functional components, mapping them directly to Test Cases.

Prior to my most recent position and prior to my focus on consulting, I interviewed for a full-time PM position at a company that made a software product. The interviewee stated her belief that Project Managers were soft-skill professionals. We ended the conversation soon thereafter, but in the case of their organization, it was true. The PM spent their time learning the new release and keeping customers up to speed, helping with implementation, documenting specs, doing whatever otherwise would have fallen through the cracks or would not have been fielded by another staff member.

Differences between Two Types of Project Managers

I very much enjoy the discipline of documentation. Even in my personal life, if something is bothering me, I take the nebulous ickyness that I am feeling and try to break it down. The soup of unhappiness becomes a list of items that I can address. I can manage a list. I cannot manage soup.
There are many flavors of Project Managers. You have your PMP professionals, your Prince certified professionals, and your “accidental” Project Managers who pick up skills, tools, and knowledge as they evolve. 

I am proud to be an accidental PM because I was a business person first and learned the art and science and discipline of Project Management from a business person’s standpoint. This is invaluable when dealing with customers. Just like there are “paper MSCEs” there are “paper PMPs” and while they have a great foundation, there is nothing quite as effective as being in the trenches, dealing with day to day operations and in the case of software, seeing things break for no good reason and having to hunt for 12 hours because of a misplaced semicolon.

Processes are not cut and dry. We can extrapolate and we can generalize, but just as human beings are developed in an iterative fashion, interacting with the world, Project Management has intrinsic iteration. You have to be involved with the project. You cannot sit behind a desk and move around bars in MS Project.

Being able to understand process and in my case, software development skills?
I don’t think so. If I worked in a toothbrush factory, I would have had the same opportunities to be involved with projects as I have had within the software vertical.

I would not, however, know software.

But again, just like soup, PMs come in different flavors. If you are hiring one, pick one who best fits your corporate culture. The skill sets we possess are not terribly difficult to learn. What is difficult is the application of said skill sets.

Friday, August 11, 2017

August 11, 2017

Machine Learning currently redefining the financial industry: How can CFOs do?

Among the most interesting trends, Machine Learning is shaping up to be one of the next evolution in the transformation of financial industry and one of the top key technology trends in 2017. But how can CFOs unlock the value of Machine Learning to meet their business objectives and improve performance today?

There are many cutting-edge technologies that is transforming the finance - one of the oldest skills that people has developed after shaping the forms of community. The common nature of these innovations is easy access capabilities, faster paced transactions, a smarter customer experience and better business opportunities.

Machine Learning, AI, Financial industry, CFO
Machine Learning enter the financial industry is right choice?

# What is Machine Learning?

Machine Learning is a type of Artificial Intelligence that allows computers to learn and make software applications become more accurate in predicting outputs without being explicitly programmed. It is the product of established statistical theory in computing power. The basic premise of Machine Learning is to build algorithms that offer businesses the opportunity to transform their operations and their services.

These algorithms are often categorized as being supervised or unsupervised. They learn by analyzing very large volumes of quantitative and qualitative historical data, looking for patterns and trends across hundreds of variables at the highest speeds.

# Four ways CFOs can unlock value

1. Identify areas of machine-induced improvement

Businesses must continually make choices about pursuing new business opportunities. Because an investment in one area requires savings in another. Machine learning helps companies increase savings by taking automation to a much higher level than previously possible.

In many companies, for instance, a high percentage of staff still perform transnational tasks such as like procure-to-pay, order-to-cash, and record-to-report, that can be completed faster and with fewer people through machine learning.

2. Create a learning culture

The value in machine learning is about gaining control and using analytics to expand the business, which is a fundamental job of finance. It can transform your finance organization to be a more strategic partner to the business. At the same time, you need to think about how to train and develop the career paths of your staff. By cultivating an engaged workforce, your company and its people can be more agile, flexible and open to change.

3. Keep finance in your organization’s digital strategy

Unlocking the value of machine learning in finance is tied to your business’s digital strategy. CFOs need to start taking part in the company’s discussions about digital transformation (1). For some organization, there’s a lot of talk in public about the pursuit of a digital journey. CFOs need to help solidify the company’s digital strategy so that when a business case is up for review, you’re well-informed and can make the right decisions.

4. Understand the importance of a digital core

An organization’s digital strategy sets a course for how the enterprise uses technology to enable competitive advantages in the digital economy. Machine learning has played a key role in an effective digital strategy.

Machine learning is dependent upon live, integrated business data. Therefore, to fully embrace machine learning, enterprises need to run on a digital core (2) that is connected, intelligent, responsive, and predictive.

Wednesday, August 9, 2017

August 09, 2017

What is your choice for best mobile app testing tools in 2017

Behind the important role of software development, Software testing, especially mobile app testing plus another essential part in this industry. With the growth of software development industry, many big companies rise. Today, I will introduce to you, Savvycom, one of the most software development and testing company which is famous for mobile app testing services.

top mobile app testing tools, 2017,
Top 5 Mobile App Testing Tools of 2017

There is a wide range of automation testing tools available. They help reduce the time needed for the testing process and the chances of human errors during test execution. Here are 5 great testing technologies for mobile app developers to make a best choice

1. Appium

Appium is known as an open-source testing platform for Android and iOS applications which run testings for:

  • Automating native 
  • Mobile web
  • Hybrid mobile applications

Together with “cross-platform”. Appium allows you to write tests against multiple platforms using the same API.
Programming Language Support:  Java, Ruby, Python, PHP, JavaScript, and C# on web-base library.

2. Robotium

Robotium is an mobile usability testing tool for Android apps. Not like other testing tools, Robotium is not require mass of understanding of Android mobile app's structure or classes. Because of these following reasons:

  • Robust automatic black-box test cases
  • Android UI test
  • Support Native and Hybrid Androids Apps

Robotium uses Java as programming language supporting.

3. MonkeyRunner

This tool is designed to run testing for devices and mobile apps on:

  • Functional level test base or Framework level.
  • Provides an API for writing programs to test Android devices

Programming language is supported for testing:  Python.

4. UI Automator

This Automation Testing tool supported testing for:

  • Performing interactions on user apps and system apps. 
  • Writing black box-style automated tests. 
  • Viewers to inspect layout hierarchy, APIs 
  • Cross-app UI testing.

5. Selendroid 

Selendroid is a testing automation framework to test

  • The UI of Android native and hybrid apps and the mobile web. 
  • And supports plugging of hardware devices.

Tuesday, August 8, 2017

August 08, 2017

Keep This 40 C Programming Language Questions In Your Head [Part 2]

Why we should keep these question in our head? I think each of us who need these question tips to practice if we want to get a good job about C language in near future. Here, it is.

Are you sure you can answer all of them?

51. To which numbering system can the binary number 1101100100111100 be easily converted to?
52. Which bit wise operator is suitable for checking whether a particular bit is on or off?
53. Which bit wise operator is suitable for turning off a particular bit in a number?
54. Which bit wise operator is suitable for putting on a particular bit in a number?
55. Which bit wise operator is suitable for checking whether a particular bit is on or off?
56. which one is equivalent to multiplying by 2:Left shifting a number by 1 or Left shifting an unsigned int or char by 1?
57. Write a program to compare two strings without using the strcmp() function.
58. Write a program to concatenate two strings.
59. Write a program to interchange 2 variables without using the third one.
60. Write programs for String Reversal & Palindrome check
61. Write a program to find the Factorial of a number
62. Write a program to generate the Fibinocci Series
63. Write a program which employs Recursion
64. Write a program which uses Command Line Arguments
65. Write a program which uses functions like strcmp(), strcpy()? etc
66. What are the advantages of using typedef in a program?
67. How would you dynamically allocate a one-dimensional and two-dimensional array of integers?
68. How can you increase the size of a dynamically allocated array?
69. How can you increase the size of a statically allocated array?
70. When reallocating memory if any other pointers point into the same piece of memory do you have to readjust these other pointers or do they get readjusted automatically?
71. Which function should be used to free the memory allocated by calloc()?
72. How much maximum can you allocate in a single call to malloc()?
73. Can you dynamically allocate arrays in expanded memory?
74. What is object file? How can you access object file?
75. Which header file should you include if you are to develop a function which can accept variable number of arguments?
76. Can you write a function similar to printf()?
77. How can a called function determine the number of arguments that have been passed to it?
78. Can there be at least some solution to determine the number of arguments passed to a variable argument list function?
79. How do you declare the following:
* An array of three pointers to chars
* An array of three char pointers
* A pointer to array of three chars
* A pointer to function which receives an int pointer and returns a float pointer
* A pointer to a function which receives nothing and returns nothing
80. What do the functions atoi(), itoa() and gcvt() do?
81. Does there exist any other function which can be used to convert an integer or a float to a string?
82. How would you use qsort() function to sort an array of structures?
83. How would you use qsort() function to sort the name stored in an array of pointers to string?
84. How would you use bsearch() function to search a name stored in array of pointers to string?
85. How would you use the functions sin(), pow(), sqrt()?
86. How would you use the functions memcpy(), memset(), memmove()?
87. How would you use the functions fseek(), freed(), fwrite() and ftell()?
88. How would you obtain the current time and difference between two times?
89. How would you use the functions randomize() and random()?
90. How would you implement a substr() function that extracts a sub string from a given string?
August 08, 2017

50 Questions About C Language You Should Know [Part 1]

If you are a coder who're learning C programming language then you should know these questions before you will plan to join an interview for a C related Jobs.

C Programming Languages and Question For An INTERVIEW

1. What does static variable mean?
2. What is a pointer?
3. What is a structure?
4. What are the differences between structures and arrays?
5. In header files whether functions are declared or defined?
6. What are the differences between malloc() and calloc()?
7. What are macros? what are its advantages and disadvantages?
8. Difference between pass by reference and pass by value?
9. What is static identifier?
10. Where are the auto variables stored?
11. Where does global, static, local, register variables, free memory and C Program instructions get stored?
12. Difference between arrays and linked list?
13. What are enumerations?
14. Describe about storage allocation and scope of global, extern, static, local and register variables?
15. What are register variables? What are the advantage of using register variables?
16. What is the use of typedef?
17. Can we specify variable field width in a scanf() format string? If possible how?
18. Out of fgets() and gets() which function is safe to use and why?
19. Difference between strdup and strcpy?
20. What is recursion?
21. Differentiate between a for loop and a while loop? What are it uses?
22. What are the different storage classes in C?
23. Write down the equivalent pointer expression for referring the same element a[i][j][k][l]?
24. What is difference between Structure and Unions?
25. What the advantages of using Unions?
26. What are the advantages of using pointers in a program?
27. What is the difference between Strings and Arrays?
28. In a header file whether functions are declared or defined?
29. What is a far pointer? where we use it?
30. How will you declare an array of three function pointers where each function receives two ints and returns a float?
31. what is a NULL Pointer? Whether it is same as an uninitialized pointer?
32. What is a NULL Macro? What is the difference between a NULL Pointer and a NULL Macro?
33. What does the error ‘Null Pointer Assignment’ mean and what causes this error?
34. What is near, far and huge pointers? How many bytes are occupied by them?
35. How would you obtain segment and offset addresses from a far address of a memory location?
36. Are the expressions arr and &arr same for an array of integers?
37. Does mentioning the array name gives the base address in all the contexts?
38. Explain one method to process an entire string as one unit?
39. What is the similarity between a Structure, Union and enumeration?
40. Can a Structure contain a Pointer to itself?
41. How can we check whether the contents of two structure variables are same or not?
42. How are Structure passing and returning implemented by the complier?
43. How can we read/write Structures from/to data files?
44. What is the difference between an enumeration and a set of pre-processor # defines?
45. what do the ‘c’ and ‘v’ in argc and argv stand for?
46. Are the variables argc and argv are local to main?
47. What is the maximum combined length of command line arguments including the space between adjacent arguments?
48. If we want that any wildcard characters in the command line arguments should be appropriately expanded, are we required to make any special provision? If yes, which?
49. Does there exist any way to make the command line arguments available to other functions without passing them as arguments to the function?
50. What are bit fields? What is the use of bit fields in a Structure declaration?


Sunday, August 6, 2017

August 06, 2017

Do You Know About Project Management Myth

Everyone has been duped. Duped into believing there is a “Body of Knowledge” or a “ScrumMaster” or any number of things related to IT project management. There is no Project Managment. There is task management. A project doesn’t keep changing - it remains amorphous from initiation through delivery. You have tasks, and you manage those, along with people, expectations, budget, and really everything besides the project. The project is just what people talk about in to have a common reference point. They can only directly talk about tasks, deadlines, and other empirical data/things. A project is a cloud without clear edges, and it moves, this way… then that. Sometimes it is by design, but sometimes it is not.

There is no such thing as Project Management

Ayer said if it cannot be proven true or false through experience, it is a nonsensical statement. I think considering a project anything more than a bucket of tasks, people, meetings, and assorted ceremony is nonsensical. You have your phases, milestones, meetings, UAT sessions in one for or another regardless of the underlying PLC, but what does this really mean? Project start, do, and end. There are things that people look to in order to recognize a given effort. People need to communicate to make that happen. Ultimately, the effort either passes the test, fails the test, or falls somewhere in between and there is an uncomfortable call where you and the Client try to determine what is fair. Wouldnt it be obvious?

An Agile SDLC removes the need for the “classic” PM and GANTT charts (thank God). However, a Scrum Master is not enough (that’s another sham… pay $1200 and you get certified. No test, no obstacle course, just pay and get the stamp - and yet somehow, people eat it up).

You need someone with common sense and communication skills who isn’t afraid to ask questions and is, above all else, good at finding answers and not emotionally attached to anything but (and this is not mandatory) the Process and Excellence. Why be emotionally attached to the Process? If you have to ask, I don’t think I can explain it to you. You either love delivering good working software or it’s a job. It can be both at times, but the passion is what makes you great. If you don’t want to be great at whatever your chosen discipline is, I don’t understand you, but know you are out there in vast numbers.

Emotion is key in Project Management and Software Development. You have to care. You have to really give a damn. Day to day, decisions are made pragmatically, but that pragmatism is a tool leveraged by the passionate. Or at least, it should be, in my opinion.

Define features, assign priorities to them, practice RIP or RAD or just plain old iterations and while you do UAT, let the client prioritize and re-prioritize and add features all they want because in the end, it is their baby. You want it to be yours, and it might feel like yours, but you are babysitting. I dont know… maybe you are delivering. In my finer moments, I like to believe you are performing magic and manifesting chances for ephemeral excellence, otherwise lost in the mist (or something similarly eerie).

Project Management isn’t about deadlines. It is about delivery. There is a big difference - just like software isn’t made of activities, but it is made of features. Management becomes a means to an end and not a science unto itself beyond the fact that it must include an inherent ability to turn itself into something else. What is good for the goose might not be good for the gander. Still, we can try to lump them together for sake of expedience and to sell books on The Process. We impose things like deadlines and estimates to give the illusion of control. While deadlines and estimates can be marginally effective, they will never be as effective as passion for Process.

People point to Parkinson’s Law and claim that workers somehow manage to take all the time they can to fulfill a task.This is only rarely true. More often, people complete a task in as much time as required. It is simply the definition of what required means that can lead to varied results. Process is malleable. Process is not a set of phases and it is not a template approach. It is different for each project, each organization, and it will possibly change mid-stream. Process is not pre-defined. It is defined as you go, like your System, and in the end, the code is the functional spec (the path you take is the Path). I have found it best to let the Project reveal it’s Process.

Some sculptor I should know the name of but don’t said that he simply removed the excess marble from the statue. I like that Ida. Of course, you have to know how to recognize the signs that something is unclear, iterative, risky, costly, or otherwise noteworthy and be prepared to nudge it along and steer it. However, there can be no didactic System of Project Management. In fact, as I said earlier, there can be no true Project Management. There can only be work, workers, money, expectations, and the like. This is not a bad thing. Not at all. And I think the IT community is coming to realize that Project Managers cannot be certified but by experience.

“If you aren’t making mistakes, you’re not making enough decisions.”

I hope you are all well. Sorry I had to disable comments. I don’t like forcing people to register and to be honest, enough of you email me that I don’t see a need for comments.  I am quite happy to discuss, but that is because I like this stuff and want to learn something as often as possible. I do not use this blog to generate business, expressly. I use it to learn. It is, right now, part of my Process. You can say I am being very literal, but really… take a look at that GANTT chart from day 1 and compare it to the chart on day 100. Where is the project? In both, in between, and probably calling on the phone to find out when the mail merge feature is going to be ready because the bonus letters need to go out yesterday

Tuesday, July 25, 2017

July 25, 2017

Wegners Lemma and System Proposals Agility vs Ridgity

I do not have an extensive background in science. My soon wife does. She will have her PhD soon. In researching Scrum and Software Project Management, I ran into this thing called “Wegner’s lemma” and I asked her what a Lemma was. She asked if it wasn't one of those monkey-type animals. I told her she was thinking of a lemur, and realized that this is probably not science and should stop bothering her with more philosophy and theory that isn't about nano particles.

From what I can tell, a lemma is something that is assumed to be true so we can move forward under a given premise.

From Jeff Sutherland:

Wegner’s lemma - an interactive system can never be fully specified nor can it ever be fully tested. This is the software analogy to Godel’s theorem.

Godel theorem

And now I have to mention Godel’s theorem. A theorem is a bit stronger than a Lemma. It has been banged on my scientists and other smart people, accepted as true or at least, having merit.

What’s with the fear of commitment? I guess you cannot apply Scrum principles to mathematics or logic. I am a big fan of logic (Ayer, especially), and so I understand. What I dig about Ayer is his principle of nonsense. I am sure if my old Professors heard me call it that they would choke on their oatmeal, but Ayer says that any statement that cannot be proven true or false is nonsensical, and that every statement that can be proven true is a tautology. Makes good, tight, sense to me.
This is not wholly irrelevant to software engineering. Bear with me.

I am going to cop out a little here, because it give me a headache, but you can read about Godel’s theorem here. It has been extended into many different verticals, disciplines, and websites. It seems to be just short of a Law. If it interests you to understand it’s complexities, please pursue the aforementioned link. You will find many other links there.

Below, you can read about how all this applies to your approach at scoping a software System and creating a proposal.

Lots of clients want a firm proposal with a firm, fixed price. They probably have experience with manufacturing processes, and so the Waterfall approach makes sense to them. This understandable.

Software Engineering (new development), however, is not manufacturing. Unless you are prepared to eat potentially copious person hours of labor or fall short of customer expectations, you need to build a little slack into your proposal. This is classically done by using a multiplier, or by pricing iterations. Always seemed a little sneaky to me. The line item “Slack” reads like a co pout.

Software engineering defition

Wagner's lemma speak to the validity of an iterative process of discover, code, deliver; indeed, it was one of the arguments used to support and initiate the pursuit of Scrum before Scrum had been proven. Scrum is not new, contrary to popular belief. I mentioned in a previous post that we had something very similar to scrum at my family’s construction business, but it has been a software process for over ten years. It is finally getting real traction. If it did not work, you would not still be hearing about it. That’s the good thing about theories, I guess; if a theory proves to be bologna, you stop hearing about it pretty quickly.

You have three ways to approach a software proposal, if not more:

  • You can spec out a Big Up Front Requirements Phase and Development, QA, Implementation phases.
  • Similarly, you can spec out a Big Up Front Requirements phase that with speak to a more informed development phase, probably with iterations or a release schedule
  • you can argue Wagner's lemma and say that really, “we will not know what we are going to bump into until we bump into it, and as much as we have some historical information, your System is unique and to commit to anything besides something wholly unsatisfactory would be plain dishonest.” More formally, “your system will require an iterative approach, because when it is being developed, it will be done so within a dynamic environment that we would love you involved in so you can have transparency into the process and control over what is prioritized. Also, your system is new development, and there are many ways to approach it. We need to determine, along with you, what will work best. We are very good at building software, but equally important is our skill at building the *right* software”… or something. Give transparency into your process, deliver frequently, and this is palatable. “Rust me” rarely works in the absence of a bullet-poof reputation of long-standing relationship.

  • There are really two options: commit to a Contract or commit to a Contracted System. A contract is not flexible and does not benefit anyone when it asks them to commit to ambiguity. A System is much more robust.

    Here, we invoke Wegner’s lemma and our experience building software. Again, the requirements wind up being the source code.

    Of course, I think the best is a combination approach. Do some initial requirements so you are not playing code cowboy. Then, engage the client in an iterative approach, grounded in a proven iterative methodology (like Scrum or XP or MSF) and keep communication open. If your client is able to see progress, they will not see your function as a black box. And if you make them the Product Owner, allow them to prioitize features (user stories), they will not have to ask why they do not have feature X yet. They will have asked for features D and E and delayed feature X in a calculated decision.
    PS: As an asid, I’d like to mention, I am not really digging this new version of WordPress under FireFox. It is slow as anything. Under Opera, it seems a lot better.

    Thursday, July 20, 2017

    July 20, 2017

    Software Testing Process For Both Manual And Automated Testing

    Mike Cohn and others divide testing into 4 types: Automated and Manual Testing, Automated, Manual, and Tool-Based. I suppose a footnote belongs here, but as this little tidbit is as much from experience and a variety of media as it is his book (I am not sure which one, sorry).

    Software Testing Process

    • Automated and Manual Testing involved prototyping, simulations, functional testing, and user story testing. I personally extend this to service testing (interface testing, touch point testing, etc). For all of these we have information driving acceptance criteria (did it pass?) and the creation of the test (what are we trying to do?) These lead to trackable bugs and potentially, issues. “Fail fast” is made easy by prototyping.
    • Automated Testing includes having a Continuous Integration server, Unit tests (this is looking at and optimizing actual code in an XP peer programming model or not and specifically not doing manual testing where you enter orders or send an email to multiple recipients), and Component testing (also done in Tool-driven testing if you have systems within the System configured in a way to allow for it). Your CPU and compiler will tell you a lot. Automatic processes should be set up so that they take place before anything goes live (or even into a sandbox environment). I have seen development shops where if one of these tests failed, a flashing red light went off and in Toyota’s “stop the line” fashion (“Everyone stop developing and look at this!”) people fix what is broken before taking one more step. These lead to trackable bugs and potentially, issues, however these are more likely to be pounced upon immediately because you do not want something icky in the soup, so to speak.
    • Manual testing is what we have been calling Unit testing: poking at the GUI, verifying data is validated, things work from a UX/UI perspective, UAT (User Acceptance Testing), and others. UAT is the most important in my opinion. The vendor shows the Client functionality and it either passes or fails. You can have formal acceptance criteria (unscrupulous vendors mandate defined and exact Scope as well as the leverage inherent in highly detailed acceptance criteria). When I am representing a Client who interfaces with vendors, I try to steer clear of hard acceptance criteria and change orders and instead I lean towards reality where things change even if they are correct according to original spec. Clients have had bugs marked as fixed before anyone at the Client even checked or were able to check. This creates haze, and bugs are lost among larger issues, and the excuse is valid, a natural extension of chaos. Vendors have professional responsibility, and this is not my opinion. A company I worked for lost a court case because they did not perform what the court considered part of their responsibility as a solutions provider: proper management of issues. That is why I stopped worked for development shops. Being honest and forthright costs consulting teams money because delivering something measurable that cannot remain the same but must pretend to hold shape will lead to change orders and cries of “OOS! (Out of Scope)” while defining the system in terms of what it has to do at a high level leaves room for change in ways that do not impact behavior. Maintenance contracts bring in a lot of revenue.
    • Finally, there is Tool-driven testing. This is load testing, security testing, and hardware testing. This is stuff that your point a tool at and let it crank away and come back with analysis. All projects have a front end that is connected to a back end (not ALL I guess) which is why separating the sites from SAP has always been something I have not understood and so Tool-driven testing is extremely important). Also in this group would be analytics, for SEO, SEM, E-commerce stats, etc).
    So I would first recommend enforcing a real, proper, full lifecycle SDLC (Agile if the project is new but if the project is not new, something as close to what exists) and in doing that, most of the testing problems will fall away because Test-Driven Development would catch the silly bugs and if stakeholders change their mind, they will get to weigh the cost of changing their mind before altering something that works.

    Find more information:

    I would recommend an iterative (every 2 weeks or maybe 3) process where the developers are testing before they say their code is ready and the tasks/bugs that make up the body of work are both large and small but always high in value. That means, in part, developers have to know what they are building against and to have UAT feedback come back to them through a Product Owner (the singular person who approves the list of features and bugs that are coming in the next release and has final Product signoff).

    I would also mandate a versioning tool like Subversion properly where you do not create a fork until there is a release or spawn a separate effort that will not be merged again down the line. Without proper version control, you can track bugs and issues all day and it will be rendered an exercise in futility if the software is not versioned correctly. There is a marked inability to define what code is shared and what code is not. Some like to track the version of the software where they found the bug. I find that annoying, because we are moving forward, always.

    Software Testing And Bug

    Bugs: There are a billion tracking tools out there. I like any of the automated tools besides Trac (meant for developers, when you look at who winds up using it). The main things we want to capture as a team where vendors have an appropriate level of visibility into the open issues and the ability to assign items (again, keeping the power within the Client instead of the black box of “we understand and you will see it next build”) are present in all of them, by and large. Again, ask a friend. For bugs I think small teams can use Excel but like the workflow and quick views as well as processes that can be enforced by many bug tracking systems.

    Identity Field: May not be visible to the user of an automated system, but if possible, I like to show it for purposes of quick reference.

    What caused the bug? Evidence, like narratives, screenshots, are important and maybe even critical. If it cannot be reproduced, it should not be presented as a bug unless it cannot be reproduced on another machine but can be reproduced on a singular, or set of, machines. This would be the place for Brower type, version, OS, etc (if needed).

    What can we call the bug? A summary of what is wrong.

    Who owns it? If it is to make the entry in the tracker more informative, to gather more information, to approve in an approval queue, or to fix, this “owner” may be almost any type of team member. Product Owner will or should give the final approval that it is not active.

    Wednesday, July 19, 2017

    July 19, 2017

    A Paradigm Shift in Semantic Web Deployment

    I am a big proponent of all things Semantic. I have a degree in Philosophy, and the Philosophy of Language was what held my interest over the years. Even the idea of Ontologies is something that I have somewhat of an emotional connection to; the relationship and existence of things within the world is partly a semantic question, partly an issue of theism, and partly a great big sticky ball of epistemological wax. The Semantic Web is obviously something that I support, not only because of how it would advance productivity, expand human knowledge, and connect Systems. The main reason I dig it so much is that it could create something truly Good out of the WWW. It would help us make sense of all the data out there, stored in disparate Systems, strewn about intranets, extranets, and the Internet.

    I don’t think there are many who would disagree that the Semantic Web *could* and maybe *would* change the world (or at least the way we operate within it, since the world is by it’s very nature ever-changing, right?). There are those who are cautiously optimistic and have laid down the framework that would be required if the Semantic Web is to become a reality. There are those who are ambivalent about data altogether, so long as Dancing With the Stars isn’t affected. There are also those entities, such as Google, who don’t outwardly support a Semantic Web, yet could have a massive effect in it’s becoming a reality and are benefiting from some version of an applied semantic web.

    The Semantic Web Deployment

    Google is not against the Semantic Web, in that they do not do anything to prevent it’s emergence, but as the Semantic Web would involve quite a paradigm shift, Google is not waving the flag as high as it could. Google has displayed a more pragmatic pessimism, while making a nice living with contextual ads. There are different flavors of semantics. The Semantic Web (with all caps) is a vision of Tim Berners-Lee, and it certainly could be a reality. Google has stated that people are too “incompetent” for it to become a reality, but I think that is a purposely misleading statement on their behalf.

    While I do not agree that it is “incompetence” that prevents the average Webmaster from implementing RDF and other Semantic tools, I do think that the web is going to change due to what makes life easier for Webmasters, business owners, and other stakeholders *now*. SilverLight is Microsoft’s new browser plugin, and it was suggested to me earlier this week that instead of web Developers writing HTML to please browsers and to render in FF or IE, they will be writing applications to deploy within plugins such as SilverLight. This is important. If the model changes so that Developers write for applications, there are many implications upon data and upon the WWW - web services and Semantic Web Services included.

    It makes sense. Take a look at all the functionality embedded within Visual Studio and try to argue that OOTB tools such as they are have less intrinsic value to the average business owner (with the average IT staff) than the Semantic Web. One has M$ behind it, along with all the immediate value it carries. The other has promises of collaboration and a future where machine agents do intelligent work for us.

    I will be frank, although I am sure that what I have to say isn’t going to be that popular: “Web 2.0″ is not all that interesting to businesses outside of advertising. Blogs are online diaries. Social Networking is people talking to people. Yes, these are severe and maybe unfair generalizations, but let’s face it; the people who are using Social Networking the most are not using it for purposes of facilitating business. Sites like Facebook and MySpace are immensely popular, but the folks who make money here are the advertisers and the sites themselves. The sites are akin to toys with massive billboards on the sides of them. This hasn’t been a movement towards a more valuable web, because there is no recognized authority, no Standardized Ontology, no substantive connection throughout. Work flows exist independent of Standards, and communication happens in proprietary space.
    Even Second Life with it’s Linden Dollars is dependant upon Visa, MasterCard, or some real entity with standards, insurance, true grounding and defined components to support it.

    Web 2.0 has not done a heck of a lot for business, itself. Google itself enjoyed “viral” popularity. Developers were using it before anyone. Kids were using Social Networking before LinkedIn was popular. Businesspeople are generally too busy to be futzing around with the “cool stuff” online. They spend their time with the “productive stuff” and now find that some of the cool stuff can be productive, if you planned ahead and positioned yourself correctly. Google plays very well towards the convenience factor. Have you seen Google Street View yet? It is COOL. Will it make the world a better place? I doubt it. Will it make Google more popular? You can bet on it.

    Meanwhile, business is being done on the web. Content Management Systems and Portals such as Joomla and Sharepoint will enable business. They have tremendous value to the business owner. They allow for Social Networking, collaboration, information sharing, but also have ecommerce capabilities (.NETcart and others) and help folks make money. They contain work flow management tools, to help folks run their businesses. They don’t have an immediate “wow” factor like Google Street View, but I sure think they are cool.

    Microsoft is Google’s obvious competitor for mastery of the Globe’s data. The Sharepoint Server 2007 platform is Microsoft’s newest offering. It is amazing. It can do amazing things. However, because it is so dynamic and renders so much on the fly MOSS is not totally Standards-compliant. This is a big deal. This says, “our tool is so good that Standards will just have to forgive us…”
    Standards must be preserved, however. And Microsoft would be wise to obviate a way to implement RDF or Semantic technologies.

    Web Developers and Architects have a variety of landscapes that they can paint. They can paint an Open Source landscape, where the edges are a little fuzzy but the population is enthusiastic and there are no secrets. They can paint a Microsoft or other proprietary landscape where things are very well defined, but expensive. They can act based on what they know in either one of these cases, drawing on .NET or PHP experience and deploy. They can deploy something that works for business, or something that works for Business. Either way, they are not wrong.

    Or Web Developers and Architects can look ahead towards things they do *not* know. It is true; many Webmasters don’t know HTML, much less how to wrap their data in RDF. There is little out there to entice them to do so. What the Semantic Web needs is endorsement - not in theory, but in practice. If either the Open Source community or Microsoft were to build Semantic Tools into their suites, it would be a heck of a lot easier for the Semantic Web to form. It needs that first stake in the ground.

    With Google moving as ominously as they are, it would appear to me that Microsoft would want to consider embracing W3C standards and building Semantic Web tools into SilverLight, MOSS, .NET while Google indexes and makes available Google Documents and other immediately free tools. Google is throwing a heck of a lot of free stuff out there, while owning it all. I do not want my WWW to be as Google dictates. I want it to work for me, for you, and for You. Google is a business. They provide a service. They also make some people very wealthy. I do not want the WWW to turn into a de facto proprietary landscape. That would not be good.

    Ironically, I think the way to avoid this may be to get THE proprietary system - Microsoft - to build in Semantic Tools and take the control of data away from the indexing machines.
    And let’s face it; data is not just bits, bytes, and text. It is meaningful.

    Maybe it isn’t quite as it seems Andrew Layman worked on the original RDF spec, and he is a Senior Program Manager at Microsoft. It would make sense to me that they were doing, behind the scenes, what Google is doing right in our faces - planning to run the WWW.

    As soon as we see SilverLight contain RDF tools, I will smile a little inside. People will be writing applications instead of HTML pages, and the applications will be a much better platform for schemas, Ontologies, and Semantics than a layer imposed onto HTML.

    Google already bought Applied Semantics - natural fodder for their AdSense platform, and can do very obvious things with context. I don’t like the way it is all unfolding. And forgive me, but I can’t put my finger on exactly why that is. Maybe I have the feeling that people are playing dumb.

    Tuesday, July 18, 2017

    July 18, 2017

    Thoughts on 7 Good Practices for Modeling Software Requirements

    These are 7 “Good Practices for Modeling Software Requirements”:

    I like the spirit of this. But for those who are in an Agile or XP environment, or for those who follow MSF, AUP, or other iterative frameworks, there are some things to consider. I am going to bring up some, but certainly not all, of these sorts of issues.

    In regard to 1. BRUF (Big Requirements Up Front) is not only time consuming and costly, but often somewhat wasteful. Requirements change as your stakeholders and clients learn about what they are getting. Most of the time, as a software consultant, part of your job is to help the client realize their vision or solve their problem via technology. This is normally an iterative process whether you approach it that way or not. If you define scope as the 10,000 ft. view of the project (perhaps a simple Context Diagram), then I like this very much. However, the author of this chart suggests doing this to ward off scope creep. Scope creep is GOING to happen. If it is billable or not is one question, but if it is going to happen is another. It is going to happen.

    Modelling software requirements analysis

    In regard to 2. Again, I have stressed this elsewhere in my blog, but I believe that you use what is useful. Documentation can drown you fairly easily. Keep it light, Barely Good Enough, and malleable.

    Recommendation for you :

    In regard to 3. Repeat of #2. If your developers have no idea what a State Machine diagram is, you are going to have to work with what they do know. Most folks can get the hang of simple Activity Diagrams fairly easily. In my experience, you cannot throw all these models on the table and have everyone respond (in a positive way). New concepts need to be introduced slowly, and as they alleviate pain points. I have seen many a PM fail as they come to an organization with a portfolio of templates. Templates, even, usually need to be customized. We are lucky in this field; all of our tools are malleable. That is, unless you are using something like Rational, in which case you can find malleability within a gargantuan and robust legacy.

    In regard to 4. I wholeheartedly agree, but wonder how this relates to the first item on the list. Your scope will speak to your requirements, and then, vice versa. This is iterative: RIP, JAD, what have you.

    In regard to 5. This presupposes BRUF, to a degree, or at least some kind of system for documenting requirements traceability. Lots of places I have worked had MS Office as their PM tool suite (minus MS Project). You can do this with Excel (and I really like Excel for doing this), but it is time consuming and might not always be required -particularly if you are in an Agile or XP environment. The key here, I think, is in managing traceability and not breaking the thread.

    In regard to 6. I like this one.
    In regard to 7. There is not always time for this. At the end of each timebox or build, or at each checkpoint or milestone, there is often a sense of urgency. That is one of the reasons to implement an iterative development cycle; it keeps everyone from becoming complacent.

    Read more about Sofware Engineering

    Monday, July 17, 2017

    July 17, 2017

    Differences between Product and Software Development Life Cycle

    I wish I have had more time to write. I have been busy with work, but it is almost equally important that I keep this thing current. At least, until the bills come.

    I have been working with Kanban and “safe” projects: project that I can estimate without difficulty based on past experience. With Scrum, it is a bit easier to map out sprints and assign estimations to User Stories in order to give an estimate. Every CFO will want an estimate (or a QUOTE, really).

    The PLC and SDLC

    And this is what I want to point out in what amounts to a very poor excuse of a blog update: I am finding that Kanban works great for projects once the development process can begin, but until then, the board is not very useful. This may be obvious, but really, I like to start at the very beginning for every effort and I have found that even my swimlanes are changing based on the Client. This winds up being a symptom of deliverables, as dictated by a contract or project plan. Yes, I still do project plans when I am asked to, which is usually. I stay high level, or as high as I can get away with to avoid making even hints at a promise I cannot keep, but I can bust out a GANTT chart if the situation calls for it and because people like them. In truth, it never hurts to have a big picture view on the wall, however much it changes. It is almost like a snapshot of the initial vision. Well, it is.

    Agile is a philosophy and not an SDLC or a PLC

    Since Agile is a philosophy and not an SDLC or a PLC, kanban fits nicely into an agile SDLC. Scrum extends a bit more into the PLC realm because of the structure and collaboration, scheduling, and metrics that it affords.

    Again, I am finding that having a full toolbox is not as important as knowing what tools to use. Estimates will come from experience, and not the kanban board. They will come from whatever formula you have leveraged against the scope of work you are looking at.

    Kanban aims to keep things moving and remove restrictions associated with sprints. It seems to do this well, but it also requires, in some cases, a little bee buzzing around and keeping an overall eye on things. Project Managers, there is still a use for you. PMs who only manage budget and resources as though a project is made of lego parts are not getting the full picture. The project is a living, breathing, flowing thing that kanban fits quite nicely with.

    It is interesting to me that as “traditionalists” resisted agilie, some “agilists” are resisting kanban. Most of the time, these are not really agilists, but Scrum or XP practitioners. There is a big difference. A very important difference.

    When a kanban flow begins, it also creates metrics. Unlike other methodologies, there is *mostly* new information gathered with these metrics. I am reminded of good old PMI when I say that these metrics become inputs into future estimates. Still, kanban does not create estimates and does not demand them. It only allows processes to flow.

    Difference between sdlc and pdlc

    A PLC,  pdlc product development life cycle is not an SDLC, and Agility is not Scrum or Kanban or anything in particular. I find it at once interesting and horribly bothersome that as more and more people are focusing on agile methods, two schools are forming; there are those who think Agile deserves and has a place for a maturity model, and there are those who are making things more and more simple, less formal, and just DOING. We start learning how to DO when we are young. Somehow, DOING got us to where we are. We did not predict every twist and turn, and few of us actually executed whatever plan we had in mind when we were in our early teens or even early college years. This is brilliant, and this is the way life works. Why should building software be any different? With Lean development, we learn to not have too much on our plate and only take what we need. With Scrum we learn to work as a team and keep moving forward knowing that we dont know everything. With Kanban we learn to keep it moving and lean on each other, as though the team is a body where sometimes, yeah, you can scratch your leg with your foot if your hands are busy.

    I love simplicity. It tends to creep into my mind often that the more complicated something is, the further from a central truth it is. I like truth. I like few integration points. I like the fact that kanban seems to be very good at DOING, and that it can be wrapped in whatever presentation layer is required. I think it belongs in every IT Project Management and IT Team Lead’s toolbox. Right next to the “I don’t know but will find out” and amorphous hat. Top shelf stuff.

    I am not a fan of sticky notes, though. This is a problem. They lose their stick too quick. Remember Fruit Stripe gum? Tasted great for about 15 minutes and then you kind of just chewed it. I get about 15 minutes out of a sticky note. Might have a bad batch? This is a fairly new expedition for me, but looking back, I cannot say I have ever had luck with sticky notes. Maybe that it a metaphor unto itself. I am far too sleepy to attempt that dissection at this moment.

    Point is, kanban as an SDLC wrapped in a custom PLC seems optimal to me at this moment.

    Sunday, July 16, 2017

    July 16, 2017

    Story about using Window and other Operating Systems

    Let me first state that professionals do, in fact, use Windows. That’s just a catchy title. Or rather, a controversial, flame inducing title. But people that use their computers at home and techs that repair PCs with Windows will tell you that everyone uses Windows. Very not true. Home users needing something for internet and E-mail and word processing use Windows. And sure, maybe it’s 90% of the market. But we professionals are a little different. We need something more. We have specialized tasks that Windows may not be best suited for.

    Compare the rate of using Window and Other Operating Systems

    My inspiration for writing this was an experience I had at Best Buy. I was looking to purchase a USB wireless network adapter for an older Macintosh still running 10.2.  The gentleman helping me proceeded to tell me that everyone hates Macs and nothing is compatible with them. I laughed and shrugged and said I liked them. As we spoke more, he asked me why I liked Macs. I shrugged again and said modestly, “Well, I’m an IT guy so I use it for a lot of things and so it’s kind of technical…” He said, “Oh no, go ahead…” I explained to him all the rich features of OS X and told him some of the applications I run and how much better it is on the Mac. He wasn’t all too familiar with what I was talking about, but nodded and conceded his unfamiliarity with that stuff. Later that day, I thought more about it and I speculated what he was probably using his computer for. And of course, I came up with gaming, internet, E-mail, word processing, and some media apps.

    Purchasing a PC at Best Buy

    Now you take a look at the workstations from IBM, Sun, Novell, and Apple and none of them run Windows. But let’s also take HP as an example. They sell Windows PCs from HP at Best Buy. What they don’t sell at Best Buy from HP is their workstations running Tru64, HP-UX, OpenVMS, and Linux.

    Scientists, graphic designers, architects… are they committed Windows users? A lot of them are needing some serious workstations that are good for people doing CAD/CAM, GIS, high performance technical visualization and defense application.

    And this isn’t just the case for workstations. In the world of servers, super computers, and mainframes Windows is not king. When people need to do serious work, they do not necessarily rely on Windows.

    Operating System with MAC

    I’ve found the only people telling me how Windows is better are PC technicians. Ones that spend most of their time piecing together PCs and formatting them to reinstall Windows in their professional life, and most of their time gaming and downloading pirated software from torrents in their personal life. Now, once again, professionals do use Windows. But professionals disproportionately use other operating systems.

    Top 500 Super ComputersLet’s look at some numbers. I’ll start with financial figures I grabbed from Wikipedia. Microsoft’s revenue from 2007 was $51.12 billion. Let’s compare that with Sun, Apple, Novell, and IBM. Sun had revenue of $13.873 billion in fiscal year of 2007. Apple was $24.01 billion. Novell was $1.2 billion from 2005. And IBM is listed as having revenue of $98.8 billion during the 2007 to 2008 fiscal year. Now of course, this doesn’t say much about Windows verses other operating systems. These companies sell a lot more than operating systems. But I think it’s food for thought, taken with a grain of salt, when considering these competitors sell operating systems other than Windows, and they’re doing quite well.

    So let’s now look at some figures for Windows usage.

    How about servers? Let’s look at web servers. (I’m going to make an assumption here and not bother doing the research. I’m going to assume that most computers running Apache are not running Windows. After all, why spend all that money on Windows with IIS, just to install Apache?) Currently, about 60% of the internet is Apache and only about 30% is IIS. Well below the oft quoted 90% of average users that use Windows.

    Of the top 500 super computers as of November of 2007, only 6 were running Windows. (Windows Compute Cluster Server 2003.) Linux is at the top of the list with 381 super computers using it. Redhat beats out Windows with 13. Mac OS X is even being run on 2 super computers. IBM’s AIX is running on 26 of them.

    Ultimately, what I think I’m trying to get at is Microsoft with Windows does not control the world.

    Saturday, July 15, 2017

    July 15, 2017

    Why we exist in this information technology world?

    Some companies consulting in the software space exist because they say they want to optimize the value of software as a general idea. They want to fine tune methodologies or products. Some want to sell you their product which is, of course, the best. Some have the answer for you before they even know what the problem is. Some say they want to help you make your vision a reality.

    We exist for a different reason. We have done those things as team members. We started this company with a purpose.

    Exist in the world of information technology

    We were started by an individual who had the misfortune of working for several small, highly profitable, yet sleazy development firms. That may be a bit harsh in some cases. Some had a very finely tuned approach to their tricks. Ambiguous Statement of Work that required Scope Change Orders just to make a line item mean something tangible. Some firms were just sloppy, and cost the Client more money because improper or no testing was done, discovery was an afterthought, or the payments were scheduled so that after the spec was done, it did not matter if the Client left because a big chunk of money was due.

    In all cases, the Client paid for what they, in reality, should have been able to trust their vendor to manage for them. You trust your Dentist to put sharp things in your mouth and you trust your portfolio manager to make the right decisions. You even trust your mailperson to not steal checks. Somehow, the world of software consulting has not adopted trust. Part of the reason is that we are building ideas, but I do not accept that as valid.

    Our founder grew up in a household with a family business. Construction. Dirty, oily, bleeding fingers and frozen toes were normal. We laughed about it and kept working when really, a “smart” person should have gone home – or so they say. What made that company successful was not that they made money on a deal as did the the aforementioned lucrative software firms but instead the fact that the owner of the company knew relationships are more important than deals. There is a human element in everything, because we are people (or most of us are…. I had this one boss I could see being from another planet…)

    Update to technocial revolution

    When that construction worker died in a motorcycle accident (my father), I received a gift. I got instructions as to what my life needed to amount to. I knew what I needed people to say at my funeral. I do not want to hear “he changed IT and revolutionized technology” (although, that would be nice) nearly as much as I want to hear Dad’s eulogy echoed: “His word was good, and those who were close to him had a friend, a partner, a confidante, and their lives were better off for it. If he shook your hand, it was as good as a Presidential decree. His family came first and to support that family, he relied on hard work, honesty, and perseverance. He was an honest and strong man who you could count on to be there for you, and the world will be worse without him. They do not make them like Greg anymore.”

    I am of that mold, and MiT Consultants exists to honor Gregory Milane as well as the heartbeat of your organization. With every move we make, Dad comes with us. For you, that means you get two generations of old school values coupled with cutting edge technology,  an almost insatiable need to be the best, and a purpose: help people who need help and add value wherever you can. Be a good man and represent something honorable. You get traditional values and strength of character along with a love of the emerging technologies.

    We have existed for a long time. We are more than a company. We are the heart and soul of my hero. If we let you down, I let him down. That is not going to happen.

    I know all the tricks and loopholes, risks and stumbling points. These will come your way as you embark upon your project. We can help guide you and protect you and truly be your technology partner. We take that idea to heart, to bed at night, and on vacation.

    Get in touch. Say hello. We are looking forward to hearing from you.

    Best Regards,

    Josh Milane