Wednesday, March 21, 2012

Lean Primer - Summary and Review

Lean Primer by Craig Larman and Bas Vodde


This article describes "lean thinking" and the "Toyota Way".  Lean thinking is a proven system that applies product development and production used by Toyota and other companies.


The best way to describe lean thinking is to view the following graphic:


The foundation of the house is management and its long term philosophy.  The "pillars" are two important priorities for Toyota, being "Respect for People" and "Continuous Improvement".  The "heart" is a combination of Product Development and the 14 Principles.  And finally on the top is the roof which represents the successes of this process.


The author sees "lean" as a broad system that spans all groups and functions of a company.  Everything from product development, sales, production, IT and HR.   The chairman of Toyota believes that these tools must be practiced consistently and used every day in order to be effective.


I think this type of lean thinking can be extremely effective if implemented correctly but I feel this implementation would be very difficult.


It feels very rigid to me and doesn't allow for flexibility in thought, management style, skill set or philosophy.  An organization would have to be very strict and rigid in its rules and regulations for this type of "lean" thinking to work.  If it does work however, I think it can be very successful because every part of the organization is working for the same goals and end results.

What is BPM? A Summary and Review

Summary of the Article, What is Business Process Management by Michael Hammer


Michael Hammer writes, "Business Process Management (BPM) is a comprehensive system for managing and transforming organizational operations, based on what is arguably the first set of new ideas about organizational performance since the Industrial Revolution."


1.  Origins of BPM
Two primary schools of thought led to today's BPM systems.  First is the work of Shewhart and Deming on statistical process control which led to today's more sophisticated Six Sigma.  These systems rely on the use of performance metrics to determine whether work is performed satisfactorily or not, reliant on hard data rather than opinion.  Limitations for this process include, its definition of a process leads to an organization to have hundreds of processes that may or may not have significance to the enterprise as a whole, yet all have to be measured and evaluated.


Another school of thought was the authors, Michael Hammer called Reengineering.  Reengineering redefined process as being end to end work across an enterprise that creates customer value and focusing only on the meaningful processes.


2.  The Process Management Cycle
Over the last decade, these to processes have merged to give us Business Process Management.




The diagram above shows the process management cycle beginning at the bottom.


Failure of the process can lie in the failure of the design and/or execution.  Once the root of the problem is found, it is easy to fix.


The process is built on the premise that through deliberate management of the end to end process, customer value is created.  BPM is customer-centered.  Customer, results and process for a triangle that organizations should give attention to.


3.  The Payoffs of Process Management
Enterprise benefits from consistency, cost, speed, quality and service which in turn improves customer satisfaction.
Recent Examples of companies that have benefited from BPM include:
-Consumer goods manufacturers who were able to reduce inventory by 25% yet 'out of stock' situations declined by 50%
-Computer maker reduced time to market by 75%, development costs by 45% and increased customer satisfaction by 25%.


4.  Enablers of the Process
Companies need to have 5 critical enablers in place in order for BPM to work effectively
     1.  Process design
     2.  Process metrics - targets need to be set and performance measured
     3.  Process Performers - people with certain skill sets
     4.  Process Infrastructure - HR and IT departments that work together
     5.  Process Owner - senior managers with authority to make sure processes are carried out throughout the organization.


5.  Organizational Capabilities
Four critical capabilities are needed to ensure success with the processes.
     1.  Leadership - passionate senior leadership to support efforts.
     2.  Culture - the culture of an organization should support the process by people at all levels will be involved.
     3.  Governance - process owners, executive leaders and other senior managers.
     4.  Expertise - companies need people with expertise in process design and implementation


6.  The Principles of Process Management
     1.  All work is NOT all process work - there must be a balance between development process and creativity.  Processes should not be misinterpreted as routinization or automation.
     2.  Any process is NOT better than no process - a process must be well defined.
     3.  A good process is better than a bad process - a bad process must be replaced
     4.  One process version is better than many - standardization across enterprise can allow companies to give better support services and allows redeployment of staff to other parts of of the business.
     5.  Even a good process must be performed effectively 
     6.  Even a good process can be made better
     7.  Every good process eventually becomes a bad process - no process can stay effective forever and will need to be replaced.


7.  The EPM as a Management Tool and BPMS
EPM is Enterprise Process Model and it is a graphical representation of an enterprise's process.






The graphic above is an example of an Enterprise Process Model


8.  Frontiers of BPM
Despite its widespread adoption, BPM is still in its infancy.  Challenges for the future include:  Management structure and responsibility, IT support, Interenterprise process, Standards, Process and Strategy and Industry Structure.


There is much work to be done in the area of BPM but it is definitely "the wave of the present and we are in the Age of Process."


Review by Farah:
I think Hammer is a leader in his field and his analysis made so much sense to me.  


I think the biggest hurdle in the broad acceptance and implementation of BPM will be finding enough qualified people throughout an organization to get across the board buy in:  Having senior executives who are willing to implement and monitor such a process and having skilled IT and HR people willing to work with such a process.


I am a huge believer in proper training and implementation.  I have seen so many great projects, great ideas and processes put into place,  then very poor training and lack of documentation occurs, the ball is dropped and the project never really works as intended.  Members of an organization must have on going training at every level and people should be in place to tweak, retweak and make sure the process is implemented effectively on an ongoing basis.





Wednesday, January 18, 2012

Textbook VS SWEBOK

Our text book, Systems Analysis and Design in a changing world by Satzinger, Jackson and Burd, outlines 6  core processes of systems development while SWEBOK, the Softwae Engineering Body of Knowledge, uses 10 knowledge areas to describe systems development.


SA&DSWEBOK
ID problem/need and obtain approval to proceedSoftware Requirements - A property that must be exhibited in order to solve some real-world problems
Plan and monitor projectSoftware Design -The process of defining the characteristics of system and the result of that process
 
Discover and understand details of the problem/needSoftware construction - Detailed creation of the actual software.
Design the system components that solve the problemSoftware Testing - The dynamic verification of the behavior of a program against its expected behavior.
Build, test and integrate system componentsSoftware Maintenance
Complete tests and deploySoftware Configuration Management
 Software Engineering Process
 Software Engineering Tools and Methods
 Software Quality


SWEBOK appears to be a much more detailed approach to systems development than SA&D.  The areas that SWEBOK add are Software Maintenance, configuration management, engineering process, tools, methods and software quality.

The SA&D method seems to focus a little bit more on planning of design while the SWEBOK method has more focus on maintenance, customization and improvements after the deployment.

SA&D might be assuming the maintenance and further improvements will be part of the design or they hand over that portion to the client or 3rd party.

I think over all both have extremely valuable and important steps and that both process should be kept in mind when designing a system.

Monday, January 16, 2012

Silver Bullet?

According to Frederick Brooks, Jr. from the University of North Carolina at Chapel Hill, "There is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity."

There is no silver bullet to make the "perfect information system".

I think a combination of the following could definitely contribute to better, more productive, more reliable and simpler software systems:

1.  Using open source software - with the rapid changes in hardware and operating systems, using programming software that is  not hardware or operating system dependant, can be a huge advantage in software usability.
2. Building software with a higher degree of customizability.  I really like the Dr. Brooks' idea of building software from the top down.  Start out with something large scale and simple and then slowly customize it down to the details needed by the customer/client.
3.  Computer programming should be taught at the high school level.  Students at a young age should be taught problem solving, concept mapping and early programming.  These skills at an early age can lead to great programmers and designers post secondary school.

Sunday, December 11, 2011

Basic Web Technology Stack

The following 6 posts will be describing these 6 key concepts of Internet Technology.


Web Services

Web service is a method of communication between two electronic devices over the web. Services are a workflow technique of information transfer of the internet.


I discussed web services in a previous blog post so this time I would just like to share a couple links to explain how there services fit in with Internet Technologies.







Two major classes of Web services are identified, REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources and "Big" Services that uses XML and follow SOAP standards that are popular in Enterprise.

Today, there is another type of webservice that we are seeing more and more of.  That is Web 2.0.  Web API or Web 2.0 includes the read/write web, blogs, wikis, podcast and cloud computing.  The use of web base "office" products (word processing, spreadsheets, etc) and the use of Web Servers like Amazon Web Services.

If you wanted to start a small company, you could potentially do the following:  Buy computers with good internet access and use all web based products.  You could store all of your data on a Web Server like Amazon Web Services without buying your own servers.  You could get all of your company email to go through a web based mail client like GMail.  You would not have to buy MS Office because you could use Google Docs or Zoho for all of your productivity needs.  And you could build your own company website on web based, template based product like Google Sites or Weebly.


Data

Databases are software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network (including the Internet). There several different companies who make database software with Microsoft's SQL server and Oracle being the most widely used.  These database products are aimed at different audiences and for different workloads (ranging from small applications that store and retrieve data on the same computer, to millions of users and computers that access huge amounts of data from the Internet at the same time).





Data includes email, web pages, audio files, video files, basically every single bit of information you see on a webpage is data that has to be stored somewhere.